Conectaste tu agente a Slack, Linear, GitHub y un Postgres interno. Quince herramientas, esquemas JSON limpios, un prompt que dice "eres un asistente útil". Funciona hermoso en tareas de dos pasos. En el quinto paso se salta un filtro, cita mal un campo o quema 40k tokens releyendo los mismos esquemas. Bienvenido al techo del tool-calling clásico 😹.
Aquí va la parte que nadie te explica en las páginas de marketing. En el tool-calling tradicional — el patrón que cada SDK embarcó durante 2024–2025 — un agente (un programa que envuelve a un modelo de lenguaje grande y le da herramientas) vuelca el JSON schema completo (una descripción legible por máquina de los inputs de cada herramienta) dentro de la ventana de contexto (la memoria de trabajo del modelo) en cada turno. ¿Quince herramientas con tipos ricos? Son 5–10k tokens antes de que el modelo diga hola. El modelo entonces elige una herramienta, rellena sus argumentos, espera un resultado, y lo hace otra vez. ¿Loops, condicionales, transformaciones de datos? Ninguno. El modelo los finge encadenando diez llamadas separadas y rezando para acordarse de lo que vio en la llamada tres.
Las dos semanas que movieron el default
Entre el 14 y el 15 de abril de 2026, tres vendors embarcaron el mismo patrón y retiraron calladitos el viejo.
El 15 de abril de 2026, OpenAI anunció la siguiente evolución del Agents SDK, aterrizando como v0.14.0 "Sandbox Agents" (con hotfix a v0.14.1 esa misma tarde según la página de releases en GitHub). Los features estelares: code mode, sandboxing, sub-agentes, un harness de horizonte largo, y soporte agnóstico de proveedor para 100+ LLMs. La cobertura de TechCrunch lo planteó como OpenAI poniéndose al día con un patrón que Cloudflare y HuggingFace llevaban seis meses benchmarkeando.
Un día antes, el 14 de abril de 2026, Anthropic abrió el research preview de Claude Code Routines — configuraciones guardadas de Claude Code que corren como agentes autónomos persistentes en la nube de Anthropic, disparados por schedule, webhook HTTP o evento de GitHub. Misma forma: las herramientas son código que el agente importa, no JSON que regurgita.
También el 14 de abril, Cloudflare publicó "Scaling MCP adoption", la arquitectura de referencia enterprise que puso los números en vergüenza. Su benchmark: conectar 4 servidores MCP internos exponiendo 52 herramientas. El tool-calling clásico quema ~9,400 tokens de contexto por turno. Code Mode vía portal: ~600 tokens. Eso es una reducción del 94%, y — esta es la verdadera victoria — el costo se queda plano a medida que agregas más servidores 🙀.
Qué hace realmente el code mode
En vez de meter esquemas a empujones en el prompt, el runtime le entrega al modelo un módulo tipado. El modelo escribe un programa corto. El sandbox lo corre. Las herramientas jamás entran a la ventana de contexto — solo sus firmas, y muchas veces apenas las que el modelo pidió con search().
from agents import Agent, CodeMode, Sandbox
agent = Agent(
model="gpt-5.1",
mode=CodeMode(runtime="python"),
sandbox=Sandbox(backend="e2b"), # o docker, modal, runloop
tools=[slack, linear, github, pg], # funciones tipadas y punto
)
agent.run(
"Encuentra cada bug P0 abierto esta semana en Linear, "
"cruza contra PRs de GitHub, postea un resumen a #triage."
)
Por debajo, el modelo emite algo así:
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))
Eso es un loop, un dict comprehension, un filtro y un condicional — en un solo round-trip al sandbox. La versión en tool-calling clásico son 12+ turnos y una migraña.
Los recibos
El framework smolagents de HuggingFace lleva meses demostrándolo: CodeAgent usa ~30% menos pasos que ToolCallingAgent en benchmarks multi-step, y smolagents + GPT-4o se sentó en el #1 de GAIA validation (44.2%). Los números de abril de Cloudflare: ~32% menos tokens en tareas simples, ~81% en cadenas complejas, según el análisis de WorkOS. La frase canónica, de Kenton Varda y Sunil Pai de Cloudflare, sigue vigente: "Los LLMs son mejores escribiendo código para llamar a MCP, que llamando a MCP directamente."
Lo que te cuesta
Esto no sale gratis 😾. El code mode necesita un sandbox de verdad — Docker, E2B, Modal, Runloop, Daytona o el harness incorporado de OpenAI — porque ahora estás corriendo código escrito por el modelo en tu infraestructura. Sáltate el sandbox y estás a un prompt injection de distancia de un RCE. La mayoría de las herramientas de observabilidad existentes asumen trazas en JSON y se quiebran con blobs de código opacos. Tu modelo de seguridad se mueve de "validar argumentos" a "contener ejecución arbitraria", que es un proceso de review distinto, un modelo de amenazas distinto, y muchas veces un equipo distinto. Para tareas one-shot de una sola herramienta — "dame el clima de Boston" — el code mode agrega latencia para nada.
Qué hacer el lunes
Si estás greenfielding un agente en abril de 2026, el default es code mode desde el día uno. Elige un SDK que corra herramientas dentro de un runtime sandboxeado, escribe tus tools como funciones Python o TypeScript tipadas y planas, y deja de escribir JSON schemas a mano. Si tienes un agente en producción con tool-calling clásico y funciona, no migres en pánico — pero cada vez que agregues la herramienta número dieciséis, haz las matemáticas de tokens.
El veredicto
El tool-calling no está muerto para llamadas de un solo paso 🐈. Pero para cualquier agente que encadene más de dos acciones, la industria acaba de decidir — en el lapso de 48 horas entre el 14 y el 15 de abril de 2026 — que el idioma nativo del agente es código, no JSON. Si no estabas mirando, el stack se movió debajo de ti 😼.





