spring-ai-community/spring-ai-agent-utils

A Spring AI library that brings Claude Code-inspired tools and agent skills to your AI applications.

解決する課題

Spring AI Agent Utilsは、Claude Codeに着想を得た一連の事前構築済みツールと機能を提供し、Java開発者がローカル環境と対話し、タスクを管理し、長期記憶を保持する高度なAIエージェントを構築できるようにします。これは、高レベルのエージェントフレームワークとSpring AIエコシステムの間のギャップを埋め、エージェントがコーディングアシスタントや汎用的な自律エージェントとして機能するために必要な「スキル」を提供します。

仕組み

このライブラリは、Spring AIの ChatClient に登録可能な一連のツールを実装しています。これらのツールにより、モデルはファイルの読み書き、シェルコマンドの実行、Web検索、構造化されたToDoリストの管理などのアクションを実行できます。また、複雑なタスクを専門エージェントに委任するためのサブエージェントシステムや、サンドボックス化されたファイルベースのストレージを使用して会話間で情報を永続化するメモリシステムも導入されています。

対象ユーザー

AIコーディングアシスタント、自律型タスクマネージャー、または拡張可能な知識モジュールを備えた専門的なAIエージェントなど、エージェントアプリケーションを構築したいSpring AIを使用するJava開発者。

主な特徴

  • コア環境ツール: FileSystemTools、ShellTools、LgrepTool、GlobTool を含み、ローカルファイルシステムやシェルとの深い対話が可能です。
  • Webアクセス: BraveWebSearchTool と SmartWebFetchTool を統合し、現実世界の情報を取得します。
  • 長期記憶: AutoMemoryTools と AutoMemoryToolsAdvisor により、セッションをまたいで持続するファイルベースの永続的なメモリを提供します。
  • エージェントオーケストレーション: TaskTools と TodoWriteTool により、構造化されたタスク管理と専門サブエージェントへの委任が可能になります。
  • 拡張可能なスキル: SkillsTool を使用すると、YAML front-matter を含むMarkdownで定義された再利用可能な知識モジュールを追加できます。
  • キャンセル可能なターン: InterruptAdvisor により、エージェントループの協調的なキャンセル(停止ボタンや予算ガードなどによる)が可能になります。
  • 可観測性: ToolCallListener が、すべてのツール呼び出しに対する監査ログとメトリクスを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト