30 秒快速回答

Agent 编排是指将多个 AI Agent(每个专注于不同子任务)按照特定协作模式组织起来,共同完成单个 Agent 无法高效处理的复杂任务。如果把单 Agent 比作一个全栈工程师,多 Agent 编排就是一个分工明确的团队——有人调研、有人编码、有人审查,效率和可靠性都大幅提升。

为什么单 Agent 不够用?

单 Agent 面临三个硬瓶颈:

瓶颈 具体表现 多 Agent 如何解决
上下文窗口 处理 500 页文档或大型代码库时,单次对话装不下所有信息 将文档拆给多个 Worker 并行处理,各自只关注自己的部分
串行执行 10 个独立子任务只能逐个完成,总耗时累加 Fan-Out 模式将子任务并行分发,总耗时取最长而非累加
泛化 vs 专业化 一个通用 prompt 什么都会但什么都不精;安全审查 Agent 一定比通用 Agent 的审查质量高 每个 Agent 有自己专属的 System Prompt 和工具集,术业有专攻

此外还有可靠性——单 Agent 出错没有第二意见。多 Agent 系统可以让一个 Agent 审查另一个的输出,在高风险任务中将错误率降低一个数量级。

5 种核心编排模式

模式一:编排器/工人(Orchestrator / Worker)

最基础、最常用的模式。一个 Orchestrator(编排器)负责接收总任务、拆解为子任务、分发给多个 Worker,最后汇总结果。

总任务 → Orchestrator 拆解 → Worker A(研究)+ Worker B(写作)+ Worker C(审查)
                                                              ↓
                                              Orchestrator 汇总 → 最终输出

适合场景:子任务可清晰拆分且分解逻辑已知。例如”研究某技术 → 写报告 → 审核事实性”天然拆成三个子任务。

每个 Worker 有自己专属的 System Prompt 和工具集。比如 Researcher 有搜索工具,Writer 有文档模板,Reviewer 有事实核查规则。

模式二:流水线(Pipeline)

每个 Agent 的输出是下一个 Agent 的输入,像 Unix 管道一样串联。

Agent 1(调研)→ Agent 2(初稿)→ Agent 3(审校)→ Agent 4(发布)

适合场景:内容生产、数据清洗、多阶段验证等”转换链”。关键约束是每个环节的输出必须结构化,下一环节才能可靠消费。建议中间 Agent 使用 JSON Schema 约束输出格式。

典型代码结构

def run_pipeline(input_text, stages):
    current = input_text
    for stage in stages:
        response = client.messages.create(
            model=stage["model"],
            system=stage["system"],
            messages=[{"role": "user", "content": current}]
        )
        current = response.content[0].text
    return current

模式三:扇出/扇入(Fan-Out / Fan-In)

同一任务同时发给 N 个 Agent 并行执行,然后通过投票、合并或择优来汇总。

            ┌→ Agent 1(方案 A)
总任务 ────┼→ Agent 2(方案 B)──→ Judge Agent 评选最优 → 最终输出
            └→ Agent 3(方案 C)

两种汇总策略

适合场景:需要多样性或容错的任务——头脑风暴、代码生成(多个方案择优)、多源信息聚合。通过给不同 Worker 设置不同的 temperature 参数,可以产出风格各异的候选方案。

模式四:同行辩论(Peer Debate)

Agent A 产出,Agent B 批评,Agent A 修订,如此循环。这种对抗式协作能捕捉单 Agent 会遗漏的错误。

Agent A 产出 → Agent B 批评 → Agent A 修订 → Agent B 再审查 → 收敛输出

适合场景:高风险任务——法律文书审查、安全漏洞分析、事实核查。研究显示,辩论模式在数学推理和事实准确性任务上比单 Agent 的准确率提升 15-25%。

核心机制是让两个 Agent 持有不同的”角色立场”:一个负责生成(generator),一个负责批判(critic)。Critic 的 System Prompt 会明确要求它”找出所有可能的错误、遗漏和逻辑漏洞”。

模式五:专家路由(Specialist Routing)

一个 Router Agent 分析输入任务,根据任务类型将其路由到最合适的专家 Agent。

                ┌→ 安全专家(检测到安全类任务)
用户输入 → Router ┼→ 代码专家(检测到编程类任务)
                └→ 通用 Agent(未匹配到专家)

适合场景:平台级应用,需要处理多种异构请求。如客服系统——退款问题路由到退款专家,技术问题路由到技术支持。

Router 本质上是一个轻量级分类器,可以用简单的关键词匹配实现,也可以用 LLM 做语义分类。关键设计原则:给 Router 一个 fallback 选项,无法分类的请求交给通用 Agent 处理,避免”查无此人”。

5 种模式对比

模式 并行度 延迟 可靠性 典型场景
Orchestrator/Worker 中(子任务间可并行) 调研报告、项目规划
Pipeline 低(串行) 低(单点失败全链中断) 内容生产、数据清洗
Fan-Out/Fan-In 低(取最长子任务) 高(多结果冗余) 代码生成择优、多源聚合
Peer Debate 低(交替执行) 最高 法律审查、安全审计
Specialist Routing 高(独立路由) 客服系统、多领域平台

总结

多 Agent 编排不是银弹——它引入了通信开销、更高的 token 成本和更复杂的调试难度。但如果你的任务确实触碰了单 Agent 的硬天花板(上下文不够、需要并行、需要多专业协作),这 5 种模式提供了经过验证的工程方案:

  1. Orchestrator/Worker——最通用的起点,适合大多数场景
  2. Pipeline——明确的转换链,像 Unix 管道
  3. Fan-Out/Fan-In——需要并行或多样性时用
  4. Peer Debate——容错要求最高的场景
  5. Specialist Routing——多领域平台的分发层

实际项目中,这些模式可以组合使用。例如,一个代码审查系统可以先用 Specialist Routing 分发到不同语言专家,每个专家内部用 Fan-Out 生成多个审查意见,最后用 Peer Debate 收敛到最终结论。

延伸阅读