O problema do código
Hoje quase todos os frameworks de agentes de IA pedem que escreva código. Python, TypeScript ou qualquer outra coisa: define comportamento de forma imperativa. Isso implica:
- Difícil de rever. Não consegue passar os olhos por um script Python de 200 linhas e saber o que o agente faz.
- Difícil de partilhar. Partilhar um agente costuma significar partilhar 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 corre igual no navegador ou num telemóvel.
- Difícil de auditar. Um diff entre duas versões não mostra claramente como o comportamento do agente mudou.
Por que TOML
Um ficheiro 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 recebe
- Revisável: Abra o ficheiro. Leia. Sabe exatamente o que o agente faz.
- Partilhável: Anexe o TOML a uma mensagem no Slack. E só isso.
- Portátil: A mesma config corre 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 o seu código. Fazer rollback é trivial.
O compromisso
Config-driven significa que não pode expressar lógica arbitrária. Se precisar de um algoritmo de routing personalizado ou uma tool específica, 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.