为研究任务构建 orchestrator-workers 代理
何时使用: 任务太大,单个 LLM 无法完成,但可以分解为并行的子任务(例如研究 10 个竞争对手)。
前置条件
- Python 3.10+ — 标准
- 代理要使用的 MCP 服务器 — 在 mcp-agent 配置中列出它们
步骤
-
定义 worker 代理创建 2 个 Agent —
scraper使用 firecrawl 服务器,writer使用文件系统。为每个提供集中的指令集。✓ 已复制→ 两个 Agent 实例 -
连接 orchestrator使用
create_orchestrator(planner_llm=..., workers=[scraper, writer])包装它们。最大迭代次数 = 10。✓ 已复制→ Orchestrator 返回计划和执行句柄 -
运行真实任务运行:'研究 GitHub 上排名前 5 的 Postgres MCPs。对于每一个,写一份 1 页的总结到 ./reports/<slug>.md'✓ 已复制→ 生成 5 个内容连贯的文件
结果: 一个并行化的代理,完成本来需要 30 分钟的手工多步骤工作在 3-5 分钟内完成。
注意事项
- Orchestrator 创建的子任务过多或过少 — 给规划器 LLM 明确指导:'分解为 3-7 个子任务,每个工作量 <5 分钟'
- Worker 重复获取相同数据 — 通过应用状态共享缓存,或在计划中显式传递结果