為研究任務建立 orchestrator-workers Agent
何時使用: 任務規模過大,無法由單次 LLM 處理,但可拆解為平行子任務(例如:研究 10 個競爭對手)。
前置條件
- Python 3.10+ — standard
- 你想讓 Agent 使用的 MCP 伺服器 — 在 mcp-agent 設定檔中列出它們
步驟
-
定義 Worker Agent建立 2 個 Agent —
scraper使用 firecrawl 伺服器,writer使用 filesystem。為每個 Agent 設定專注的指令集。✓ 已複製→ 兩個 Agent 實例 -
連接 Orchestrator使用
create_orchestrator(planner_llm=..., workers=[scraper, writer])將它們包裝起來。最大迭代次數設為 10。✓ 已複製→ Orchestrator 回傳計畫及執行控制代碼 -
執行實際任務執行:「研究 GitHub 上評分最高的 5 個 Postgres MCP。為每個撰寫一頁摘要並存至 ./reports/<slug>.md。」✓ 已複製→ 產生 5 個內容連貫的檔案
結果: 一個平行化 Agent,能在 3-5 分鐘內完成原本需要 30 分鐘手動多步驟操作的工作。
注意事項
- Orchestrator 產生過多或過少的子任務 — 給規劃 LLM 明確的指引:「拆分為 3-7 個子任務,每個子任務工作量不超過 5 分鐘」
- Worker 重複抓取相同資料 — 透過 app 狀態共用快取,或透過計畫明確傳遞結果