多智能体系统
原文:Multi-agent
一句话
多智能体系统通过协调专门组件处理复杂工作流,但并非所有复杂任务都需要此方法——单个智能体配合合适的工具和提示通常能达到类似效果。
什么时候翻这页
当你需要处理复杂工作流、管理大量工具、需要专门知识或需要并行执行子任务时,应考虑使用多智能体系统。
核心概念
- 上下文管理:提供专门知识而不淹没模型的上下文窗口
- 分布式开发:允许不同团队独立开发和维护能力
- 并行化:为子任务生成专门的工作者并并发执行
- context engineering:决定每个智能体看到什么信息,系统质量取决于确保每个智能体有访问正确数据的能力
怎么做
主要模式
-
Subagents(子智能体):
- 主智能体将子智能体作为工具进行协调
- 所有路由通过主智能体,决定何时以及如何调用每个子智能体
- 适合分布式开发、并行化、多跳和直接用户交互
-
Handoffs(交接):
- 基于状态动态改变行为
- 工具调用更新状态变量,触发路由或配置更改
- 适合直接用户交互和多跳场景
-
Skills(技能):
- 按需加载专门的提示和知识
- 单个智能体保持控制,同时根据需要从技能加载上下文
- 适合分布式开发、多跳和直接用户交互
-
Router(路由):
- 路由步骤分类输入并将其导向一个或多个专门智能体
- 结果被合成为组合响应
- 适合并行化和直接用户交互
-
Custom workflow(自定义工作流):
- 使用 LangGraph 构建自定义执行流程
- 混合确定性逻辑和智能体行为
- 将其他模式作为工作流中的节点嵌入
模式选择
根据需求选择合适的模式:
- 分布式开发:Subagents > Skills > Router
- 并行化:Subagents = Router > Skills
- 多跳:Subagents = Handoffs = Skills > Router
- 直接用户交互:Handoffs = Skills > Router > Subagents
命令 / API 速查
- Deep Agents:内置多智能体支持的高级框架,提供子智能体、技能、规划、虚拟文件系统和上下文管理
- LangSmith:跟踪智能体间的完整协调流程
- LangSmith Engine:监控跟踪、检测问题并提出修复建议
与 LangGraph / RAG 手册的联系
- LangGraph 可用于构建自定义多智能体工作流
- RAG 可作为技能模式的一部分,提供按需加载的专门知识
- 多智能体系统可以整合 RAG 组件作为工具或技能
初学者易错点
- 认为所有复杂任务都需要多智能体解决方案
- 忽视上下文工程的重要性
- 未考虑不同模式在不同场景下的性能差异
- 过度设计导致不必要的复杂性
- 未充分利用状态化模式在重复请求中的优势