- Uma especificação aberta baseada no padrão OpenAPI que define um contrato claro entre LLMs e APIs
- Organiza chamadas de API como ferramentas orientadas a objetivos para que os LLMs possam usá-las com facilidade
- Só com a documentação OpenAPI existente, os LLMs tinham dificuldade para selecionar e chamar a API adequada
- O agents.json permite manter o processo de chamada de API determinístico, ao mesmo tempo em que possibilita que o resultado que o LLM busca alcançar seja executado de forma não determinística
Por que isso é necessário?
- Para usar LLMs, muitas vezes é preciso implementar manualmente a forma de integração com APIs
- Muitos desenvolvedores acabam abrindo mão do comportamento não determinístico dos agentes e tentam obter o resultado desejado por meio de workflows codificados manualmente
- Com agents.json, o LLM pode operar de forma não determinística no processo de alcançar o resultado desejado, enquanto a chamada de API em si pode ser executada de forma determinística
- As APIs existentes foram projetadas com foco em desenvolvedores, o que dificulta seu uso direto por LLMs
- Exemplo da API do Gmail:
- É necessário pesquisar emails, obter a lista de emails de uma thread e responder a um email específico
- Quando o LLM consultava a documentação OpenAPI diretamente, muitas vezes falhava em escolher a chamada de API adequada
- Com agents.json, é possível pré-definir as chamadas de API para executá-las na ordem correta
Componentes do agents.json
- Arquivo agents.json
- Serve para conectar chamadas de API entre si e definir ferramentas orientadas a resultados
- É usado em conjunto com o arquivo OpenAPI existente
- SDK do agents.json
- Permite que o LLM carregue ferramentas com base no agents.json e execute uma série de chamadas de API
Diferenças em relação ao OpenAPI tradicional
- Usando apenas OpenAPI, muitas vezes o LLM não consegue selecionar corretamente as chamadas de API
- Com agents.json, é possível transformar o processo de chamadas de API em templates, oferecendo o fluxo ideal de chamadas para alcançar o resultado desejado
Motivo de ter sido lançado como open source
- No início, era um arquivo de configuração usado internamente, mas conforme os recursos foram sendo ampliados, decidiu-se publicá-lo como open source
- Dharmesh, CTO da HubSpot, propôs o conceito de uma especificação de tradução de APIs para LLMs, e isso inspirou sua publicação
- Atualmente, já existem 10 integrações de API validadas, e novas APIs estão sendo adicionadas diariamente
- Para facilitar a expansão pelos desenvolvedores, também é oferecida gratuitamente uma plataforma de busca de ferramentas e coleções personalizadas (https://wild-card.ai)
1 comentários
Opiniões do Hacker News
Estou de olho no agents.json e espero que esse protocolo dê certo
Para que o agents.json seja adotado no início, a documentação precisa ser mais fácil de entender
A compatibilidade entre OpenAPI e agents.json é boa, mas pode ser excessiva
Muita gente já usa IDEs agentic, e seria bom se o agents.json compartilhasse snippets explicando como usar, como encontrar documentação e como pesquisar no registro
Pergunta sobre as diferenças entre agents.json e a especificação OpenAPI Arazzo
Opinião de que é difícil ver arquivos agents.json reais
Pergunta sobre a licença do pacote Python
A ideia é boa, mas a questão da licença pode dificultar a adoção
Pode ficar mais simples, e isso seria algo bom
Comparação entre agents.json e llms.txt
Pergunta sobre por que agents não conseguiriam usar APIs documentadas com especificações OpenAPI
Espera-se que agents.json e arquivos LLM.txt se tornem padrões simples como o robot.txt
Pergunta sobre semelhanças/diferenças em relação ao MCP