- Une spécification ouverte, fondée sur le standard OpenAPI, qui définit un contrat clair entre les LLM et les API
- Elle organise les appels d’API en outils orientés objectifs afin que les LLM puissent les utiliser facilement
- La seule documentation OpenAPI existante rendait difficile, pour les LLM, la sélection et l’appel des API appropriées
- agents.json permet de garder le processus d’appel d’API déterministe, tout en laissant le résultat visé par le LLM être atteint de manière non déterministe
Pourquoi est-ce nécessaire ?
- Pour utiliser un LLM, il faut souvent implémenter soi-même la manière de l’intégrer à des API
- Beaucoup de développeurs renoncent au comportement non déterministe des agents et cherchent à obtenir le résultat voulu via des workflows codés en dur
- Avec agents.json, le LLM peut fonctionner de manière non déterministe dans le processus menant au résultat souhaité, tandis que les appels d’API eux-mêmes restent exécutés de façon déterministe
- Les API existantes sont conçues avant tout pour les développeurs, ce qui les rend difficiles à utiliser directement par un LLM
- Exemple avec l’API Gmail :
- il faut rechercher des e-mails, récupérer la liste des e-mails d’un thread, puis répondre à un e-mail spécifique
- lorsque le LLM s’appuie tel quel sur la documentation OpenAPI, il échoue souvent à choisir les bons appels d’API
- avec agents.json, les appels d’API peuvent être prédéfinis afin d’être exécutés dans le bon ordre
Composants de agents.json
- Le fichier agents.json
- il sert à définir des outils orientés résultats en reliant entre eux des appels d’API
- il est utilisé avec le fichier OpenAPI existant
- Le SDK agents.json
- il permet au LLM de charger des outils à partir de agents.json et d’exécuter une série d’appels d’API
Différences avec OpenAPI classique
- Avec OpenAPI seul, le LLM échoue souvent à sélectionner correctement les appels d’API
- Avec agents.json, il est possible de mettre en modèle le processus d’appel d’API afin de fournir un flux optimal d’appels d’API pour obtenir le résultat souhaité
Pourquoi l’avoir publié en open source
- Au départ, il s’agissait d’un fichier de configuration utilisé en interne, mais à mesure que ses fonctionnalités se sont étendues, la décision a été prise de le publier en open source
- Dharmesh, CTO de HubSpot, a proposé l’idée d’une spécification de traduction d’API pour les LLM, ce qui a inspiré cette publication
- À ce jour, 10 intégrations d’API validées ont été réalisées, et de nouvelles API sont ajoutées chaque jour
- Une plateforme gratuite de recherche d’outils et de collections personnalisées est proposée pour permettre aux développeurs d’étendre facilement le système (https://wild-card.ai)
1 commentaires
Avis sur Hacker News
agents.json suscite de l’intérêt, avec l’espoir que ce protocole réussisse
Pour qu’agents.json soit adopté tôt, la documentation doit être plus facile à comprendre
La compatibilité entre OpenAPI et agents.json est bonne, mais peut-être excessive
Beaucoup de personnes utilisent des IDE agentiques, et il serait utile qu’agents.json partage des extraits expliquant l’usage, la façon de trouver la documentation et de rechercher dans le registre
Question sur les différences entre agents.json et la spécification OpenAPI Arazzo
Avis selon lequel il est difficile de voir de vrais fichiers agents.json
Question sur la licence du package Python
Bonne idée, mais les questions de licence pourraient compliquer l’adoption
Cela pourrait être plus simple, et ce serait une bonne chose
Comparaison entre agents.json et llms.txt
Question sur la raison pour laquelle les agents ne pourraient pas utiliser des API documentées avec une spécification OpenAPI
Souhait que les fichiers agents.json et LLM.txt deviennent des standards simples comme robot.txt
Question sur les similarités et différences avec MCP