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
  • プロジェクト