- Una especificación abierta basada en el estándar OpenAPI que define un contrato claro entre los LLM y las API
- Organiza las llamadas a API como herramientas orientadas a objetivos para que los LLM puedan usarlas fácilmente
- Solo con la documentación OpenAPI existente, a los LLM les resultaba difícil seleccionar y llamar la API adecuada
- agents.json permite mantener determinista el proceso de llamadas a API, mientras que el resultado que el LLM busca lograr puede ejecutarse de forma no determinista
¿Por qué es necesario?
- Para usar un LLM, muchas veces hay que implementar manualmente la forma de integrarlo con una API
- Muchos desarrolladores terminan renunciando al comportamiento no determinista de los agentes e intentan obtener el resultado deseado mediante flujos de trabajo hardcodeados
- Con agents.json, el LLM puede comportarse de manera no determinista en el proceso para obtener el resultado deseado, mientras que las llamadas a API en sí pueden ejecutarse de forma determinista
- Las API existentes están diseñadas pensando en los desarrolladores, por lo que son difíciles de usar directamente para un LLM
- Ejemplo con la API de Gmail:
- Se necesita buscar correos, obtener la lista de correos de un hilo y responder a un correo específico
- Cuando el LLM consultaba directamente la documentación OpenAPI, muchas veces fallaba al elegir las llamadas a API adecuadas
- Con agents.json, las llamadas a API pueden predefinirse para ejecutarse en el orden correcto
Componentes de agents.json
- Archivo agents.json
- Su función es conectar entre sí llamadas a API para definir herramientas orientadas a resultados
- Se usa junto con el archivo OpenAPI existente
- SDK de agents.json
- Permite que el LLM cargue herramientas basadas en agents.json y ejecute una serie de llamadas a API
Diferencias con OpenAPI tradicional
- Si se usa solo OpenAPI, en muchos casos el LLM no logra seleccionar correctamente las llamadas a API
- Con agents.json, el proceso de llamadas a API puede convertirse en una plantilla para ofrecer el flujo óptimo de llamadas necesario para obtener el resultado deseado
Por qué se liberó como open source
- Al principio era un archivo de configuración de uso interno, pero a medida que sus funciones se fueron ampliando se decidió liberarlo como open source
- Dharmesh, CTO de HubSpot, propuso el concepto de una especificación de traducción de API para LLM, y eso inspiró su publicación
- Actualmente ya se han realizado 10 integraciones de API validadas y cada día se agregan nuevas API
- También ofrecen gratis una plataforma de descubrimiento de herramientas y colecciones personalizadas para que los desarrolladores puedan ampliarlo fácilmente (https://wild-card.ai)
1 comentarios
Opiniones en Hacker News
Están siguiendo de cerca
agents.jsony esperan que este protocolo tenga éxitoagents.jsonpodrían coexistirPara que
agents.jsonse adopte en una etapa temprana, la documentación debería ser más fácil de entenderagents.jsonLa compatibilidad entre OpenAPI y
agents.jsones buena, pero podría ser excesivaagents.json, dudan de que valga la pena soportarloMucha gente ya está usando IDEs agénticos, y sería bueno que
agents.jsoncompartiera snippets que expliquen cómo usarlo, cómo encontrar documentación y cómo buscar en registrosPreguntan por las diferencias entre
agents.jsony la especificación OpenAPI ArazzoOpinan que es difícil ver archivos
agents.jsonrealesPreguntan por la licencia del paquete de Python
Es una buena idea, pero los temas de licencia podrían dificultar su adopción
Podría simplificarse más, y eso sería algo positivo
Comparan
agents.jsonconllms.txtllms.txttambién está surgiendo como un estándar para ayudar a los LLM a entender APIsagents.jsonparece ofrecer una mejor comprensión estructurada de distintos endpointsPreguntan por qué los agents no podrían usar APIs documentadas con una especificación OpenAPI
Esperan que
agents.jsony los archivosLLM.txtse conviertan en un estándar simple, comorobot.txtagents.jsonPreguntan por las similitudes y diferencias con MCP