- OpenAPI標準をベースに、LLMとAPIの間の明確な契約を定義するオープン仕様
- API呼び出しを目的ベースのツールとして構成し、LLMが簡単に利用できるようにする
- 従来のOpenAPIドキュメントだけでは、LLMが適切なAPIを選択して呼び出すことが難しかった
- agents.jsonは、API呼び出しの過程は決定論的に保ちながらも、LLMが達成しようとする結果については非決定論的に実行できるよう支援する
なぜ必要なのか?
- LLMを利用するには、APIと連携する方式を直接実装しなければならない場合が多い
- 多くの開発者は、エージェントの非決定論的な動作をあきらめ、ハードコードされたワークフローを通じて望む結果を得ようとしている
- agents.jsonを使えば、望む結果を得る過程でLLMが非決定論的に動作しつつ、API呼び出し自体は決定論的に実行できる
- 既存のAPIは開発者中心に設計されているため、LLMが直接利用するには難しさがある
- Gmail APIの例:
- メールを検索し、スレッド内のメール一覧を取得し、特定のメールに返信するという過程が必要
- LLMがOpenAPIドキュメントをそのまま参照すると、適切なAPI呼び出しの選択に失敗することが多かった
- agents.jsonを使えば、API呼び出しを事前に定義して正しい順序で実行できる
agents.jsonの構成要素
- agents.jsonファイル
- API呼び出し同士を接続し、結果中心のツールを定義する役割
- 既存のOpenAPIファイルと併用される
- agents.json SDK
- LLMがagents.jsonをもとにツールを読み込み、一連のAPI呼び出しを実行できるようにする
従来のOpenAPIとの違い
- OpenAPIだけを使うと、LLMがAPI呼び出しを正しく選択できない場合が多い
- agents.jsonを使えば、API呼び出しの過程をテンプレート化し、望む結果を得るための最適なAPI呼び出しフローを提供できる
オープンソースとして公開された理由
- 当初は内部で使っていた設定ファイルだったが、徐々に機能が拡張されたことでオープンソースとして公開することを決定
- HubSpotのCTOであるDharmeshがLLM向けのAPI翻訳仕様という概念を提案し、それに着想を得て公開された
- 現在、10件の検証済みAPI統合が実現しており、毎日新しいAPIが追加されている
- 開発者が簡単に拡張できるよう、ツール検索およびカスタムコレクションのプラットフォームを無料で提供 (https://wild-card.ai)
1件のコメント
Hacker Newsの意見
agents.jsonに注目しており、このプロトコルが成功してほしいagents.jsonは共存する可能性があると思うagents.jsonが初期に採用されるには、ドキュメントがもっと理解しやすくあるべきagents.jsonの草案を生成するツールが必要かもしれないOpenAPIと
agents.jsonの互換性は良いが、やりすぎかもしれないagents.jsonに複雑さが加わるなら、サポートする価値があるのか疑問多くの人がagentic IDEを使っており、
agents.jsonが使い方やドキュメントの探し方、レジストリの検索方法を説明するスニペットを共有するとよさそうagents.jsonとOpenAPI Arazzo仕様の違いについての質問実際の
agents.jsonファイルを見るのが難しいという意見Pythonパッケージのライセンスについての質問
良いアイデアだが、ライセンスの問題のために採用が難しいかもしれない
もっと簡単にできるはずで、それは良いこと
agents.jsonとllms.txtの比較llms.txtも、LLMがAPIを理解するのを助ける標準として注目されつつあるagents.jsonのほうが、別のエンドポイントの構造的理解に優れているように見えるagentsがOpenAPI仕様で文書化されたAPIを使えない理由についての質問
agents.jsonとLLM.txtファイルが、robot.txtのようなシンプルな標準になってほしいagents.jsonとうまく組み合わさることを期待したいMCPとの類似点/相違点についての質問