第 12 章:编排基础——从“独狼”到“狼群战术”

23 阅读5分钟

第12章:编排基础:从“独狼”到“狼群战术”

多 Agent 编排(Orchestration)不是简单地多雇几个人,而是要解决“三个和尚没水喝”的管理难题。它是关于分工、协作与熵减的艺术。

前几章我们把 单 Agent 打磨到了极致:它会规划(Planning)、会反思(Reflection)、会慢思考(CoT)。 看起来它已经无所不能了? 错。

想象一下,你要开发一款游戏。 虽然你招了一个天才程序员(全能 Agent),但他既要写代码,又要画美术素材,还要设计关卡,最后还得自己测试。 结果大概率是:累死、慢死、或者精神分裂(上下文错乱)。

在真实的生产环境中,面对复杂任务,我们需要 多 Agent 协作。 本章我们来探讨如何从“单兵作战”升级为“狼群战术”。

01. 为什么要多 Agent?(单体的三大硬伤)

虽然 GPT-4 很强,但在处理长链路任务时,单 Agent 有三个物理学上的硬伤:

  1. 上下文瓶颈(Context Overflow) 任务越长,历史记录越多。让一个 Agent 从头跟到尾,它的“工作台”(Context Window)很快就会被撑爆,前面的需求会被遗忘。
  2. 角色干扰(Persona Confusion) 上一秒它还在扮演“严谨的数据库专家”,下一秒就要扮演“有创意的文案写手”。在同一个 Context 里频繁切换角色,会导致 LLM 的注意力分散,产出平庸的结果。
  3. 串行低效(Serial Latency) 如果任务包含“搜索 Tesla”、“搜索 BYD”、“搜索 Rivian”三个独立步骤,单 Agent 只能一个个搜。多 Agent 可以 并行(Parallel) 开工,效率提升 3 倍。

结论: 就像现代软件架构从 Monolith(单体) 演进到 Microservices(微服务) 一样,Agent 系统也必然走向 Multi-Agent(多智能体)

0002页.png

02. 编排器(Orchestrator):系统的指挥家

多 Agent 系统不是一群 Agent 乱哄哄地吵架,它需要一个核心大脑——编排器

你可以把它想象成 米其林餐厅的主厨(Chef de Cuisine) 。 主厨通常不亲自切菜或煎牛排,他的职责是:

  1. 接单(Router) :看到客人的单子,决定是交给冷菜间还是热菜间。
  2. 拆解(Decomposition) :把“惠灵顿牛排”拆解为“酥皮”、“蘑菇酱”、“菲力牛排”三个子任务。
  3. 分发(Dispatch) :把任务分给最擅长的人(Agent)。
  4. 组装(Synthesizer) :等所有人都做好了,检查质量,摆盘上桌。

架构图解

用户请求 --> [ 编排器 Orchestrator ]
                    |
          -----------------------
          |          |          |
      [Agent A]  [Agent B]  [Agent C]
      (搜索专家)  (代码专家)  (文案专家)
          |          |          |
          -----------------------
                    |
             [ 结果综合器 ] --> 最终响应

0005页.png

03. 执行模式:串行 vs 并行

编排器的核心权力,是决定任务的 “交通规则”

模式 A:串行接力(Sequential)

场景:写代码 -> 运行代码 -> 修复 Bug。 逻辑:后一个任务 强依赖 前一个任务的输出。 比喻:接力赛。棒子没传到手,下一棒绝对不能跑。

模式 B:并行蜂群(Parallel)

场景:搜集 5 家竞品的财报。 逻辑:任务之间 无依赖,互不干扰。 比喻:外卖小哥。5 个订单可以派给 5 个骑手同时送,谁先送到谁先结单。

模式 C:动态路由(Dynamic Routing)

场景:根据上一步的结果决定下一步。 逻辑:如果 Agent A 查到“股价跌了”,则激活 Agent B(分析原因);如果“股价涨了”,则激活 Agent C(写表扬信)。 比喻:急诊室分诊台。 0007页.png

04. 结果综合:MapReduce 的 AI 版

多 Agent 系统最难的不是分发,而是 收口(Synthesize)

当你派出了 3 个 Agent 去研究同一家公司:

  • Agent A 说:市值 8000 亿。
  • Agent B 说:市值 7900 亿。
  • Agent C 说:无法获取市值。

编排器必须具备 MapReduce 的思维:

  1. Map(分发) :让大家各干各的。
  2. Reduce(规约) :把大家的废话去掉,提取公约数,解决冲突。

工程实现策略:

  • 投票法:3 个 Agent 里 2 个说涨了,那就信涨了。
  • 权威法:Agent A 是挂载了 Bloomberg 终端的,Agent B 是搜 Google 的,无脑信 Agent A。
  • LLM 总结法:把 3 份报告丢给一个更强的模型(如 GPT-4),让它写一份“综述”。

05. 成本与延迟:多 Agent 的隐形税

作为架构师,我必须给你泼一盆冷水。不要为了用多 Agent 而用多 Agent。

引入编排器会带来“隐形税”:

  1. Token 爆炸:原本 1 次对话解决的问题,现在变成了 1(编排)+ N(执行)+ 1(总结)。成本可能翻 5 倍。
  2. 延迟叠加:虽然并行能加速,但“结果综合”这一步往往是串行的,且需要等最慢的那个 Agent 回来(木桶效应)。
  3. 调试地狱:单 Agent 出错你看日志就行;多 Agent 出错,你得查分布式链路追踪。

黄金法则:

  • 简单的线性任务 -> 单 Agent + CoT
  • 复杂的、独立的、需要多视角即时反馈的任务 -> 多 Agent

06. 总结

编排基础篇的核心,是建立 “分治(Divide and Conquer)” 的思维。

  • Orchestrator 是大脑,负责拆解和组装。
  • Sub-Agents 是手脚,负责专项执行。
  • Parallel/Sequential 是交通规则,决定效率。

如果你理解了这些,你就已经跨过了构建企业级 Agent 的第一道门槛。 但是,现实世界的任务往往不是简单的“串行”或“并行”,而是复杂的网状结构——任务 C 依赖任务 A 和 B,而任务 D 又依赖任务 C...

下一章,我们将深入 DAG(有向无环图)工作流,探讨如何处理这种最复杂的编排难题。