
用 AI 助手时间长了会发现一个问题:一个 Agent 什么都会,但什么都不精。让它同时处理工作事务、研究资料、写代码,提示词越来越长,工具越堆越多,回答质量下降。
解决办法是拆成多个 Agent,各管一摊。但马上遇到新问题:消息怎么分给对应的 Agent?不同 Agent 的记忆会不会串?
这篇讲多 Agent 场景下的会话隔离和消息路由设计。
一、会话隔离为什么是必须的
先说串台的后果。如果一个客服 Agent 和一个私人助理 Agent 共享同一份会话历史:
- 私人对话内容可能被客服 Agent 引用,造成隐私泄露
- 两个 Agent 的工具集混在一起,客服 Agent 可能调用到不该用的工具
- 上下文互相污染,回答风格混乱
技术上,会话隔离要隔离三样东西:
| 隔离对象 | 内容 | 不隔离的后果 |
|---|---|---|
| 对话历史 | 消息记录、上下文 | 上下文串台、隐私泄露 |
| 工具权限 | 可用工具清单 | 越权调用 |
| 知识库/记忆 | 长期记忆、文档 | 知识混淆、答错领域 |
二、会话 ID 的设计
隔离的基础是唯一标识。一个合理的会话键由三部分组成:
sessionKey = agentId + channelId + conversationId
agentId:哪个 Agent(决定工具集和提示词)channelId:来自哪个渠道(飞书 / 企业微信 / QQ / 钉钉)conversationId:具体是哪个对话(单聊的用户 ID / 群聊的群 ID)
任何一维不同,就是不同的会话。这样同一个用户在飞书里跟客服 Agent 聊的内容,不会出现在 QQ 里跟助理 Agent 的对话中。
群聊要特别注意。 群里多个成员的消息都会进入同一个 conversationId,所以群里所有成员共享该群的会话上下文。如果群里同时有多个 Agent,群 ID 加 Agent ID 才能区分。
三、消息路由的三种策略
消息进来后,怎么决定交给哪个 Agent?
策略1:按渠道固定绑定。 飞书消息固定给 A、QQ 消息固定给 B。简单可靠,但不够灵活。
策略2:按关键词/意图路由。 先做一个轻量分类,判断消息属于哪个领域,再分给对应 Agent。灵活但有误判风险。
策略3:按显式指定。 用户在消息里指定 Agent(比如 @某个 Agent 或加前缀指令)。最准确,但用户要多操作一步。
实践上通常是组合:默认按渠道绑定,支持显式指定覆盖,关键词路由作为兜底。
四、跨会话转发与任务交接
多 Agent 的价值在于协同。技术上要支持两种通信:
消息转发。 Agent A 判断这件事应该归 Agent B 管,把消息(带必要上下文)转给 B,B 处理完把结果返回。
任务交接。 A 完成一部分工作后,把中间结果和待办交给 B 继续。这要求交接的数据结构标准化——任务描述、已完成部分、待处理部分、相关文件引用。
关键设计原则:交接要带最小必要上下文。全量传过去会爆上下文,只传一句话又信息不足。建议传"结构化摘要 + 需要时按 ID 检索原文"。
五、IM 通道接入的技术差异
接入国内主流 IM,每个平台的机制不同:
| 通道 | 接入方式 | 技术注意点 |
|---|---|---|
| 飞书 | 自建应用 + 事件订阅 / 长连接 | 需要配置权限、事件回调,长连接要处理重连 |
| 企业微信 | 应用 + 回调 URL 或长连接 | 有 IP 白名单、消息加密要求 |
| 钉钉 | 企业内部应用 + Stream 模式 | 需要在开发者后台配置机器人 |
| 机器人框架 / 协议接入 | 限制较多,稳定性依赖框架实现 |
共性问题:
1. 消息去重。 IM 平台可能重复推送同一条消息(网络重试、回调重发),要按消息 ID 去重,否则 Agent 会重复回复。
2. 消息格式转换。 各平台的富文本、图片、文件格式不同,要统一成内部格式再交给 Agent。
3. 长连接保活。 长连接会断,要实现心跳和自动重连,断线期间的消息要能补偿拉取。
4. 发送频率限制。 平台通常有频控,超频会被限流甚至封禁。Agent 批量回复时要控制速率。
5. 权限与可见范围。 群机器人能收到哪些消息取决于配置。要明确 Agent 能读到什么、能发到什么范围。
六、可视化配置的价值
多 Agent + 多通道的配置项很多:Agent 列表、每个 Agent 的工具、通道绑定关系、路由规则、权限。
如果全靠改配置文件,出错概率很高(一个缩进错误就启动失败)。可视化配置界面把这些变结构化表单,降低出错率,也让非技术人员能维护。
技术上这类控制台通常做三件事:写配置(生成标准的配置文件)、校验(检查冲突和缺失)、下发(重启对应服务或热加载)。
七、几个实践中的坑
1. 上下文长度失控。 多 Agent 交接后上下文会累积。要给每个 Agent 设上下文上限,超出时做摘要压缩。
2. 循环转发。 A 转给 B,B 又转回 A,形成死循环。要加转发跳数限制和防环检测。
3. 身份混淆。 群聊里 Agent 要知道"这条消息是谁说的"。消息要带发送者标识,否则可能把 A 的请求当成 B 的。
4. 权限扩散。 每个 Agent 只给必要的工具。共享工具集看起来方便,实际上放大了误操作风险。
5. 静默失败。 Agent 处理失败但没报错,用户以为处理了。要有失败上报和超时提醒。
八、写在最后
多 Agent 的技术难点不在"起多个 Agent",而在"隔离清楚、路由准确、交接顺畅"。把会话键设计好、把路由策略定清楚、把交接数据结构标准化,这套体系才能稳定跑起来。
轻量应用服务器上一键部署多 Agent 的技术方案可以看官方页面——查看 AI Agent 云端部署与多通道接入方案。具体配置与价格以页面实际展示为准。
你试过同时跑多个 AI 助手吗?记忆串台过没有?评论区聊聊。