1. 为什么需要多 Agent
单 Agent 在面对复杂任务时存在局限性:工具过多导致选择困难和 Prompt 膨胀、角色混乱影响专业深度、资源浪费(即使只问客服问题也加载全部工具)。多 Agent 通过分工协作解决这些问题,类似一家公司中客服专员、软件工程师、财务分析师各司其职。
2. 五种官方推荐的多 Agent 模式
- Subagents(子智能体)模式:主 Agent(Supervisor)将子 Agent 包装为工具来调用,所有路由通过主 Agent 传递。子 Agent 默认无状态,历史记忆由主 Agent 统一维护。适用于多领域分工明显、子 Agent 不需要直接与用户长期对话的场景,如企业助理、商旅规划等混合系统
- Handoffs(交接)模式:行为由状态驱动变化,工具调用更新状态变量触发 Agent 切换或配置调整。适用于必须按步骤推进、不同阶段交互方式不同的场景,如售后流程、审批流、表单收集等带状态机的对话流程
- Skills(技能)模式:单个 Agent 保持控制,按需加载专门的提示词和知识上下文。适用于一个 Agent 但领域众多、想做渐进式暴露工具与知识的场景,不想引入复杂的多 Agent 编排时使用
- Router(路由)模式:通过路由步骤对输入进行分类,引导至不同的专业化 Agent,最后汇总结果。适用于先判断任务类型再派单的场景,如技术问答走 research_agent、计划制定走 planner_agent
- Custom Workflow(自定义工作流):使用 LangGraph 构建 bespoke 执行流程,混合确定性逻辑和 Agent 行为,可将上述模式作为节点嵌入图中
3. 三种协作执行方式
- 串行模式(Serial):Agent A → Agent B → Agent C,每一步依赖前一步的结果。流程清晰、每步结果可单独检查,但总耗时为各步骤之和
- 并行模式(Parallel):协调器 Agent 同时启动多个子 Agent 处理独立子任务,最后汇总结果。大幅缩短总耗时,但需处理结果合并和容错逻辑
- 委托模式(Delegation/Supervisor):主管 Agent 动态决定将任务交给哪个专家 Agent,支持多跳路由和结果合成
4. 多 Agent 设计的核心考量
多 Agent 系统的核心是上下文工程——决定每个 Agent 能看到哪些信息。系统设计时需权衡模型调用次数、Token 处理量和延迟。Subagents 模式通常产生最多模型调用(4 次),Handoffs 和 Skills 模式约 3 次,Router 模式也是 3 次。实际生产中常混合使用多种模式。