关键特征
- 路由器分解查询
- 零个或多个专业代理并行调用
- 结果合并为连贯的响应
适用场景
当你拥有不同的垂直领域(各自需要独立代理的分离知识域)、需要并行查询多个来源,并希望将结果合并为综合响应时,请使用路由器模式。基本实现
路由器对查询进行分类并将其定向到合适的代理。使用Command 进行单代理路由,或使用 Send 并行扇出到多个代理。
- 单个代理
- 多个代理(并行)
使用
Command 路由到单个专业代理:教程:使用路由构建多源知识库
构建一个并行查询 GitHub、Notion 和 Slack 的路由器,然后将结果合并为连贯的答案。涵盖状态定义、专业代理、使用
Send 并行执行以及结果合并。无状态与有状态
两种方式:无状态
每次请求独立路由——调用之间无记忆。对于多轮对话,请参阅有状态路由器。有状态
对于多轮对话,你需要在调用之间维护上下文。工具包装器
最简单的方式:将无状态路由器包装为对话代理可以调用的工具。对话代理负责记忆和上下文管理;路由器保持无状态。这避免了在多个并行代理间管理对话历史的复杂性。完整持久化
如果你需要路由器本身维护状态,请使用持久化来存储消息历史。在路由到代理时,从状态中获取之前的消息并选择性地将其包含在代理的上下文中——这是进行上下文工程的一个杠杆。通过 MCP 将这些文档接入 Claude、VSCode 等工具以获取实时答案。

