Orchestrator / Supervisor
编排者一个"主管" Agent 决定把任务交给哪个下属 Agent。
详解
Orchestrator(也叫 Supervisor)是 Multi-Agent 系统里负责"统筹"的主控 Agent。它的职责不是自己执行具体任务,而是:理解用户意图 → 判断该交给哪个专职 Agent → 把任务分发下去 → 汇总各 Agent 的结果 → 决定是否需要再一轮协作。这是目前生产环境中最主流的 Multi-Agent 架构之一。Orchestrator 的核心能力是路由决策——收到任务后,它需要判断:这是一个编程问题(→ Coder Agent)还是数据分析问题(→ Analyst Agent)还是需要同时进行(→ 并行调两个)。Orchestrator 本身也是一个 LLM,路由决策就是一次模型推理,因此它的 system prompt 需要明确描述每个下属 Agent 的能力边界,否则路由容易出错。风险在于:Orchestrator 是系统瓶颈,它的判断失误会导致错误放大——再好的 Worker 也救不了错误的任务分配。
一个类比
像公司里的项目经理(PM):客户来了需求,PM 不会自己去写代码或设计 UI,而是拆解需求、分配给后端工程师、前端工程师、设计师,跟进进度,最后把结果整合成交付物。PM 的价值不在于自己执行,在于让对的人做对的事。
举个例子
用户发来消息:"帮我分析这份销售数据,然后写一段总结给老板"
Orchestrator(主控)收到请求,用模型推理路由决策:
判断:这个任务有两个部分
1. 数据分析 → 交给 Analyst Agent
2. 文案撰写 → 交给 Writer Agent
决策:先串行,Analyst 完成后再触发 Writer
分发给 Analyst Agent:
system: "你是数据分析专家,擅长从数字中提炼洞察"
tools: [read_csv, calculate_stats, plot_chart]
任务:分析销售数据,输出关键指标
返回:{"total": 128万, "growth": "+23%", "top_product": "A"}
Orchestrator 拿到结果,再触发 Writer Agent:
system: "你是商务写作专家,擅长写简洁有力的管理层报告"
tools: [](只需写作)
输入:Analyst 的结构化结果
返回:精炼的老板汇报文案
Orchestrator 把 Writer 的输出返回给用户。
核心原则:Orchestrator 做决策,Worker 做执行,职责完全分离。PYTHON 示例
相关概念
- → Multi-Agent· 多智能体协作
- → Handoff· 任务交接