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

