【AutoGen0.6.4】Agent & WorkBench: 2025/7/21

エージェント

AutoGenにおけるツール体系:FunctionToolとMCP Workbenchの構造的理解

概要

AutoGenでは、エージェントが複雑な処理を行う際に 「ツール」 を用いて外部機能と連携する。ツールは大別して以下の2種に分類される:

  • FunctionToolベースのツール:Python関数ベースで実装される汎用ユーティリティ。
  • MCP(Model Context Protocol)Workbenchツール:外部プロセスとして動作し、ローカルまたはリモートのMCPサーバー経由で呼び出される。

この2系統は、AutoGenのタスク駆動型エージェント構成の根幹を成す重要な部品群である。


1. FunctionToolベースのツール(単体実行)

これらのツールは、AssistantAgentにバインドして直接呼び出される。軽量かつ関数的な処理に適している。

ツール名実行形態説明
graphragFunctionToolGraphRAGインデックスを活用して、ドキュメント検索やRAG処理を行う。
httpFunctionToolHTTPリクエスト(GET, POST等)を行うツール。API呼び出し等に活用。
langchainFunctionToolLangChainのAgentやToolをAutoGenから呼び出すためのアダプター。

2. MCP Workbenchツール(外部プロセス/エージェントツール)

外部MCP(Model Context Protocol)サーバー上で動作するプロセスツールMCPと は、複数のAIエージェントやツールがチャットベースで協調動作するための通信プロトコル/仕様のことであり、AutoGenエージェントはこれらを呼び出すことで、より複雑なシステム操作やファイル解析、LLMプロキシ連携などが可能となる。

MCPサーバー名主な用途機能概要
mcp-server-fetchWebページ取得指定URLのHTML取得、簡易クロール対応
mcp-server-browserJavaScript付きページ取得SPAやJSによる動的ページに対応
mcp-server-shellシェルコマンド実行Linuxコマンド実行、ファイル操作、環境変数確認
mcp-server-pythonPythonスクリプト実行任意のPythonコードを実行可能(データ処理・数値計算など)
mcp-server-pdfPDF解析PDF文書からのテキスト抽出、構造解析
mcp-server-codegenコード生成支援関数分解、リファクタ提案などのコード分析機能
mcp-server-fileファイル入出力ファイル読み書き、ローカルファイルシステムアクセス
mcp-server-llm他LLMプロキシ経由実行LLaMAやClaude等のモデルに対するプロキシ経由アクセス

代表的な使用例

ユースケース使用ツール候補
顧客PDF仕様書の読み取りmcp-server-pdf
過去の設定ファイルやコードの解析mcp-server-codegen, mcp-server-file
SQLiteなどで製品DBにアクセスmcp-server-shell 経由でCLI操作
Web上の仕様情報を取得mcp-server-fetch, mcp-server-browser
社内スクリプトの簡易実行mcp-server-python

3. エージェントツールとしての統合性

AutoGenでは、FunctionToolとMCPツールの両方をエージェントに統合することができる。以下のようなユースケースが典型的である。

  • LLMベースのAssistantAgentがFunctionTool(例:http, graphrag)を呼び出してデータを取得
  • ユーザー操作代行のUserProxyAgentがMCPサーバーへ接続して外部処理を担当

4. ビルトインツールと拡張性

AutoGen Extension (autogen_ext.tools) は以下のような組み込みツール群を提供しており、任意のPython関数やShellプロセスをツールとしてラップすることも可能である。

pythonCopyEditfrom autogen_ext.tools import graphrag, http, langchain, mcp

これにより、システム設計者は用途に応じてツール選択とエージェント構成を柔軟に設計できる。


結論

AutoGenのツール群は、「軽量なFunctionTool」から「MCPベースの重量級外部プロセス」まで幅広いユースケースをカバーする構造で設計されている。この柔軟性により、LLMベースの自律型マルチエージェントシステムにおいて、情報取得、文書解析、コード生成などの実用的な業務フローを現実的に統合可能となる。

コメント

タイトルとURLをコピーしました