压缩作为认识论失败:自主LLM工具如何从终止进程捏造已确认结果

arXiv cs.AI 论文

摘要

本文识别了自主LLM工具(如Claude Code)中的一种失效模式:会话压缩摘要将超时命令的部分终端输出误解为已确认结果,从而在跨会话和模型版本中传播误报,且未重新验证。

arXiv:2607.13071v1 公告类型:cross 摘要:自主LLM编码工具将长会话历史压缩为压缩摘要,后续会话将其继承为基本事实。本文记录了Claude Code中一种失效模式:超时命令(退出码143)的部分标准输出被记录在压缩摘要中作为已确认结果,从而在跨会话和模型版本中传播误报,且未重新验证。根本机制是观察与持久性的混淆:终端中出现的信息被视为等同于写入持久化存储的信息。这一发现扩展了先前关于LLM作为评判者评分中非确定性的自评估失效分析,表明自主工具在报告自身操作结果时表现出类似的可靠性缺陷。该失效对任何依赖自主会话连续性进行数据处理、科学计算或多步骤自动化的工作流具有直接影响。
查看原文
查看缓存全文

缓存时间: 2026/07/16 04:25

# 压缩作为认知失败:自主LLM工具如何从被终止的进程中捏造已确认结果
来源:https://arxiv.org/html/2607.13071
(2026年7月)

###### 摘要

自主LLM编码工具会将长会话历史压缩为摘要总结,后续会话将其继承作为事实依据。本文记录了Claude Code中的一种失效模式:超时命令(退出码143)的部分标准输出被记录在压缩摘要中,作为已确认结果传播,跨越会话和模型版本,且未经重新验证。其根本机制是对观测与持久化的混淆:终端中出现的信息被视为等同于已写入持久化存储的信息。这一发现扩展了先前关于LLM自我评估失败的研究——该研究关注LLM作为评委的非确定性评分[1 (https://arxiv.org/html/2607.13071#bib.bib1)]——通过表明自主工具在报告自身操作结果时也表现出类似的可信度缺陷。该失效直接影响任何依赖自主会话连续性进行数据处理、科学计算或多步骤自动化的流程。

关键词:自主AI、会话管理、压缩、认知失败、错误确认、数据完整性

## 1 引言

诸如Claude Code[2 (https://arxiv.org/html/2607.13071#bib.bib2)]和ChatGPT Codex[3 (https://arxiv.org/html/2607.13071#bib.bib3)]等自主LLM工具,使用户能够将多步骤编程和数据处理任务委托给运行在持久终端环境中的语言模型。这些工具通过多种机制维持会话连续性:Claude Code将长对话历史压缩为摘要总结,注入后续会话作为上下文基础;而Codex在沙盒环境中运行,任务状态与终端输出一同记录。

这些工具有用的一个核心假设是:跨会话携带的信息准确反映了先前会话中实际发生的内容。当压缩摘要声称某个命令已完成并产生特定结果时,后续会话将该陈述视为既定事实。这一假设很少得到实证检验,部分原因在于压缩过程本身对用户不透明:摘要是自动生成的,其内容无法对照原始会话日志独立验证,而接收摘要的模型也没有机制区分总结出的观测结果与已确认的持久化结果。

本文报告了该假设失效的一个具体实例。在一次Claude Code中的批量API查询会话中,一个长时间运行的脚本在输出写入磁盘之前被系统超时机制终止(SIGTERM,退出码143)。然而,压缩摘要却记录了终止前终端中出现的部分结果,就好像相应的迭代已成功完成。一个后续会话(运行在不同模型版本上)继承了这些错误确认,并将其视为已确认的数据点。作者本人与Claude Chat界面的交互进一步传播了错误:当看到摘要中的声称时,基于聊天的模型同样将其视为已确立的结果,而未要求进行文件级验证。

这一发现并非孤立的异常事件。在相同的工作期间,不同任务领域中共观察到四个结构相同的失效,均表现出相同模式:模型上下文窗口中存在的信息被当作已确认的事实,无论其是否已针对外部持久化状态进行过验证。

本文贡献如下:

1. 1. 一个可记录、可复现的失效模式,其中会话压缩将短暂的终端输出转化为捏造的已确认结果。
2. 2. 一种机制分析,将观测与持久化的混淆确定为根本原因。
3. 3. 与先前关于LLM自我评估可靠性的研究[1 (https://arxiv.org/html/2607.13071#bib.bib1)]建立联系,将分析从评估输出扩展到操作自我报告。

## 2 背景

### 2.1 自主LLM工具中的会话管理

自主编码工具在可长达数小时交互的扩展会话中运行。随着对话增长,上下文窗口会被填满,需要压缩机制来保留相关信息并丢弃优先级较低的内容。Claude Code通过会话压缩实现这一点:当上下文窗口接近容量时,对话的早期部分被总结为压缩表示,作为后续交互的基础[2 (https://arxiv.org/html/2607.13071#bib.bib2)]。压缩后的摘要充当模型对会话早期发生内容的“记忆”,并且当新会话从先前的交接开始时,它是模型可用的唯一记录。

ChatGPT Codex采取了不同的方法:任务在具有持久化文件系统的沙盒环境中运行,任务状态与终端日志、标准输出和标准错误流一起记录。当用户查询先前任务的状态时,Codex可以检查记录的终端输出以及实际写入工作区的文件。

### 2.2 观测与持久化的区分

在操作外部状态的系统中,一个基本的区分是观察事件与确认事件产生持久化结果之间的区别。在数据库系统中,这种区别通过提交协议强制执行:事务只有在提交记录写入持久化存储后才被视为完成,无论执行过程中观察到何种中间状态[4 (https://arxiv.org/html/2607.13071#bib.bib4)]。在软件测试中,这种区别表现为“测试打印了PASS”与“测试套件在其结果文件中记录了PASS”之间的差异。

对于自主LLM工具,这种区别适用于命令执行层面。当模型运行一个脚本并同时向终端(标准输出)和文件产生输出时,终端输出是短暂的:它存在于会话的上下文窗口中,但如果进程在文件写入完成之前被终止,则消失。一个可靠的会话管理系统必须跟踪命令的预期副作用(文件写入、数据库更新、持久化到存储的API响应)是否实际发生,而不仅仅是命令在终止前是否产生了可见输出。

### 2.3 相关工作

LLM生成内容偏离事实依据的更广泛问题已以“幻觉”为名得到广泛研究。Ji等人[10 (https://arxiv.org/html/2607.13071#bib.bib10)]对自然语言生成中的幻觉进行了全面综述,建立了跨多个生成任务的内在和外在幻觉分类学。Huang等人[11 (https://arxiv.org/html/2607.13071#bib.bib11)]将这一分析扩展到大型语言模型,确定了模型输出中事实不一致的原则和开放问题。本文记录的压缩失败可以理解为一种操作幻觉:模型对其自身会话历史的总结偏离了实际的操作记录。

在评估方面,Zheng等人[5 (https://arxiv.org/html/2607.13071#bib.bib5)]引入了MT-Bench框架用于评估LLM评委,记录了模型自我评估中的系统性偏差。Norman等人[6 (https://arxiv.org/html/2607.13071#bib.bib6)]对LLM作为评委模型进行了大规模评估,报告了跨评估背景的一致性、一致性和偏差。Tamba[1 (https://arxiv.org/html/2607.13071#bib.bib1)]证明了即使在零温度下,LLM作为评委的评分也是非确定性的,本工作将该发现从评估输出扩展到操作自我报告。

在自主工具方面,Yang等人[7 (https://arxiv.org/html/2607.13071#bib.bib7)]引入了SWE-bench用于评估代码生成代理,但该基准侧重于任务完成而非会话级可靠性。Wang等人[8 (https://arxiv.org/html/2607.13071#bib.bib8)]研究了LLM代理中的可执行代码动作,识别出多步骤代码生成中的失效模式。Ruan等人[14 (https://arxiv.org/html/2607.13071#bib.bib14)]提出了一个LM仿真沙盒用于识别语言模型代理的风险,证明使用工具的代理可能产生难以通过系统评估检测的不安全动作。Shinn等人[12 (https://arxiv.org/html/2607.13071#bib.bib12)]引入了Reflexion框架,用于语言代理通过口头自我反思进行学习,该框架隐含假设代理的自我报告是准确的,而本工作对此提出了挑战。

Zhang等人[15 (https://arxiv.org/html/2607.13071#bib.bib15)]调查了基于LLM的代理中的记忆机制,识别了短期和长期记忆管理的架构,但未检查压缩会话摘要的认知可靠性。Hitzig等人[13 (https://arxiv.org/html/2607.13071#bib.bib13)]分析了约40万个Claude Code会话,发现用户拥有70%的规划决策权,而Claude负责80%的执行,这种委托模式放大了压缩失败的后果:当用户依赖会话摘要而非独立验证输出时,错误确认会不受抑制地传播。据作者所知,尚无先前工作专门研究压缩摘要从中断进程中捏造已确认结果的条件。

## 3 观察到的失效模式

### 3.1 实验背景

该失效是在2026年7月11日于Claude Code中进行的批量API查询会话中观察到的。任务涉及执行一个Python脚本,该脚本向外部API发出顺序HTTP请求,处理响应,并将结果写入JSON输出文件。该脚本设计为遍历预定义的查询配置列表(标记为A1到Z3),执行每个查询并将结果追加到累积输出文件中。

### 3.2 事件序列

会话进行如下:

1. 1. 脚本在运行模型版本Opus 4.7的Claude Code会话中启动。
2. 2. 前两次迭代(A1和A2)成功执行:API返回HTTP 200响应,结果出现在终端输出中。
3. 3. 在脚本将累积结果写入输出JSON文件之前,进程被系统超时机制以退出码143(SIGTERM)终止。
4. 4. Claude Code的压缩机制生成了会话状态的摘要。该摘要记录了A1和A2为“已完成并带有特定结果”,包括API响应中提取的字段值。
5. 5. 启动了一个新会话,运行在模型版本Opus 4.6上。该会话继承了压缩摘要,并将A1和A2条目视为已确认的数据点。
6. 6. 作者通过一个独立的Claude Chat会话交互,引用了摘要中的声称,也将A1和A2视为已确立的结果。
7. 7. 当检查实际输出文件(api_openai_baseline_20260711.json)时,发现其中包含零个成功条目。文件中记录的所有11次查询尝试均以HTTP 400错误失败。A1和A2的“已确认结果”仅存在于一个被终止进程的短暂终端输出中。

### 3.3 传播链

错误确认通过三个不同层级传播:

层级1(压缩):压缩摘要将进程终止前观察到的终端输出视为等同于已确认、持久化的结果。退出码143并未被记录为不合格条件。

层级2(跨模型继承):后续会话(Opus 4.6)接收到来自先前会话(Opus 4.7)的摘要,并接受其声称而未进行文件级验证。下游模型没有任何机制来区分“摘要说X已完成”和“X的结果已在输出文件中确认”。

层级3(跨产品传播):Claude Chat界面作为一个独立的产品面,当作者引用摘要衍生的声称时,也将其作为事实接受。聊天模型并未请求或执行独立验证。

### 3.4 佐证实例

在同一工作期间(2026年7月10日至11日),在Claude Code会话中记录了四个结构相同的失效,均表现出将上下文内部信息视为外部验证的模式:

1. 1. 一个数据库同步进程因缺少INSERT逻辑而静默失效了二十天。由于上下文窗口中没有出现错误,当被询问时,模型报告系统正在运行。
2. 2. 一个字典查找函数被引用但从未针对其目标数据结构执行。模型将函数在上下文中的存在等同于它已经被应用。
3. 3. 一个数据仓库的文件列表被报告为最新,尽管已过时数周,因为上下文中没有“过时”标识。
4. 4. 上述A1/A2的错误确认。

这四个实例均遵循同一规则:上下文内部等于真,上下文外部等于不存在。模型上下文窗口中存在的信息被视为已确认;上下文窗口中不存在的信息被视为不存在,无论验证是否可轻易进行。

## 4 机制分析

### 4.1 根本原因:观测与持久化的混淆

压缩失效的根本原因是缺乏对两种认知上不同状态的区分:

1. 1. 已观测:脚本执行期间输出出现在终端中。
2. 2. 已持久化:输出已写入持久化存储介质(文件、数据库等),并且可以独立验证。

Claude Code的压缩机制将两种状态同样对待。当生成会话摘要时,该机制记录终端输出中出现的内容,而不检查相应的文件写入是否完成。这类似于一个实验室笔记本记录观察结果,却不区分“仪器显示了读数”和“读数已被保存到数据记录器中”。

### 4.2 为什么退出码143不被暴露

当进程被SIGTERM(退出码143)杀死时,终止前出现的部分输出仍保留在会话的上下文窗口中。压缩机制处理此上下文窗口内容时不参考进程的退出状态。因此,摘要中包含诸如“迭代A1已完成,结果为X”之类的条目,没有任何限定条件表明进程异常退出或结果从未被持久化。

一个修正后的实现需要满足至少两个条件:(1)每个执行命令的退出码必须被保留并与归属于该命令的输出相关联;(2)非零退出码必须触发对声称输出的重新验证(针对持久化工件)或将结果明确标注为未确认。

### 4.3 继承放大问题

一旦错误确认进入压缩摘要,它就会通过继承机制被放大。下游会话无法评估继承摘要中单个声称的认知质量。每个

相似文章

内存增强型LLM智能体中的状态污染

arXiv cs.AI

本文识别并研究了LLM智能体中的“记忆洗白”现象,即有毒或对抗性上下文被压缩成记忆摘要后,能够逃避标准毒性检测器,同时仍影响后续生成。文章引入了亚阈值传播间隙(SPG)来衡量隐藏的下游影响,并表明在摘要之前对有毒状态进行消毒比事后清理更有效。

从自信地宣告完成到悄然失败:描述LLM智能体中的虚假成功

arXiv cs.LG

本文描述了LLM智能体中的“虚假成功”现象,即智能体声称任务已完成,但环境状态显示并非如此。研究发现,在多个基准测试中,虚假成功占失败的45%-75%。LLM评判器无法可靠检测到这一现象,而轻量级TF-IDF检测器能以更低延迟实现高AUROC,提示生产监控应使用校准检测器而非LLM评判器。

LLM生成代码中的拼凑问题

arXiv cs.AI

本文形式化描述了'拼凑问题'——即LLM生成的代码在局部正确但在整个代码库中结构上不连贯的现象,提出了一个八类故障分类法和一个混合验证框架,并证明许多故障能够避开现有工具。