Problema
Los agentes suelen coordinar herramientas como una conversación lenta: el modelo llama una función, recibe una respuesta extensa, vuelve a razonar, llama otra herramienta y añade otro bloque al contexto. Repite el ciclo hasta producir una respuesta.
Ese patrón es útil cuando cada resultado cambia el criterio. Es ineficiente cuando el trabajo consiste en consultar cien registros, filtrar, unir, deduplicar y devolver cinco filas.
En ese segundo caso, obligar al modelo a interpretar cada paso convierte una transformación predecible en una cadena cara de turnos. También llena el contexto con resultados intermedios que no deberían llegar a la respuesta final.
GPT-5.6 introduce otra ruta: que el modelo escriba un pequeño programa para coordinar herramientas y reducir sus resultados antes de continuar.
Tesis
Programmatic Tool Calling no convierte al código en sustituto del razonamiento. Lo convierte en una capa de control para las partes del workflow que ya deberían ser deterministas.
El modelo decide qué programa necesita. El programa ejecuta paralelismo, bucles, condiciones y agregaciones. La aplicación conserva la autorización sobre las herramientas y ejecuta las funciones que le pertenecen.
La frontera sana es clara: código para procesar; modelo para juzgar; aplicación para autorizar.
Framework
Divide el workflow por forma de tarea:
- Directa: una llamada, juicio semántico, búsqueda adaptativa, preservación de citas, artefactos nativos o acciones que requieren aprobación.
- Programática: varias llamadas con flujo predecible que pueden filtrarse, unirse, ordenarse, agregarse o validarse mediante código.
- Híbrida: una etapa programática reduce datos y una llamada directa interpreta el resultado o solicita aprobación.
La guía oficial describe un runtime V8 fresco y aislado. El JavaScript generado admite await, pero no tiene Node.js, instalación de paquetes, red directa, filesystem general ni estado persistente entre ejecuciones. Sólo puede tocar sistemas externos mediante las herramientas habilitadas en la petición.
Eso no es una limitación accidental. Es el perímetro de seguridad.
Por que importa ahora
Programmatic Tool Calling llega con GPT-5.6 en Responses API. La aplicación añade la herramienta alojada y define, mediante allowed_callers, qué funciones pueden invocarse directamente, desde un programa o por ambas rutas. Cuando la salida es estructurada, output_schema documenta los campos que el código puede usar.
La ganancia potencial es concreta: ejecutar llamadas independientes en paralelo, procesar outputs grandes dentro del runtime y devolver un resultado mucho menor al modelo. Pero OpenAI insiste en que varias llamadas no justifican por sí solas la ruta programática.
Si cada resultado debe alterar la siguiente decisión, la llamada directa conserva mejor el juicio adaptativo. Si hay writes, pagos, borrados o aprobaciones, la ruta directa mantiene una frontera de autorización más visible. En MCP, una herramienta puede además pausar el programa según su política de aprobación.
El cambio importante no es “el agente sabe JavaScript”. Es que la orquestación deja de estar enterrada por completo en una secuencia opaca de turnos y puede expresarse como un programa acotado, con input, output, límites y evidencia.
Anti-ejemplo
“Activa Programmatic Tool Calling para todas las herramientas; así usará menos tokens.”
El agente recibe acceso programático a consultar inventario, cambiar precios, emitir reembolsos y publicar. Un retry repite una acción no idempotente. El programa devuelve un total correcto, pero pierde las citas que dirección necesitaba revisar. El ahorro de contexto compra una superficie de side effects más difícil de auditar.
La eficiencia no compensa una frontera de aprobación rota.
Protocolo (3 pasos)
- Aísla una etapa acotada. Elige un bloque con inputs conocidos, transformación predecible y condición de parada explícita.
- Diseña el contrato. Define herramientas permitidas, schemas de entrada y salida, evidencia, idempotencia, retries y fallo estructurado.
- Compara las dos rutas. Ejecuta casos representativos con llamadas directas y programáticas; acepta el cambio sólo si mantiene calidad y seguridad.
| Decisión | Programática | Directa |
|---|---|---|
| filtrar y agregar 100 resultados | sí | innecesaria |
| decidir qué buscar después | no | sí |
| preparar propuesta de write | posible | revisión final |
| ejecutar acción sensible | no por defecto | aprobación explícita |
| conservar citas nativas | sólo si se valida | preferida |
Relacionado
- Tool Registry: el nuevo mapa de riesgos de los agentes enterprise
- Human as Tool: diseñar supervisión invocable para agentes
- Output Verification Layer: el seguro invisible de los agentes en producción
Fuentes consultadas
Proximo paso
Busca un agente que hoy haga tres o más llamadas para filtrar o combinar datos. Dibuja qué parte es cálculo predecible y qué parte exige juicio. Programa sólo la primera y conserva la segunda como decisión visible.