Почему конфиг, а не код

Философия QueryMT проста: ваш AI-агент должен быть файлом, а не программой.

Проблема с кодом

Сегодня почти любой AI agent framework просит вас писать код. Python, TypeScript или что угодно еще — вы описываете поведение императивно. Это означает:

  • Плохо ревьюится. Нельзя быстро взглянуть на Python-скрипт на 200 строк и сразу понять, что делает агент.
  • Плохо распространяется. Поделиться агентом часто значит передать дерево зависимостей, virtualenv и надежду, что все запустится.
  • Непортативно. Код привязан к runtime. LangChain-агент не будет одинаково работать в браузере или на телефоне.
  • Плохо аудируется. По diff двух версий агента трудно быстро понять, как изменилась его логика.

Почему TOML

TOML-файл — это декларация намерения. Он говорит, что должен делать агент, а не как. Framework берет часть how на себя.

# Это полноценный агент
[agent]
provider = "anthropic"
model = "claude-sonnet-4-5-20250929"
tools = ["shell", "knowledge_ingest", "knowledge_query"]

[agent.execution]
max_steps = 30

[[middleware]]
type = "limits"
max_turns = 15

Что вы получаете

  • Ревьюится: Откройте файл, прочитайте его и сразу поймите, что делает агент.
  • Распространяется: Прикрепите TOML к сообщению в Slack. И этого достаточно.
  • Портативно: Один и тот же конфиг работает в CLI, dashboard, VS Code, iOS и Android.
  • Аудируется: git diff точно показывает, что изменилось в поведении агента.
  • Версионируется: Конфиги живут в git рядом с вашим кодом. Rollback тривиален.

Компромисс

Config-driven подход означает, что вы не сможете выразить произвольную логику. Если нужен кастомный алгоритм маршрутизации или специальный инструмент, придется написать код на Rust и скомпилировать его во фреймворк. Система конфигов закрывает 90% сценариев использования. Rust API покрывает остальное.

Так и задумано. Конфиг — это продукт. Код — это платформа.