5 puntos por GN⁺ 2025-03-06 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2025-03-06
Opiniones en Hacker News
  • Están siguiendo de cerca agents.json y esperan que este protocolo tenga éxito

    • Creen que MCP y agents.json podrían coexistir
    • MCP abarca más cosas, y crear un protocolo simplificado podría ser difícil
  • Para que agents.json se adopte en una etapa temprana, la documentación debería ser más fácil de entender

    • Los ejemplos deberían verse de inmediato y el esquema debería estar cerca
    • La propuesta debería ser concisa y los campos del esquema también deberían ser claros
    • Podría hacer falta una herramienta que permita pegar un esquema OpenAPI para que un LLM genere un borrador de agents.json
  • La compatibilidad entre OpenAPI y agents.json es buena, pero podría ser excesiva

    • OpenAPI es popular, pero no ha dominado por completo el mercado
    • Si eso añade complejidad a agents.json, dudan de que valga la pena soportarlo
    • Aunque no haya compatibilidad al 100%, podría ser posible dar soporte parcial mediante convertidores personalizados
  • Mucha gente ya está usando IDEs agénticos, y sería bueno que agents.json compartiera snippets que expliquen cómo usarlo, cómo encontrar documentación y cómo buscar en registros

  • Preguntan por las diferencias entre agents.json y la especificación OpenAPI Arazzo

    • Dudan si está mejor adaptado para el uso con LLMs
    • Al ver los ejemplos, notan conceptos similares
  • Opinan que es difícil ver archivos agents.json reales

    • Incluso buscando en el registro durante 10 minutos, no pudieron encontrar un ejemplo
  • Preguntan por la licencia del paquete de Python

    • Dudan si es AGPL
  • Es una buena idea, pero los temas de licencia podrían dificultar su adopción

    • Esperan que el equipo explique cómo se puede adoptar un paquete AGPL en un producto
  • Podría simplificarse más, y eso sería algo positivo

    • Puede que hayan encontrado un bug en el título de la propiedad de información de la especificación
  • Comparan agents.json con llms.txt

    • llms.txt también está surgiendo como un estándar para ayudar a los LLM a entender APIs
    • agents.json parece ofrecer una mejor comprensión estructurada de distintos endpoints
  • Preguntan por qué los agents no podrían usar APIs documentadas con una especificación OpenAPI

    • En sus pruebas personales funcionó bien, así que sienten que debe haber algo que se les está escapando
  • Esperan que agents.json y los archivos LLM.txt se conviertan en un estándar simple, como robot.txt

    • CrewAI, Letta/MemGPT y OpenHands/OpenDevin están relacionados, pero ninguno cruza esos límites
    • MCP es el enfoque más flexible, y esperan que pueda encajar bien con agents.json
    • El equipo de Netlify está pensando cosas interesantes sobre Agent Experience (AX), y los equipos de Anthropic y wildcard deberían prestarle atención
  • Preguntan por las similitudes y diferencias con MCP

    • Se ve genial