Si has leído entradas anteriores de esta serie — la evolución de JSON Schema, Function Calling y MCP, Structured Output en la práctica, flujo de datos JSON en la cadena de llamadas del Agent — un patrón destaca: tanto el proveedor del modelo como la capa de protocolo, al describir «qué forma de datos intercambiar», la respuesta casi siempre es JSON Schema (o un subconjunto).
Eso plantea una pregunta natural: ¿se convertirá JSON Schema en el «Contract» estándar de los AI Agents — el lenguaje de handshake por defecto entre equipos, IDEs y proveedores cloud, como OpenAPI para REST o Protobuf para gRPC?
Partiendo de lo que «Contract» significa realmente, este artículo mapea la adopción en 2026, las brechas restantes y las decisiones de ingeniería. Spoiler: JSON Schema ya es el estándar de facto para los límites de E/S de Agent, pero no la única capa de contrato — transporte, autenticación y orquestación siguen perteneciendo a MCP, OpenAPI y Agent SDKs.
Qué significa «Contract» para los Agents
En ingeniería de software, un contrato especifica la forma, semántica y manejo de errores de los datos intercambiados. Los AI Agents son más difíciles que las APIs ordinarias porque el «llamador» incluye un modelo grande no determinista que puede omitir campos, inventar parámetros o derivar entre lenguaje natural y salida estructurada.
Así, la pila de Agent tiene múltiples capas de contrato; JSON Schema cubre principalmente la forma del payload:
| Capa | Alcance del contrato | Tecnología típica |
|---|---|---|
| Model ↔ Host | Lista de herramientas, args de tool_calls, respuestas estructuradas | JSON Schema (parameters / response_format) |
| Host ↔ Tool provider | Descubrimiento de herramientas, invocación, resultados | MCP (inputSchema es JSON Schema), wrappers OpenAPI |
| Host ↔ Business systems | Pedidos, tickets, aprobaciones | JSON Schema + validación de dominio |
| Agent ↔ Agent | Delegación de tareas, colaboración multi-Agent | Protocolos emergentes (A2A, etc.) + Schema para cuerpos de mensajes |
| Transport & auth | Quién puede llamar qué, flujo de credenciales | OAuth, mTLS, negociación de capacidades MCP (no es trabajo de Schema) |
Decir «JSON Schema se convierte en el Contract estándar» en la práctica significa: donde modelos y programas — o programas y herramientas — intercambian JSON estructurado, JSON Schema es la descripción por defecto. Cómo conectar y quién está autorizado es la capa superior.
Tres frentes que JSON Schema ya domina
1. Parámetros de Tool / Function Calling
Las APIs de Tools de OpenAI, Google Gemini y Anthropic Claude usan JSON Schema para parameters (o equivalente). El modelo lee description para la semántica; el Host valida arguments con el mismo Schema antes de la ejecución — coincidiendo con la cadena que desglosamos en el artículo de flujo de datos.
{
"name": "create_ticket",
"description": "Create a record in the ticketing system",
"parameters": {
"type": "object",
"properties": {
"title": { "type": "string", "description": "Ticket title" },
"priority": { "type": "string", "enum": ["low", "medium", "high"] }
},
"required": ["title"],
"additionalProperties": false
}
}
2. Structured Output (respuesta final del modelo)
Cuando el negocio necesita JSON en lugar de lenguaje natural, los modos Structured Output / JSON Schema de los vendors restringen tokens en tiempo de decodificación. Consulta la guía de Structured Output; para Gemini, el tutorial de JSON estructurado.
3. MCP Tool inputSchema
La especificación MCP exige que cada Tool exponga inputSchema como JSON Schema. Cuando Cursor, Claude Desktop y otros Hosts mapean herramientas MCP a Function Calling del modelo, Schema se pasa directamente o con un subconjunto ligero — la base de «escribir Schema una vez, reutilizar en IDE y modelos cloud».
Estos tres frentes cubren casi todos los límites JSON estructurados en el ciclo de vida del Agent — evidencia central de la tesis del «Contract» estándar.
Alternativas y competidores
| Enfoque | Fortalezas | Rol en pilas Agent |
|---|---|---|
| OpenAPI 3.x | Descripción HTTP completa, ecosistema maduro, codegen | Describe backends REST; los Agents consumen vía adaptadores MCP/OpenAPI-to-tools, no OpenAPI crudo en el modelo |
| Protobuf / gRPC | Tipado fuerte, rendimiento, stubs multi-lenguaje | RPC de microservicios internos; el lado LLM aún necesita vistas JSON o puentes JSON Schema |
| TypeScript + Zod / Pydantic | Gran DX, unificado con tipos de código | Validación en runtime del Host; a menudo exportado a contratos Agent vía zod-to-json-schema |
| Plantillas solo con Prompt | Cero dependencias, prototipos rápidos | No versionable ni fail-fast; raro solo en Agents de producción |
| DSLs privados de vendors | Pueden optimizar por modelo | Alto costo de migración; tendencia 2024–2026 converge en subconjuntos JSON Schema |
Insight clave: ningún formato sirve de forma óptima tanto «legible por modelos» como «RPC de alto rendimiento». JSON Schema gana el enlace modelo ↔ programa; OpenAPI y Protobuf mantienen sus dominios y se conectan vía capas de conversión.
Por qué JSON Schema está ganando
- Alineado con la distribución de entrenamiento LLM: JSON es abundante en pretraining; Schema
type,enumydescriptionactúan como hints de tipo suaves. - Legible por humanos y máquinas: PMs, backend y prompt engineers pueden revisar el mismo Schema — mejor para colaboración que Protobuf binario.
- Ecosistema de validación maduro: ajv, jsonschema (Python), built-ins de APIs cloud — aún se recomienda validación en segunda pasada tras Structured Output para semántica.
- Convergencia de vendors: 2023 tenía formatos de herramientas custom; 2024–2026 las docs de APIs mainstream estandarizan en subconjuntos JSON Schema para parámetros y respuestas.
- «Compatibilidad descendente» de MCP y OpenAPI: MCP eligió JSON Schema en lugar de un DSL nuevo; los componentes Schema de OpenAPI 3 se reutilizan directamente.
Lo que aún no está unificado
«Estándar de facto» ≠ «totalmente unificado». Los Agents de producción aún enfrentan:
- Dialectos Schema: OpenAI
strict: truees estricto enadditionalPropertiesy cobertura completa derequired; Gemini y Anthropic difieren en unions, profundidad de$ref, etc. Prueba Schema complejos contra APIs objetivo. - Versiones Draft: draft-07, 2019-09, 2020-12 coexisten;
$defsvsdefinitionsconfunde herramientas de codegen. - Sintaxis vs semántica: Schema garantiza «priority existe y es string», no «priority=high cumple política SLA» — reglas de negocio necesitan código o extensiones como JSON Logic.
- Payloads no-JSON: imágenes, audio, URIs de archivos — Schema envuelve metadatos, no contratos de almacenamiento de blobs.
- Orquestación y estado: Agents multi-paso, human-in-the-loop, delegación sub-Agent — JSON Schema no describe máquinas de estado; LangGraph, Temporal, etc. tienen sus propios DSLs.
Esperar «un Schema para gobernar toda la pila Agent» es poco realista; esperar «todos los límites JSON estructurados usan Schema por defecto» ya es en gran medida cierto.
Señales del ecosistema 2026
| Señal | Significado |
|---|---|
| Explosión de MCP Server + registros | Autores de herramientas publican inputSchema a escala — Schema se convierte en «tarjetas de visita» compartibles de herramientas |
| Structured Output GA en cloud | «Poner formato JSON en el prompt» cede a restricciones Schema a nivel API |
| Registros Schema de Agent SDK | LangChain, Vercel AI SDK, etc. exportan herramientas + response schema desde Zod/Pydantic |
| Gobernanza Schema empresarial | Equipos grandes tratan Schema de herramientas Agent como OpenAPI — Git, validación CI, revisión de cambios |
| Protocolos A2A / multi-Agent emergentes | Sobres definidos por protocolo; payloads siguen siendo JSON + Schema |
Si evalúas deuda técnica: invertir en habilidades y herramientas JSON Schema ahora es más seguro que apilar prompts sobre formatos JSON privados — incluso un futuro perfil «Agent Schema 2027» probablemente será un superconjunto o subconjunto JSON Schema, no un lenguaje nuevo.
¿Se convertirá en el «único» estándar?
Respuesta en dos niveles:
Sí (alta confianza) — como Contract por defecto para E/S estructurada de Agent: parámetros de herramientas, Structured Output, MCP inputSchema, cuerpos request/response OpenAPI. Nuevas herramientas y APIs de modelos sin descripciones JSON Schema se sienten incompletas.
No (igualmente importante) — como contrato Agent full-stack único: transporte (stdio/SSE/HTTP), auth, descubrimiento de herramientas, orquestación multi-Agent, SLA y cuotas quedan con MCP, OpenAPI y política de plataforma. JSON Schema es la «capa de tipos», no la capa de «red» o «gobernanza».
┌──────────────────────────────────────────────────┐
│ Governance / auth / audit (OAuth, RBAC, logs) │
├──────────────────────────────────────────────────┤
│ Orchestration / state (Agent frameworks, flows) │
├──────────────────────────────────────────────────┤
│ Connection / discovery (MCP, OpenAPI, gRPC GW) │
├──────────────────────────────────────────────────┤
│ ★ JSON Schema: tool args · output · payloads ★ │
├──────────────────────────────────────────────────┤
│ Executors (HTTP, DB, files, browser automation) │
└──────────────────────────────────────────────────┘
Recomendaciones prácticas
- Única fuente Schema: define modelos de dominio en Pydantic / Zod, genera JSON Schema para OpenAI, MCP y docs — evita tres definiciones que derivan.
- Subconjunto por API objetivo: mantén «Schema compatible» para OpenAI strict, Gemini, etc., o detecta keywords no soportados en CI.
- Trata description como Prompt:
descriptionprovoca fallos; revísalo como el naming de campos. - Structured Output + re-validación en servidor: la decodificación reduce errores de sintaxis; reglas de negocio usan el mismo Schema + validadores custom.
- Versiona y changelog: cambio de Schema = cambio breaking de API; fija versiones Schema o mantén compatibilidad hacia atrás.
- Valida localmente primero: JSON Toolbox para sintaxis schema y payloads de ejemplo antes de integración.
FAQ
¿Cómo se relacionan JSON Schema y OpenAPI en pilas Agent?
OpenAPI describe contratos REST HTTP completos (paths, métodos, auth); JSON Schema aparece a menudo como componentes OpenAPI para cuerpos request/response. Tool Calling de Agent y MCP consumen subconjuntos JSON Schema directamente; servicios REST siguen usando OpenAPI y pueden exponerse a Agents vía MCP Servers o adaptadores.
¿El soporte JSON Schema de vendors es idéntico?
No. OpenAI strict mode, Gemini responseJsonSchema, Anthropic y otros soportan subconjuntos JSON Schema con diferente soporte para $ref, oneOf, additionalProperties, etc. Prueba compatibilidad contra tu API objetivo y evita schemas demasiado complejos en producción.
¿Puede TypeScript / Zod reemplazar JSON Schema?
Dentro de un Host TypeScript, Zod es mejor para validación en runtime e inferencia de tipos; APIs de modelos y MCP aún requieren JSON Schema (o subconjuntos auto-convertidos). Patrón común: Zod → generación de código JSON Schema para que una fuente schema impulse tipos y contratos Agent.
¿Puede JSON Schema describir colaboración multi-Agent?
JSON Schema destaca en formas de datos de mensaje único o tool-call, no en orquestación multi-Agent, máquinas de estado de sesión o transporte. Protocolos como A2A y MCP definen descubrimiento, auth y sobres de mensajes por encima de Schema; Schema restringe la forma del payload.
¿Pueden funcionar Agents sin JSON Schema?
Sí — scripts pequeños y prototipos pueden depender de formatos JSON solo con prompt. Sin contratos verificables, fallos de parseo, deriva de campos y parámetros alucinados se amplifican a escala. Structured Output y parámetros de herramientas ahora usan Schema por defecto.
¿Cómo valido JSON Schema de Agent?
Usa JSON Toolbox en el navegador para validar sintaxis schema localmente y comparar argumentos de herramientas de ejemplo o salida del modelo — nada se sube.
Resumen y próximos pasos
JSON Schema se está convirtiendo en el Contract estándar para E/S estructurada de AI Agent — no una predicción, sino una vía trazada conjuntamente por OpenAI, Google, Anthropic, MCP y Agent SDKs mainstream. No reemplazará todo OpenAPI o Protobuf, pero para el handshake modelo ↔ programa, las alternativas tienen poco margen.
Siguiente: elige un camino de negocio real (p. ej. intención de usuario → extracción estructurada → API de tickets), impulsa Structured Output y parámetros de herramientas desde un JSON Schema, valida localmente en JSON Toolbox, luego conecta MCP. Orden sugerido de la serie: visión general de evolución → Structured Output → flujo de datos → este artículo (veredicto Contract).