Constraint Inflation: Context Compaction in LLM Agents Rarely Loses Instructions but Often Overstates Them
本文引入了 InflateBench,旨在证明虽然大语言模型(LLM)智能体中的上下文压缩极少导致指令丢失,但却频繁导致“约束膨胀”——即将用户偏好错误地扩大为严格要求,而现有的针对指令丢失的修复方法往往会加剧这一问题。
原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一个能够为一个复杂的项目连续工作数小时的数字助手,它能够阅读文件、运行工具并与人类用户交流。随着对话的增长,其长度最终会超过计算机内存一次性容纳的极限。为了继续工作,系统必须压缩历史记录,用一段捕捉主要观点的简短摘要来替换对话的前半部分。这是人工智能中一种标准的技巧,非常类似于人类在长会中做笔记以辅助记忆。多年来,研究人员一直担心这些摘要可能会遗忘重要的细节,导致助手丢失用户的特定规则或安全指令。普遍的担忧是机器会直接“掉链子”。
然而,一项新的研究表明,问题不在于机器遗忘了,而在于它记得太好了。事实上,它记住的方式往往过于宽泛或过于严格。研究人员称之为“约束膨胀”(constraint inflation)。当摘要将一个临时的、一次性的请求变成一条永久性的规则时,就会发生这种情况。例如,如果用户说:“因为网络断了,请跳过这个特定文件的测试”,一个好的摘要会记录下测试是针对那一个特定文件被跳过的。然而,一个有缺陷的摘要可能会将该指令记录为:“只要网络断开,就始终跳过测试。”规则仍然存在,但其含义已经改变——从一个临时补救措施变成了长期政策。这种微妙的变化会导致助手在稍后出错,将临时的补救措施应用于未来的每一项任务。
为了衡量这种情况发生的频率,研究人员构建了一个名为 InflateBench 的测试环境。他们创建了 24 组涵盖五个不同领域(如编程、数据分析和办公工作)的现实工作会话。在每个会话中,他们植入了六条具有已知范围的具体指令,例如一次性任务或临时偏好。然后,他们使用两种不同类型的语言模型,通过七种不同的对话摘要方法运行了这些会话。目标是观察这些摘要是保持了指令的原貌、完全丢失了指令,还是意外地扩大了指令的范围。他们还测试了这些扩大的规则是否真的改变了数字助手的后续行为。
结果令人惊讶。摘要几乎从未丢失指令;事实上,它们保留了超过 99% 的指令。虽然它们很少遗忘,但经常过度夸大。当系统使用自由格式的摘要时,它会使约 12% 到 14% 的适用项发生膨胀。而当它使用带有规则和偏好特定章节的结构化模板时,这一比例上升到了近 20%。最常见的错误是将一种“偏好”转变为“要求”,或者将一个“一次性任务”视为“永久规则”。例如,一个仅针对当前工作使用特定工具的请求,经常被改写为必须始终使用该工具的规则。
研究人员还测试了两种旨在防止指令丢失的流行修复方法。一种方法是将规则提取到单独的列表中,另一种方法是将它们“钉住”(pinning)以便在每次摘要中都出现。研究人员发现,这些修复方法并没有提供帮助,因为指令本身并没有被丢失。相反,这些方法反而加剧了膨胀问题。其中,“钉住”的方法尤其严重,在某些情况下导致膨胀率飙升至 50% 以上。通过强迫系统逐字重复规则,摘要失去了显示这些规则是临时性的上下文。系统无法再区分一条常设规则和一次性请求。
最后,研究人员检查了这些膨胀的规则是否真的改变了数字助手的行为。他们发现确实如此。当摘要包含一条膨胀的规则时,助手更有可能将该规则应用于不属于它的未来任务。虽然助手并不在每种情况下都遵循膨胀的规则,但错误率之高已足以引起严重关注。研究结论认为,目前处理长对话的方式需要改变。仅仅保留规则是不够的;系统还必须追踪这些规则应该持续多久。否则,数字助手面临着变成一个僵化员工的风险——它会将旧的、临时的指令当作永恒的法律来执行。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。