Você conectou seu agente ao Slack, Linear, GitHub e um Postgres interno. Quinze ferramentas, schemas JSON impecáveis, um prompt que diz "você é um assistente prestativo". Funciona lindamente em tarefas de duas etapas. No quinto passo ele pula um filtro, cita mal um campo ou queima 40k tokens relendo os mesmos schemas. Bem-vindo ao teto do tool-calling clássico 😹.

Eis o setup que ninguém te explica nas páginas de marketing. No tool-calling tradicional — o padrão que todo SDK embarcou entre 2024 e 2025 — um agente (um programa que envolve um modelo de linguagem e o equipa com ferramentas) despeja o JSON schema completo (descrição legível por máquina dos inputs de cada ferramenta) dentro da context window (a memória de trabalho do modelo) a cada turno. Quinze ferramentas com tipos ricos? São 5–10k tokens antes do modelo dizer bom dia. Aí ele escolhe uma ferramenta, preenche os argumentos, espera o resultado, e repete. Loops, condicionais, transformações de dados? Nenhum. O modelo finge isso encadeando dez chamadas separadas e rezando pra lembrar o que viu na chamada três.

As duas semanas que mudaram o default

Entre 14 e 15 de abril de 2026, três vendors lançaram o mesmo padrão e aposentaram silenciosamente o antigo.

Em 15 de abril de 2026, a OpenAI anunciou a próxima evolução do Agents SDK, chegando como v0.14.0 "Sandbox Agents" (com hotfix pra v0.14.1 na mesma tarde, conforme a página de release no GitHub). Os destaques: code mode, sandboxing, sub-agentes, um harness de longo horizonte e suporte agnóstico a 100+ LLMs. A cobertura do TechCrunch enquadrou isso como a OpenAI correndo atrás de um padrão que Cloudflare e HuggingFace vinham benchmarkando havia seis meses.

Um dia antes, em 14 de abril de 2026, a Anthropic abriu o research preview do Claude Code Routines — configurações salvas do Claude Code que rodam como agentes autônomos persistentes na cloud da Anthropic, disparados por agendamento, webhook HTTP ou evento do GitHub. Mesma forma: as ferramentas são código que o agente importa, não JSON que ele regurgita.

Também em 14 de abril, a Cloudflare publicou "Scaling MCP adoption", a arquitetura de referência enterprise que deixou os números constrangedores. O benchmark deles: conectar 4 servidores MCP internos expondo 52 ferramentas. Tool-calling clássico queima ~9.400 tokens de contexto por turno. Code Mode via portal: ~600 tokens. Isso é 94% de redução, e — essa é a vitória de verdade — o custo permanece constante conforme você adiciona mais servidores 🙀.

O que o code mode faz de fato

Em vez de enfiar schemas no prompt, o runtime entrega ao modelo um módulo tipado. O modelo escreve um programinha curto. O sandbox executa. As ferramentas nunca entram na context window — só as assinaturas delas, e geralmente só aquelas que o modelo pediu via search().

from agents import Agent, CodeMode, Sandbox

agent = Agent(
    model="gpt-5.1",
    mode=CodeMode(runtime="python"),
    sandbox=Sandbox(backend="e2b"),  # ou docker, modal, runloop
    tools=[slack, linear, github, pg],  # funções tipadas comuns
)

agent.run(
    "Encontre todos os bugs P0 abertos essa semana no Linear, "
    "cruze com os PRs no GitHub, poste um resumo no #triage."
)

Nos bastidores, o modelo emite algo como:

bugs = linear.search(priority="P0", opened_after="2026-04-09")
prs  = {b.id: github.find_pr(ref=b.id) for b in bugs}
unmatched = [b for b in bugs if not prs[b.id]]
slack.post("#triage", render(bugs, unmatched))

Isso é um loop, um dict comprehension, um filtro e um condicional — numa única ida ao sandbox. A versão em tool-calling clássico são 12+ turnos e uma enxaqueca.

Os comprovantes

O framework smolagents da HuggingFace vem mostrando isso há meses: CodeAgent usa ~30% menos passos que o ToolCallingAgent em benchmarks multi-step, e smolagents + GPT-4o ficaram em #1 na validação do GAIA (44,2%). Números de abril da Cloudflare: ~32% menos tokens em tarefas simples, ~81% em cadeias complexas, segundo a análise do WorkOS. A frase canônica, de Kenton Varda e Sunil Pai da Cloudflare, continua valendo: "LLMs são melhores em escrever código pra chamar MCP do que em chamar MCP diretamente."

Quanto isso te custa

Isso não sai de graça 😾. Code mode precisa de um sandbox de verdade — Docker, E2B, Modal, Runloop, Daytona, ou o harness nativo da OpenAI — porque agora você está rodando código autoral do modelo na sua infra. Pule o sandbox e você está a um prompt injection de um RCE. A maioria das ferramentas de observabilidade existentes assume traces em JSON e quebra com blobs opacos de código. Seu modelo de segurança muda de "validar argumentos" pra "conter execução arbitrária", o que é um processo de review diferente, um threat model diferente, e muitas vezes um time diferente. Pra tarefas single-shot, uma única ferramenta — "pega o clima de Boston" — code mode só adiciona latência pra nada.

O que fazer na segunda-feira

Se você está começando um agente do zero em abril de 2026, adote code mode como default desde o dia um. Escolha um SDK que rode ferramentas dentro de um runtime com sandbox, escreva suas ferramentas como funções Python ou TypeScript tipadas e pare de fabricar JSON schemas na mão. Se você tem um agente em produção no tool-calling clássico e ele funciona, não entre em pânico migrando — mas toda vez que você for adicionar a ferramenta número dezesseis, faça a conta dos tokens.

O veredito

Tool-calling não morreu pra chamadas single-step 🐈. Mas pra qualquer agente que encadeia mais de duas ações, a indústria acabou de decidir — no intervalo de 48 horas entre 14 e 15 de abril de 2026 — que a língua nativa do agente é código, não JSON. Se você não estava prestando atenção, a stack mudou debaixo dos seus pés 😼.