跳转到主要内容

跨渠道记忆:当你的智能体遗忘邮件上下文时

阅读需 1 分钟Tian PanTian Pan

周一,一位客户在 Slack 上询问你的助手如何启用某项功能,得到了清晰的回答,然后继续工作。到了周五,他们发邮件要求确认之前的决定,而运行在不同会话存储上的助手——完全不知道周一的聊天发生过——给出了截然相反的建议。客户不会针对两个产品提交两张工单,他们会针对你的 AI 提交一张工单,而且他们是对的。对他们来说,只有一个助手。你写了三个助手并将它们粘在三个特定渠道的会话存储上,这本该是你不该泄露的实现细节。

这就是跨渠道记忆问题,它处于两个被团队低估的因素的交汇点:用户对连续性的假设有多强烈,以及渠道团队为了快速交付而编写各自会话存储的行为有多普遍。最近的行业数据清晰地揭示了这一差距——只有 13% 的组织成功实现了全渠道的完整对话上下文衔接。碎片化多渠道支持的 CSAT(客户满意度)仅为 28%,而真正的全渠道支持则为 67%。这 39 个百分点的差距并不是模型质量的差距,而是记忆架构的差距。

默认架构:三个披着同一件马甲的助手

走进大多数正在开发多端智能体的团队,架构图看起来都很连贯:一个 LLM,一个工具层,一个提示词模板。但假象在会话存储层就破裂了。聊天挂件将数据写入以访客 cookie 为键的 Postgres chat_sessions 表;邮件处理程序写入以 message-id 为键的 support_threads 表;短信机器人写入以电话号码为键的 Redis 哈希;语音助手则写入 IVR 供应商提供的任何存储。

每个存储层都由不同的团队在不同的时间线上构建,遵循不同的保留规则。它们彼此互不相识。每个界面的“记忆”都是一个烟囱,而中间的 LLM 只是一个无状态函数,通过读取被调用时的那个烟囱,来假装自己是一个连续的对话者。

这在用户做出那种用户行为之前运行良好,即提起他们在其他地方说过的话。“就像我昨天在邮件里提到的”——助手找不到昨天的邮件,因为邮件处理程序把那条线程写进了一张聊天处理程序看不见的表。模型用最合理的回答填补了空缺,通常是礼貌地重申问题。对用户来说,这像是助手在假装没收到邮件。对你来说,这是一个完全正确的响应,来自一个确实没收到邮件的系统。两种解读都对,但只有一种解读是有意义的。

用户的心理模型是不容侵犯的

针对这一点,有一种诱人的产品响应,即教导用户“邮件助手”和“聊天助手”是不同的东西。一些团队围绕这一点构建了整个新手引导流程。这行不通,原因值得深思:用户不是通过代码路径来建模 AI 助手的,而是通过身份。如果头像名字相同、声音相同,并且回答关于同一个产品的问题,那么它就是同一个东西。这不是用户逻辑的漏洞,而是品牌身份百年来运作的方式,AI 也不能例外。

一旦你接受了无论你写了多少个后端处理程序,面向用户的实体都是唯一的,架构就不再是一个偏好问题,而是一个正确性问题。同一个实体在周二记得的事情不能和周一记得的不同,不能在聊天中给出一个答案而在邮件中给出相反的答案,也不能在短信中询问一个已经在语音通话中问过的问题。如果它做了这些事,那么在用户关心的唯一意义上,它就是“坏了”。

“渠道无关记忆”的真正含义

修复方案是结构性的,而且并不含蓄。记忆层需要位于渠道处理程序之下一层,而不是在它们内部。每个界面——聊天、邮件、短信、语音、应用内——都从同一个存储中读取和写入,且该存储以稳定的用户身份而非单个渠道的会话令牌为键。

要实现这一点,必须满足三个条件,而大多数团队只满足了一两个就交付了,这就是为什么这种失败模式如此普遍。

第一是身份解析 (Identity Resolution)。你需要一个统一的用户表,将每个特定渠道的标识符——访客 cookie、电子邮件地址、电话号码、账户 ID、OAuth 主体——映射到唯一的规范用户。这听起来比实际操作要难,因为标识符并不总是能对上。周一聊天的访客可能没有登录。周五的邮件来自一个从未在聊天会话中出现的地址。短信来自一个账户里没有记录的电话号码。生产系统使用确定性匹配(验证过的邮箱/电话、已认证的会话)和概率性匹配(浏览器指纹、行为信号、时间接近度)来填补空白。跳过身份解析的团队最终会得到会向错误用户发送消息的智能体。

第二是直写记忆层 (Write-through memory layer)。跨所有渠道的每一次交互都要在发生的瞬间写入共享存储,而不是通过夜间的批量同步。如果聊天助手在 10:03 了解到用户的某些信息——偏好、之前的决定、未解决的问题——那么这些事实必须在 10:04 对邮件处理程序可见,因为用户很可能在期间切换了界面。直写是唯一能承受真实多端使用场景下的时间密度的模式。任何最终一致性的方案都会在用户察觉到的时间尺度上产生矛盾。

会员专享

余下内容仅对会员开放。

会员可读完整内容 —— 每一个公开发布的观点背后,那些框架、决策与推理的全貌。

  • 完整文章,包含未公开存档的部分
  • 可落地的工作框架,附带权衡与决策依据
  • 新文章抢先看,先于公开发布

随时取消 · 一次订阅,畅读全部

参考资料

保持联系,关注我获取更多内容

阅读需 9 分钟

为什么你的智能体需要只读副本:智能体记忆的读写分离

智能体记忆通常是一个存储承担两份工作。将其视为没有副本的单主数据库,并实现读写分离,可以解决过时的上下文、写入过程中的损坏以及随记忆增长而增加的延迟。

insider
ai-agents
阅读需 11 分钟

智能体记忆漂移:为什么一致性对齐是你缺失的关键环

长期运行的智能体在停止观察的那一刻起就与世界脱节。应将记忆视为数据库副本:使用水位线 (watermarks)、变更摘要 (change feeds) 和惰性重校验。

insider
ai-agents
阅读需 9 分钟

你的智能体内存需要垃圾回收机制

持久化智能体内存默认会单调增长,因此过时的事实会污染之后检索它们的每一次运行。本文将探讨为什么仅靠 TTL 是不够的,以及过时评分、替代链、溯源和写入时门控如何将内存从简单的日志转变为一套生命周期管理系统。

insider
ai-agents
阅读需 10 分钟

那个记得你撤回了什么的智能体:将删除作为一等公民的记忆操作

只增(append-only)的智能体记忆存储在存储的事实失效的那一刻就开始腐烂。为什么删除、撤回和失效必须是一等公民操作 —— 以及如何设计可被查找、反驳和移除的记忆写入。

insider
ai-agents
阅读需 11 分钟

智能体记忆是合规层面:你从未打算构建的记录管理系统

在智能体产品中,长期记忆并非仅仅是一项功能 —— 它是一个记录管理系统。从写入第一条数据的那天起,溯源、删除、审计和数据驻留义务便随之而来;在截止日期前临时修补这些功能的成本远高于在设计之初就构建它们。

ai-agents
compliance