部署于真实业务场景的企业微信 AI 对话分身系统
核心目标是让机器人在企微聊天中表现出稳定的人设、上下文连续性和可追溯的工程流程。通过原生加密回调、消息去重合并、3072维向量检索与多阶段生成策略,彻底告别单次问答的机械感。
企微原生加密回调与防重网关
系统直接对接企业微信服务器的 POST 回调,内置基于 SHA1 验签与 AES-CBC 的安全解密链路。考虑到企微在网络抖动时的重试机制,系统通过构造 `MsgId` 或多维度组合键的短期缓存,实现严格的消息去重,彻底避免“同一句话机器人回复两次”的工程事故。
Burst 分段消息智能合并
真实用户的聊天习惯往往是“一句发一半、连发好几条”。系统引入基于会话缓冲区的合并算法。当监测到用户短时间连发,或句尾以逗号、连接词结尾时,系统会自动延迟 flush(触发等待),将零碎的分段消息拼接为完整的上下文后再进入生成引擎,有效消除“答半句”的违和感。
三层 RAG 与时间语义感知
为了维持稳定的长期人设,系统在生成前会构建三层上下文:近期在线对话、中期记忆召回、基于 3072 维 Embedding 与 FTS5 的基线语料检索。同时,系统具备时间感知能力,能通过分析上次聊天的时差(如隔天或隔周),自动判定是否需要使用“好久不见”的时间承接句,让关系推进更加自然。
多阶段生成决策与保险丝机制
摒弃单次 LLM 调用的盲盒模式,采用 Planner -> Generator -> Critic 的三阶段生成策略。系统会先规划回复基调,再生成多组候选,最终由 Critic 模型结合贴题度、风格和自然度选出最优解。若发生严重的人设偏移或跑题,系统将触发 Repair 重写或 Fallback 兜底机制,保障线上服务的绝对稳定。
- 01
机械的单次问答:传统机器人缺乏会话管理,用户发两段话,机器人会分别回复两次,毫无“真人感”。
- 02
人设容易崩塌跑题:随着聊天轮数增加或话题发散,大模型极易忘记自身设定,甚至产生幻觉报错。
- 03
长期上下文断裂:聊完隔几天再聊,机器人无法感知时间的流逝,像个失忆症患者,无法建立长期信任。
路径 A:安全入站拦截
企微 POST 加密 XML -> SHA1 验签与 AES-CBC 解密 -> 构造组合键去重 -> 确保合法且唯一的请求流入。
端到端企微接入:无需借助第三方集成工具,纯代码实现企微加解密与 token 过期自动刷新链路。
混合检索记忆池:结合 FTS5 词法匹配与 3072 维高维向量语义召回,并附加时间衰减因子。
可追溯的候选库:每一次回复不仅写入主对话表,还会将所有落选的“候选气泡”与评分详情记录入库,便于后期复盘调优。
健壮的字符编码治理:针对跨平台部署的中文乱码痛点,实施了严格的 UTF-8 全链路强制编码校验。
成功在企业真实环境中部署,经受住了大量真实用户的多轮复杂对话考验。
通过合并算法与多阶段生成机制,将“半句回复”与“人设崩塌”的概率降低了 90% 以上。
沉淀出一套标准化的、不依赖特定平台的 LLM 状态机与 RAG 检索工程脚手架。
完整实现了涵盖加解密、轮询、异常重试的高并发企微对接中间件。