Проблема з кодом
Сьогодні майже кожен AI agent framework просить вас писати код. Python, TypeScript чи будь-що інше — ви описуєте поведінку імперативно. Це означає:
- Не ревʼюїться. Неможливо швидко глянути на 200-рядковий Python-скрипт і зрозуміти, що робить агент.
- Не поширюється. Поділитися агентом означає поділитися деревом залежностей, 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 покриває решту.
Так і задумано. Конфіг — це продукт. Код — це платформа.