O modelo nunca executa nada sozinho. Ele pede uma chamada (nome da tool + args); o seu harness roda a função de verdade e devolve o resultado pro contexto. O modelo só lê texto e decide o próximo passo. O MCP é o protocolo padrão que expõe tools a qualquer agente compatível, tipo um padrão USB pra ferramentas de IA.
| Fase | O que acontece |
| Reason | decide o que fazer agora |
| Act | chama uma tool com args |
| Observe | lê o resultado e repete |
O loop do agente (pseudocódigo)
for {
step := llm.Decide(ctx) // reason
if step.Done {
return step.Answer
}
out := tools.Run(step.Tool, step.Args) // act
ctx = append(ctx, out) // observe: contexto cresce
}
Tool exposta via MCP
// o servidor MCP declara a tool;
// qualquer agente compatível pode usar.
{
"name": "run_query",
"description": "roda SQL read-only",
"input": { "sql": "string" }
}