AI News HubLIVE
サイト内リライト2 分で読了

MCPスタイルのルーティングAIエージェントシステムの構築方法:動的ツール公開、計画、実行、コンテキスト注入

このチュートリアルでは、スクラッチから完全なMCPスタイルのルーティングエージェントシステムを構築します。ツール発見、インテリジェントルーティング、構造化計画、実行を統合します。モジュラーツールサーバー(ウェブ検索、ローカル検索、データセット読み込み、Python実行を提供)、ヒューリスティックとLLM推論を組み合わせたハイブリッドルーター、ツール使用を計画し安全に実行してコンテキストを注入するエージェントを実装します。実際のタスクを通じて、コンテキスト注入、ルーティングポリシー、制限付きツールアクセスがスケーラブルで解釈可能な効率的なエージェントシステムを形成することを示します。

ソースMarkTechPost著者: Sana Hassan

このチュートリアルでは、ゼロから完全なMCP(Model Context Protocol)スタイルのルーティングエージェントシステムを構築します。このシステムは、ツール発見、インテリジェントルーティング、構造化計画、実行を1つのまとまったワークフローに統合します。全体はPythonで実装され、OpenAIのAPIを利用してLLM推論を行い、DuckDuckGo検索、scikit-learnデータセット、TF-IDFローカル検索、サンドボックス化されたPython実行などのツールを統合します。

まず、モジュラーツールサーバーをセットアップします。このサーバーは、構造化されたスキーマを通じて、ウェブ検索、ローカル知識検索、組み込みデータセットの読み込み、安全なPythonコード実行などの機能を公開します。各ツールはPydanticモデルで定義され、名前、説明、入力スキーマ、タグを含み、後続のルーティングに利用されます。ツールサーバーはツールの登録と呼び出しを行い、標準化された結果を返します。

次に、ハイブリッドルーターを実装します。ルーターは、ヒューリスティックルール(タスクキーワードのマッチングなど)と大規模言語モデルの推論を組み合わせて、現在のタスクにどのツールを公開するかを動的に決定します。これにより、エージェントは最も関連性の高いツールのみを認識し、安全性が向上し、混乱が減り、ツール選択のエントロピーが低下します。ルーターはRouteDecisionオブジェクトを出力し、選択されたツール名のリストと決定理由を含みます。

その後、エージェントのコアロジックを設計します。計画フェーズでは、タスクを分析してツールを使用する必要があるかどうか、および呼び出し順序を決定します。実行フェーズでは、ツールを順次呼び出して出力をキャプチャします。統合フェーズでは、ツールの出力、検索されたドキュメント、ポリシーヒントをプロンプトに注入して最終回答を合成します。コンテキスト注入はMCPの重要な原則であり、モデルがツールから得た情報を活用して応答を生成できるようにします。PlanOutput構造体を使用してツール呼び出しシーケンスを計画し、各ToolCallはツール名と引数を含みます。

ローカル知識検索をサポートするために、TF-IDFベースのベクトル検索エンジンを構築し、MCP、動的能力公開、コンテキスト注入、ルーティングポリシーなどの概念に関するドキュメントを事前にインデックス化しました。エージェントはvector_retrieveツールを使用して関連するドキュメントを取得し、回答の事実正確性を高めます。また、安全なPython実行サンドボックスも実装しました。組み込み関数を制限し、標準出力とエラーをキャプチャすることで、コード実行がシステムの安定性に影響を与えないようにします。データセット読み込みツールを使用すると、エージェントはscikit-learnの組み込みデータセット(iris、wine、breast_cancer、diabetes)のスキーマ、プレビュー、統計情報を迅速に検査できます。

最後に、複数の実タスクを通じてシステムの機能を示します。例えば、MCPに関する質問への回答(ローカル検索)、最新AIニュースの検索(ウェブ検索)、データ分析(Python実行+データセット読み込み)などです。システム全体は、コンテキスト注入、ルーティングポリシー、制限付きツールアクセスというMCPの原則がどのように組み合わさって、スケーラブルで解釈可能、かつ効率的なエージェントシステムを構築するかを示しています。コード実装には、環境チェック、APIキーの安全な読み込み、グローバル設定など、チュートリアルを再現可能にするための準備作業も含まれています。