Spring AI 2.0 におけるツール呼び出し:コンポー... ノート
RSS春季

Spring AI 2.0 におけるツール呼び出し:コンポーザブルでエージェント的なアーキテクチャ

Spring AI 2.0 は、アドバイザーチェーン内のコアでコンポーザブルな機能としてツール呼び出しを刷新します。エージェントは現在、この機能を利用して情報を発見し、目標に向かって行動します。ツールはメソッドに @Tool アノテーションを使用して定義され、Spring AI はパラメータの JSON スキーマを自動生成します。ToolCallingAdvisor はツール実行ループをオーケストレーションし、それ以上ツール呼び出しが生成されなくなるまで LLM を再帰的に呼び出します。このループ内にメモリアドバイザーを配置することで、完全なツールリクエストとレスポンスの履歴を永続化し、より豊かなコンテキストキャプチャが可能になります。ただし、これには InMemoryChatMemoryRepository のような特定の ChatMemoryRepository 実装が必要です。大規模なツールセットの場合、ToolSearchToolCallingAdvisor はコンテキストの肥大化を避けるために、段階的なツールの開示を提供します。このアドバイザーはツールインデックスを使用して、自然言語クエリに基づいて関連ツールを段階的に公開します。ツール引数拡張により、ツールコードを変更せずにツール入力スキーマを動的に拡張でき、内部思考に役立ちます。MCP ツールはリモートとローカルのツール定義を統合し、アプリケーションが MCP サーバー経由で Spring 管理ツールを消費または公開できるようにします。ローカルの @Tool アノテーションとリモートの MCP ツールの両方が同じ ToolCallback インターフェースを使用し、アドバイザーチェーンにシームレスに統合されます。
CdXz5zHNQW_yrI1Czp9Eu.png