O problema do código
Hoje quase todos os frameworks de agentes de IA pedem que você escreva código. Python, TypeScript ou qualquer outra coisa: você define comportamento de forma imperativa. Isso implica:
- Difícil de revisar. Você não consegue bater o olho em um script Python de 200 linhas e saber o que o agente faz.
- Difícil de compartilhar. Compartilhar um agente costuma significar compartilhar uma árvore de dependências, um virtualenv e esperança.
- Pouco portátil. O código depende de um runtime. Um agente LangChain não roda igual no navegador ou em um telefone.
- Difícil de auditar. Um diff entre duas versões não mostra claramente como o comportamento do agente mudou.
Por que TOML
Um arquivo TOML é uma declaração de intenção. Ele diz o que o agente deve fazer, não como. O framework cuida do como.
# Este é um agente completo [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
O que você recebe
- Revisável: Abra o arquivo. Leia. Você sabe exatamente o que o agente faz.
- Compartilhável: Anexe o TOML a uma mensagem no Slack. E só isso.
- Portátil: A mesma config roda na CLI, dashboard, VS Code, iOS e Android.
- Auditável:
git diffmostra exatamente o que mudou no comportamento do agente. - Versionável: As configs vivem no git junto com seu código. Fazer rollback é trivial.
O compromisso
Config-driven significa que você não pode expressar lógica arbitrária. Se precisar de um algoritmo de routing personalizado ou uma tool específica, você deve escrever Rust e compilá-la no framework. O sistema de config cobre 90% dos casos de uso. A API Rust cobre o restante.
É intencional. A config é o produto. O código é a plataforma.