🧠 AutoGen-Compatible Multi-Agent Research POC with Ollama + BraveSearch について
Ollamaを利用するSearcherとSynthesizerが連携し、ウェブ情報を検索して要約するローカル優先の研究用概念実証です。Brave Searchと任意のMCPツール呼び出しを使ったマルチエージェント研究を試す開発者向けです。
主な機能
- 01OllamaによるローカルLLM
- 02SearcherとSynthesizerのエージェント
- 03Brave Search API連携
- 04任意のBrave MCPプラグインサーバー
- 05ツール呼び出しの解析と振り分け
活用シーン
- 01ウェブ調査を実行して要約を作成
- 022つのエージェントによる調査ワークフローの検証
MCP 対応
MCPはBrave Searchを呼び出す任意の方式です。ツールレジストリをBrave Search APIからBrave MCPプラグインサーバーに切り替えられます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🧠 Ollama + BraveSearch による AutoGen 互換マルチエージェント調査 POC
このプロジェクトは、以下を使用するローカルファーストのマルチエージェントシステムの概念実証です。
- 🤖 Ollama によるローカル LLM
- 🧩
<tool_call>...構文によるツール呼び出しの検出 - 🔍 Brave Search API または Brave MCP プラグインサーバーによるウェブ検索
- 🧠 連携する 2 つのエージェント:
SearcherとSynthesizer
📁 フォルダー構成
MultiResearchPOC/
├── main.py # Entry point
├── agents/
│ ├── searcher.py # Ollama-powered research agent
│ └── synthesizer.py # Summarizer agent
├── tools/
│ ├── tool_parser.py # Tool call detection logic
│ └── tool_registry.py # Tool dispatcher (API or MCP)
├── .env # Contains BRAVE_API_KEY
└── requirements.txt # Python dependencies
🚀 はじめに
1. プロジェクトをクローンする
git clone <your-repo-url>
cd MultiResearchPOC
2. 依存関係をインストールする
pip install -r requirements.txt
3. .env を設定する
echo "BRAVE_API_KEY=your_brave_api_key_here" > .env
Brave API キーは、こちらで取得してください:https://developer.brave.com/api-search/
4. Ollama をローカルで実行する
ollama run llama3:8b
Docker を使用する場合は、ホストとして
http://host.docker.internal:11434を指定してください。
5. プログラムを実行する
python main.py
以下が表示されます。
Searcherエージェントからの応答- トリガーされたツール呼び出し
- Brave から取得した検索結果
Synthesizerエージェントによる最終的な要約
🔁 API と MCP プラグインの切り替え
オプション 1:Brave Search API(デフォルト)
デフォルトでは、以下を使用します。
"BraveSearch": call_brave_api
オプション 2:Brave MCP プラグインサーバー
- プラグインサーバーを起動します。
npx @modelcontextprotocol/server-brave-search
tools/tool_registry.pyを更新します。
# "BraveSearch": call_brave_api,
"BraveSearch": call_brave_mcp_server
🔮 今後の予定と改善点
| 機能 | 説明 |
|---|---|
| 🧠 Planner エージェントの追加 | 呼び出すエージェント/ツールを動的に決定します |
| 🧩 ツールの追加 | CrunchbaseSearch、TwitterTrends、YouTubeSearch など |
| 📄 Markdown 出力 | 確認や Obsidian との連携に使うセッションログを保存します |
| 🖼️ UI の追加 | Chainlit、FastAPI、または Discord ボットを使用して操作できるようにします |
| 🌐 API としてラップ | ウェブや CLI で使用するためのローカル API に変換します |
📜 出力例
🤖 Searcher Response:
<tool_call>BraveSearch({"query": "African AI startups 2024 promising not mainstream"})</tool_call>
🌐 Tool Output:
• AI 100: ...
• Five African AI startups to watch in 2023 ...
🧠 Final Summary:
- CB Insights lists top private AI companies...
- 5 African startups solving problems in healthcare, marketing...
🙌 クレジット
- Ollama
- Brave Search API
- Semantic Kernel
- AutoGen に着想を得ています
質問やアイデアがある場合は、イシューを作成するか、ディスカッションを始めてください。
🏗️ Microsoft AI Agents Hackathon 向けに開発 このプロジェクトは、オープンソースと Microsoft のテクノロジーを活用した、インテリジェントでツールを使用する自律型エージェントの構築に焦点を当てた課題、Microsoft AI Agents Hackathon の一環として作成されました。
このプロジェクトの目標は、以下を実現できるローカルファーストのマルチエージェントシステムを紹介することです。
動的なツール呼び出しを生成する
Brave Search を使用してリアルタイムのウェブ調査を行う
エージェント同士が連携し、有用な知見をまとめる
🔗 提出先:[TBD]
local multi-agent AI research bot | Ollama + Brave + AutoGen | Built for Microsoft AI Agents Hackathon
免責事項
このプロジェクトは、勤務時間外に個人の時間とツールを使用して開発した、個人的な概念実証です。雇用主の現在または予想される事業活動とは関係なく、専有情報や機密情報は含まれていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。