songrongzhen/easy-agent
easy-agent是Agent组件,零改造接入,为存量系统赋予智能体(Agent)能力。
何を解決するか
Easy Agent は Java アプリケーション向けの開発コンポーネントで、AIエージェントの構築プロセスを簡素化します。開発者は、大規模言語モデル(LLM)向けにビジネスロジックを簡単にツールとして公開でき、ローカルドキュメントを使用して検索拡張生成(RAG)を実装し、モデルコンテキストプロトコル(MCP)を介してツールサービスを提供できます。
仕組み
このプロジェクトは Spring Boot Starter として構築されており、Springエコシステムと深く統合されています。アノテーションとSPIの組み合わせを使用してAI機能を管理します:
- ツール登録:
@EasyToolでマークされたメソッドは自動的に検出され、ToolRegistryに登録され、LLM や MCP クライアントから呼び出せるようになります。 - MCP サーバー:軽量な MCP HTTPサーバー(JSON-RPC 2.0)を実装しており、登録されたツールを Claude Code などのクライアントに公開します。
- RAG エンジン:クラスパスまたはURLからPDF、Excel、HTMLファイルを読み込み、
DocumentChunkオブジェクトにチャンク化してメモリに保存(PGVector用のプレースホルダーあり)。埋め込み、コサイン類似度、TF-IDF などの複数の検索戦略をサポートします。 - LLM インテグレーション:OpenAI互換API用の統合HTTPクライアントを提供。DashScope、DeepSeek、Ollama、OpenAIなどのプロバイダーをサポートし、自動ツールコールループとリトライメカニズムを内蔵しています。
- スキル生成:登録されたツールに基づいて、ビジネス固有の Skill Markdown ファイルを生成できるメタツールを提供します。
対象ユーザー
Spring Boot 3.5+ および JDK 17+ を使用し、既存のビジネスアプリケーションにエージェント機能を追加したい Java 開発者。
特徴
- ゼロインパクト:ビジネスコードの構造を変更せずに、
@EasyToolを使って既存のサービスメソッドをAIツールに変換可能。 - MCP 対応:AI IDE やクライアントとのシームレスな統合を実現するモデルコンテキストプロトコル(MCP)のネイティブ実装。
- 柔軟な RAG:ローカルのPDF/Excelファイルの自動インデックス化と、実行時におけるHTML知識ベースの追加をサポート。
- マルチモデル互換性:1つの設定で複数の OpenAI互換プロバイダーに対応し、モデルからプロバイダーへの自動マッピングを実現。
- ガバナンス:許可リストとブロックリストを使用して、MCP経由で公開するツールを細かく制御可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト