1. 多Agent协作模式认知
1.1 从单Agent到多Agent:为何需要协作
单个智能体(Agent)在处理复杂任务时存在天然瓶颈:知识边界固定、感知范围有限、推理资源受限。下表总结了单Agent在典型任务中的主要局限:
| 局限维度 | 具体表现 | 影响后果 |
|---|---|---|
| 知识局限 | Agent 只能访问预设的知识库,无法动态吸收跨领域信息 | 对需要多领域专业知识的长链条任务,回答准确率下降 |
| 感知盲区 | 单Agent 只能处理单一模态输入或狭窄状态空间 | 容易遗漏关键环境信号,导致决策片面 |
| 执行瓶颈 | 串行处理所有子任务,无法并行执行无关步骤 | 任务吞吐量低,响应延迟高 |
| 鲁棒性差 | 单点故障意味着整个任务失败 | 系统缺乏容错能力,可靠性不足 |
🔑 核心认知: 多Agent协作不是简单地将多个Agent堆叠,而是通过设计合理的编排模式,让不同能力的Agent共享上下文、并行执行、动态选择执行路径,从而突破单Agent的天花板。
1.2 多Agent协作场景分类
根据任务结构和Agent间的依赖关系,多Agent协作场景可分为以下四类:
- 任务分解型: 将大型任务拆解为多个子任务,分配给不同Agent并行或顺序执行。适用于报告生成、代码审查、数据分析等工作流。
- 信息融合型: 多个Agent从不同视角或数据源收集信息,汇总到决策Agent进行整合推理。适用于情报分析、多模态理解等场景。
- 竞争对抗型: 多个Agent模拟不同角色或立场,通过辩论、验证、相互质疑来逼近最优解。适用于风险评估、战略推演、伦理对齐评估。
- 混合型: 上述多种模式的嵌套组合,实际生产系统中最常见的形态。
1.3 典型编排模式
多Agent任务编排的核心,是将Agent之间的调用关系抽象为四种基础模式。任何复杂的多Agent工作流都可以通过这四种模式的组合来构建。
1.3.1 顺序编排 (Sequential)
Agent按固定次序依次执行,前一个Agent的输出作为后一个Agent的输入。
# 顺序编排伪代码
result_1 = agent_A.execute(task)
result_2 = agent_B.execute(result_1)
final_result = agent_C.execute(result_2)
1.3.2 并行编排 (Parallel)
多个Agent同时执行独立子任务,所有结果统一汇合后进入下一阶段。
# 并行编排伪代码(异步执行)
tasks = [subtask_1, subtask_2, subtask_3]
results = await asyncio.gather(
agent_A.execute(tasks[0]),
agent_B.execute(tasks[1]),
agent_C.execute(tasks[2])
)
merged = merge_results(results)
1.3.3 选择编排 (Choice/Route)
根据前序结果或环境状态,动态选择下一个Agent执行路径。
# 选择编排伪代码
analysis = agent_analyzer.execute(data)
if analysis["risk_level"] > 0.7:
result = agent_expert.handle_risk(analysis)
else:
result = agent_routine.process(analysis)
1.3.4 循环编排 (Loop/Iterate)
当输出不满足终止条件时,重复调用Agent或Agent链,直到达成目标。
# 循环编排伪代码 - 自迭代优化
draft = agent_writer.generate_first_draft(topic)
for i in range(MAX_ITERATIONS):
feedback = agent_reviewer.evaluate(draft)
if feedback["score"] >= THRESHOLD:
break
draft = agent_refiner.revise(draft, feedback)
⚠️ 编排实践要点:
- 使用 顺序编排 保证因果链的严格正确性;
- 使用 并行编排 提升吞吐量,但需注意上下文合并时的冲突处理;
- 使用 选择编排 实现条件路由,常见于分场景处理;
- 使用 循环编排 处理需要多轮打磨的任务,务必设置最大迭代次数避免死循环。
📌 本章记忆点:
- 单Agent存在 知识、感知、执行、鲁棒 四大局限,这是引入多Agent协作的根本原因。
- 四种基础编排模式——顺序、并行、选择、循环——是构建所有多Agent工作流的原子单元。
- 实际系统中,一个完整的工作流往往是多种编排模式的 嵌套组合,而非单一模式。