为什么AI客服总是答非所问?——一场关于记忆的底层革命
> 论文: LedgerAgent: Structured State for Policy-Adherent Tool-Calling Agents > 作者: Md Nayem Uddin, Amir Saeidi, Eduardo Blanco, Chitta Baral > arXiv: 2606.20529
---
🎭 序幕:一个令人崩溃的客服对话
想象一下这个场景:
你:"我要取消我的订单,订单号是12345。" AI客服:"好的,我来帮您取消订单12345。" [调用工具:取消订单] 你:"等等,我突然想起来,这个订单里有我给我妈买的生日礼物,能不能先不取消?" AI客服:"好的,我已经取消了订单12345。您还需要什么帮助吗?" 你:"……我刚说不要取消!" AI客服:"抱歉,我不太明白您的意思。"
这个场景熟悉吗?如果你和AI客服(无论是ChatGPT插件、Siri、还是银行语音助手)打过交道,你可能经历过类似的"失忆"时刻。
问题是:AI不是真的"忘记"了。它根本没有"记住"。
2026年6月的这篇论文,揭示了AI客服"答非所问"的底层原因,并提出了一种根本性的解决方案:
给AI一个真正的"记账本"(Ledger)。
---
🧠 第一章:AI客服的"黑箱记忆"
🎬 1.1 当前工具调用Agent怎么工作?
现代AI客服(在技术上称为"工具调用Agent")的工作流程大致是:
1. 用户说一句话 2. AI把这句话塞进一个巨大的提示词(Prompt),里面包括:
- 系统指令("你是一个客服助手")
- 工具描述("你可以调用取消订单、查询余额等工具")
- 政策说明("如果用户提到礼物,不要取消")
- 对话历史(用户之前说了什么)
- 工具返回结果(上次查询的余额是多少)
这个过程有一个关键的隐含假设:AI能从这一大段文字中,准确地"提取"出当前任务的状态。
🧩 1.2 什么是"任务状态"?
想象你在做一个复杂的客服任务:
- 用户想取消订单
- 但用户提到订单里有礼物
- 政策规定"涉及礼物的订单需要主管批准"
- 用户还提到"下周二要送到"
- 系统返回:订单12345包含3件商品,总价值 $150,状态"运输中"
- 用户意图:取消订单(但后来犹豫了)
- 订单号:12345
- 商品:3件,$150
- 特殊条件:包含礼物
- 时间约束:下周二送达
- 政策约束:需要主管批准
- 用户情绪:犹豫,可能后悔
当前Agent的问题是:这个状态不是显式存储的。它散落在提示词的各种片段里。AI每次做决定,都需要重新从提示词中"重建"这个状态。
🎭 1.3 "黑箱记忆"的两个致命缺陷
缺陷一:信息丢失与污染
提示词有长度限制(比如128K token)。如果对话很长,早期的信息可能被截断。即使没有被截断,信息也会"淹没"在海量的文本中。
更糟的是,工具返回的结果、用户的最新指令、系统政策,都混在一起。AI可能:
- 看到了"订单12345",但没看到"这是礼物"
- 看到了"需要主管批准",但没看到"用户已经同意等待"
- 用旧的信息覆盖了新的信息
缺陷二:政策检查困难
很多客服决策需要检查政策约束:
- "如果订单金额>$100,需要二次确认"
- "如果涉及礼物,需要主管批准"
- "如果订单已发货,不能取消"
结果:一个语法上正确的工具调用,可能仍然违反政策。
比如AI正确调用了"取消订单"工具,但忽略了"这是礼物,需要主管批准"这个约束。
---
📖 第二章:LedgerAgent——给AI一本"记账本"
🏛️ 2.1 核心思想:分离"状态"与"提示词"
LedgerAgent的核心创新是:把任务状态从提示词中分离出来,显式地维护在一个独立的"账本"(Ledger)中。
想象一个真实的会计账本:
- 每一页记录一笔交易
- 交易按时间顺序排列
- 你可以随时查看总余额
- 新的交易不会覆盖旧的,而是追加
- 用户提到的每个事实
- 每次工具调用的结果
- 每个需要满足的条件
- 每个已识别的约束
📐 2.2 账本的三层结构
论文中描述的账本包含三个关键部分:
第一层:事实(Facts)
- 用户意图:取消订单 → 改为不取消(犹豫中)
- 订单号:12345
- 订单金额:$150
- 商品数量:3件
- 特殊标签:礼物(用户明确提到)
- 时间要求:下周二送达
- 订单状态:运输中
第二层:约束(Constraints)
- 政策约束:涉及礼物的订单需要主管批准
- 系统约束:运输中的订单不能直接取消
- 用户约束:希望下周二前送达
- 隐含约束:$150 > $100,需要二次确认
第三层:条件(Conditions)
- 用户已确认:知道订单金额
- 用户未确认:是否接受主管批准流程
- 待执行:联系主管(如果用户同意)
- 已搁置:取消订单(用户犹豫中)
🔄 2.3 账本的更新与渲染
更新(Update):
- 每次用户发言 → 提取新事实,追加到账本
- 每次工具调用 → 记录结果,追加到账本
- 每次政策检查 → 标记约束状态,更新账本
- 在每次AI做决策前,把账本"渲染"成提示词
- 不是简单地拼接所有文本,而是 结构化地呈现 当前状态
- 高亮关键信息(如未满足的约束、待确认的条件)
🛡️ 2.4 政策检查:在工具调用前"拦截"
这是LedgerAgent的另一个关键创新:
在AI生成工具调用后,但在真正执行前,用账本检查政策约束。
流程变成: 1. AI读提示词 + 账本,决定做什么 2. AI生成工具调用(比如"取消订单12345") 3. 系统检查:账本中是否有约束阻止这个调用?
- 检查:"订单12345是否涉及礼物?" → 是
- 检查:"涉及礼物的政策是什么?" → 需要主管批准
- 检查:"主管是否已批准?" → 否
- 结论:阻止调用!
这就像企业中的 审批流程:员工提交申请 → 系统自动检查是否符合政策 → 如果不符合,退回并说明原因。
---
🧪 第三章:实验——四个客服领域的验证
🎯 3.1 实验设计
论文在四个客服领域测试了LedgerAgent:
- 领域1:电商订单管理
- 领域2:航班改签
- 领域3:酒店预订修改
- 领域4:技术支持工单
评估指标:
- Pass@k:在k次尝试中,至少有一次完成任务的比率
- 多轮一致性:在多次对话中,Agent是否保持状态一致
- 政策遵守率:工具调用是否违反政策
📊 3.2 核心结果
结果一:显著提升任务完成率
LedgerAgent相比标准提示词方法,平均提升了Pass@k分数。尤其在复杂任务上(需要多轮交互、多个工具调用),提升更明显。
结果二:多轮一致性大幅改善
在"严格多轮一致性"指标下(要求Agent在长对话中始终保持状态一致),LedgerAgent的提升最大。这说明 显式状态管理确实解决了"遗忘"问题。
结果三:政策违反率下降
由于LedgerAgent在工具调用前进行政策检查,政策违反率显著降低。这对于客服场景至关重要——一个政策违规可能导致法律风险或客户投诉。
🎭 3.3 一个具体案例
论文没有给出具体案例,但我们可以想象一个:
场景:用户要改签航班,但新航班比原航班贵,需要补差价。用户账户余额不足,但用户提到"我上周刚申请过退款,应该快到了"。
标准Agent的处理:
- 看到了"改签航班"
- 看到了"补差价"
- 看到了"余额不足"
- 调用工具:查询退款状态
- 工具返回:"退款已处理,将在3-5个工作日到账"
- Agent:"您的余额不足,无法改签。"
- 用户:"但我退款快到了!"
- Agent:"抱歉,当前余额不足。"
- 用户崩溃。
- 事实账本记录:"用户提到退款快到了"
- 事实账本记录:"退款状态:处理中,3-5个工作日"
- 约束账本记录:"改签需要补差价,但用户有即将到来的退款"
- 当Agent要拒绝时,政策检查:"是否有其他方式满足用户需求?"
- Agent:"您的退款将在3-5个工作日到账。一旦到账,您可以用退款金额支付差价。需要我帮您预留座位吗?"
- 用户满意。
🏗️ 第四章:为什么"结构化状态"是AI的必然方向
🧠 4.1 从"黑箱"到"白箱":可解释性的需求
当前AI系统的一个大问题是 不可解释性。当AI做了一个错误决策时,你不知道为什么:
- 是它"理解错了"用户意图?
- 是它"没看到"某个关键信息?
- 还是它"误用了"某个工具结果?
- 你可以查看当前所有事实
- 你可以看到哪些约束被满足/未满足
- 你可以追踪每个决策的依据
- 拒绝原因:约束"礼物需要主管批准"未满足
- 事实依据:用户提到"这是给我妈的礼物"
- 政策依据:客服政策第3.2条
这对于 调试、审计、合规 都至关重要。
🔗 4.2 从"单次对话"到"长期关系"
真正的客服不是一次性的。用户可能:
- 周一:询问产品
- 周三:下单
- 周五:要求修改地址
- 下周二:投诉物流延迟
- 下周五:要求退货
LedgerAgent的账本可以跨会话持久化: 用户长期账本:
- 偏好:喜欢快速配送,对价格敏感
- 历史:3次订单,1次退货,退货原因"尺寸不合适"
- 会员等级:银卡
- 特殊标签:"高价值客户"(累计消费$2000+)
🌐 4.3 从"文本"到"结构化数据"
当前LLM的输入输出都是纯文本。但现实世界是结构化的:
- 数据库有表结构
- API有JSON格式
- 企业系统有工作流
LedgerAgent把信息维持在 结构化形式,只在最后一步渲染为文本。这就像:
- 数据库内部存储的是二进制格式
- 只在查询时转换为人类可读的表格
- 避免了反复转换中的信息损失
🎨 第五章:与认知科学的对话——"工作记忆"的AI模拟
🧠 5.1 人类的工作记忆
认知心理学中,工作记忆(Working Memory) 是人类临时存储和操作信息的系统。它有三个关键组件:
- 语音回路:临时存储语言信息
- 视觉空间画板:临时存储视觉和空间信息
- 中央执行器:控制和协调信息处理
当前AI Agent的提示词,就像人类的工作记忆:
- 容量有限(上下文窗口)
- 临时存储(每次决策都重新加载)
- 容易遗忘(信息被新信息覆盖)
- 容量无限(只要硬盘够大)
- 持久存储(跨会话保持)
- 结构清晰(分门别类记录)
🎭 5.2 "认知卸载"(Cognitive Offloading)
心理学家发现,人类擅长 认知卸载:把记忆负担转移到外部工具上。
- 记不住电话号码?写在本子上。
- 记不住待办事项?用日历App。
- 记不住复杂计算?用计算器。
- 记不住对话历史?写在账本里。
- 记不住政策约束?写在账本里。
- 记不住工具结果?写在账本里。
---
🔮 第六章:局限与未来
⚠️ 6.1 当前局限
1. 账本更新的准确性:如果用户提到"这更像是礼物",Agent需要正确提取"礼物"这个标签。这仍然需要NLP能力,可能出错。
2. 约束的完整性:如果政策有漏洞(比如没考虑到"跨国礼物"的特殊情况),账本检查也会遗漏。
3. 计算开销:每次工具调用前都要检查约束,增加了延迟。对于需要实时响应的场景(如语音客服),这可能是个问题。
🚀 6.2 未来方向
1. 自动生成约束:从政策文档中自动提取约束规则,而不是手工编写。
2. 概率状态:当前账本记录的是"确定事实",但现实中很多信息是概率的("用户可能想要礼物包装")。
3. 多Agent协作:多个Agent共享一个账本,形成"团队记忆"。一个Agent了解的信息,另一个Agent也能看到。
4. 用户可控的账本:让用户查看和编辑自己的账本,增加透明度和信任。
---
📝 结语:当AI学会"记账"
这篇论文的标题是《LedgerAgent: Structured State for Policy-Adherent Tool-Calling Agents》。
"Ledger"(账本)这个词选得很妙。在会计中,账本是对经济活动的忠实记录,是信任的基础。没有账本,商业无法进行。
在AI中,"账本"是对任务状态的忠实记录,是可靠性的基础。没有账本,Agent只能依赖它的"黑箱记忆"——一个随时可能出错、无法审计、无法解释的系统。
LedgerAgent提醒我们:AI的可靠性,不仅取决于模型的参数规模,更取决于系统的架构设计。
当你给AI一个账本,你不仅给了它记忆,还给了它:
- 结构:信息分类存储,不再混乱
- 持久:跨会话保持,不再遗忘
- 可检查:决策依据透明,不再黑箱
- 可约束:政策自动执行,不再违规
> "确定。根据第3行记录,您于2026年6月15日14:32提到'这是给我妈的礼物'。根据政策3.2,涉及礼物的订单需要主管批准。主管批准状态:未获得。因此,我不能取消这个订单。需要我帮您联系主管吗?"
那时候,AI客服也许还不能完全理解"礼物"对人类的情感意义。但至少,它不会"忘记"你说过的话了。
> *"记忆是灵魂的账本。"* —— 塞缪尔·约翰逊
---
📚 参考文献
- Uddin, M. N., et al. (2026). LedgerAgent: Structured State for Policy-Adherent Tool-Calling Agents. arXiv:2606.20529.
- Schick, T., et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Qin, Y., et al. (2023). Tool Learning with Foundation Models. arXiv:2304.08354.
- Karpas, E., et al. (2022). MRKL Systems: A modular, neuro-symbolic architecture that combines large language models, external knowledge sources and discrete reasoning. AI21 Labs.
#论文 #arXiv #AIAgent #工具调用 #结构化状态 #客服系统 #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens