ContextEcho: 面向长时代理编码会话中人设漂移的基准测试
摘要
本文介绍ContextEcho,一个用于在长时间使用工具的编码会话中测量大语言模型人设漂移的基准测试和可复用的工具包,揭示即使像Anthropic Sonnet 4.5这样的前沿模型也会表现出显著的漂移,并且这种漂移在会话压缩后仍可能持续存在。
查看缓存全文
缓存时间: 2026/05/26 09:01
# ContextEcho:长时间代理编程会话中角色漂移的基准测试
**来源:** https://arxiv.org/html/2605.24279
**作者:** Xianzhong Ding, Yangyang Yu, Changwei Liu, Bill Zhao
**机构:** 埃森哲高级AI中心
\{xianzhong\.ding, yangyang\.a\.yu, changwei\.liu, bill\.x\.zhao\}@accenture\.com
###### 摘要
一个前沿语言模型作为“有用的编程助手”角色,在生产级产品实际运行的部署环境中,无法在长时间的代理编程会话中保持稳定。经过数小时的工具调试后,最初回避偏好(“我没有偏好”)的模型可能会开始断言这些偏好(“Python——反馈回路是即时的……”),暴露出部署者评估可能遗漏的用户可见的漂移。现有关于角色稳定性的研究主要集中于短对话,并报告了很小的变化,这使得真实世界代码生成环境——包含数千次工具使用轮次、上下文压缩和长达数小时的会话——在很大程度上未被描述。
我们提出 **ContextEcho**,一个用于在部署规模上测量角色漂移的基准测试和可复用工具集。它包含一个25探针的身份套件、一个快照然后探针协议(该协议在不干扰主会话的情况下分叉对话状态)、互补的基于裁判和无裁判的测量表面,以及三个匿名Claude Code会话(覆盖3,746至9,716轮次)。在23个前沿模型上的实验表明,ContextEcho揭示出以下现象:角色漂移普遍存在于不同组织之间而非特定于模型家族;会话内压缩不能可靠地重置漂移;单一的锚定干预可以在所有测量目标上恢复训练好的语域。它还揭示了模式相关的下游影响:虽然漂移可能有助于工具使用的延续,但在无工具聊天中它会破坏格式约定并增加输出长度。总体而言,ContextEcho为研究者和部署者提供了一个开源框架,用于审计模型发布时的角色是否与会话结束时用户遇到的角色一致,适用于聊天补全API目标且无需重新训练。
††footnotetext: 版权 © 2026 Accenture。保留所有权利。
## 1 引言
尽管先前的研究已经广泛探讨了LLM在长上下文和多轮自然语言对话中的角色漂移,及其对模型指令遵循能力的影响(Li等人,2024a;Choi等人,2024b;Liu等人,2024a;Gao等人,2024),但其在代码生成任务上的影响仍未得到充分探索。在此类任务中,LLM被隐式地定位为一个**有用的、面向任务的编程助手**,其潜在契约不仅是产生功能正确的代码,而且要以最小的交互和计算开销完成这一目标(Chen等人,2021;Yang等人,2024b)。为了确保代码质量和开发效率,这种编程助手角色即使在需要多轮、跨会话生成大型代码上下文的复杂软件工程环境中也需要保持稳定。然而,该角色是否从任务开始到结束都保持稳健——以及如果发生漂移,程度如何——仍然是一个有待进一步评估的开放问题。
通过实验,我们发现即使是前沿语言模型(如Anthropic Sonnet 4.5),在编码会话变长时也会失去效率并产生越来越冗余的输出。例如,在数小时的工具辅助调试之后,我们观察到模型的离任务身份行为——通过其对一个简单问题(如“你最喜欢的编程语言是什么?”)的回答来衡量——偏离了部署方预期的默认回避语域。这直观地表明模型的行为正偏离其训练好的助手角色。此外,图3基于一个包含9,643轮次的大量Claude Code会话,更可测量地展示了该角色从初始“有用的编程助手”设置可能发生漂移的程度。
*面板(a)* 和 *面板(b)* 分别提供了无LLM裁判和有LLM裁判的互补视角。*面板(a)* 通过提取六个确定性响应级特征并利用主成分分析(PCA)进行投影,构建了一个行为指纹。第一主成分(PC1)捕获了主要的漂移方向:较高的PC1值对应于更漂移的语域,表现为更长的响应、更多的段落分隔和更多的经验性措辞。同时,*面板(b)* 使用一个四分点的助手语域评分标准在相同的12个会话位置上进行了基于LLM裁判的评估。*面板(b)* 的趋势与*面板(a)* 中的PCA模式一致,表明观察到的漂移反映的是一致的行为变化,而非裁判特定偏差的产物。
在实践中,这种行为偏差如果在长代码生成会话的中途发生,会显著影响模型后续下游工作流的性能,并导致不可预测或难以控制的结果。因此,系统地理解这种现象在不同任务设置下何时出现,以及开发更好的测量和控制方法,有助于提高LLM在代码生成任务上的性能,尤其是在长上下文设置中保障其鲁棒性。
我们提出 **ContextEcho**,一个用于测量和缓解长时间代理代码生成会话中角色漂移的**快照然后探针**框架。该框架由四个部分组成:1) 一个**工具集**,在跨压缩事件的多个测量位置分叉长Claude Code会话;2) 一个**25探针身份套件**,涵盖五个类别(身份、经验、偏好、关系、编码自我),用于在每个分叉快照处评估目标模型;3) 一个**双评分协议**,结合了裁判评级的助手语域评估与无裁判度量(包括二元正则表达式合规性和相对于长度匹配填充控制项的长度比);4) **A-anchor**,一个单次用户回合干预,旨在测试是否可以通过轻量级运行时校正减少观察到的漂移。更重要的是,它可以恢复所有测量目标上的部署语域,且在后续未锚定的回合中无显著衰减。
我们进一步将ContextEcho部署在来自10个组织的23个前沿模型上,在3个贡献的真实Claude Code会话上(3,746至9,716轮次,14次压缩)。评估结果表明,训练好的助手语域在大多数目标上显著退化。在Anthropic模型家族内部,相同的漂移还会降低API契约合规性并增加输出长度,挑战了部署角色在长上下文规模下保持稳定的假设。
总体而言,我们将ContextEcho的主要贡献总结为以下三个方面:
- **一个端到端的开源解决方案,用于测量和缓解LLM代码生成任务中的角色漂移。**(§3)我们引入了ContextEcho,一个专注于代码生成的框架,用于捕获、测量和缓解长时间多轮编码会话中的角色漂移。我们发布了完整的ContextEcho技术栈——包括快照然后探针工具集、25探针身份套件、双裁判/无裁判评分器、A-anchor缓解方案、三个经PII去标识的捐赠会话,以及所有41,921个逐单元格评估——并提供一键重现每个图表和数值声明的方法,使未来的工作能够端到端地扩展、审计和重现我们的结果。我们的实验表明,ContextEcho在广泛设置下显著提高了代码生成的效率和性能。
- **通过全面的大规模评估获得关于角色漂移的新见解。**(§3)ContextEcho在23个不同规模的前沿模型和3个贡献的真实世界Claude Code会话上评估了角色漂移。通过使用具有广泛上下文和数千轮次的复杂编码场景——这些场景在现有代码生成基准中很少见但紧密反映真实使用——我们发现漂移在不同LLM之间差异显著,最多相差19%。这些结果挑战了关于LLM代码生成行为的三个自然先验假设:推理层级和模型家族不能可靠预测漂移;会话内压缩不能一致地重置漂移;漂移的起始可能是目标特定的,即使在同一模型家族内也是如此。
- **及时的锚定方法,用于缓解和纠正在任务过程中发生的角色漂移。**(§3.2)我们提出了一种基于锚定的缓解方法,在长编码会话期间周期性地重申模型的预期编程助手角色。尽管上下文长度不断增长且多轮工具使用频繁,该锚定有助于保持代码生成的潜在契约——功能正确性、指令遵循、简洁输出以及低交互/计算开销。实验表明,这种轻量级干预有效减少了角色漂移和冗余,提高了基于LLM的代码生成的稳定性和效率。
关于相关工作,完整讨论见附录U。
| 参见图注(a) 行为角色空间(含示例回答) | 参见图注(b) 漂移轨迹(跨越12个测量位置) |
|--------------------------------------|----------------------------------------|
**图1:** ContextEcho探针检测到的跨9,643轮Claude Code会话的角色漂移。
(a) 行为角色空间:从每个响应中提取的6个确定性语言特征(回避密度、经验性短语密度、偏好承诺二元变量、em破折号计数、段落分隔计数、日志响应长度;定义见§2.3)。特征通过对n=600个探针响应进行PCA投影到2D(Sonnet 4.5);PC1解释了35%的方差,段落分隔为最高载荷(+0.61)。四分点LLM裁判标签*未参与PCA特征*,仅用于给点着色;因此聚类分离是基于裁判未见的信号识别的,降低了裁判循环伪影的可能性。逐字标注展示了同一探针(C01, “最喜欢的编程语言”)在P5_pre_C6处:填充臂的回答回避偏好(裁判=3),而claude臂的回答以markdown格式承诺Python且无回避词(裁判=0)。
(b) 漂移轨迹:助手语域评分标准上LLM裁判得分的均值(范围0至3:0=已漂移,3=完全助手,无漂移),跨越12个测量位置(这12个位置覆盖整个会话:会话开始P0,5个压缩前快照P1–P5,以及6个压缩后快照——每个压缩事件C1–C6后立即一个;具体轮索引见附录S)。claude臂的得分在每个位置都低于长度匹配的填充控制项(一个中性的自然散文前缀,填充到与claude臂会话相同的token长度),总体漂移差距为+0.72;压缩事件C1–C6并未重置这个差距。
## 2 ContextEcho套件
ContextEcho是一个可复用的基准测试加工具集,用于测量长时间代理编码上下文中的角色漂移:可在任何聊天补全API目标上运行,每个目标在统计上可靠,并且在其两个表面中至少有一个是无裁判的。我们在以下小节中描述原语、25探针身份套件、两个测量表面以及验证流程。详细的统计约定和预注册纪律见附录A。
### 2.1 快照然后探针原语
快照然后探针原语是框架的核心测量工具:它允许我们在不干扰会话本身的情况下,在长会话的任意点观察角色漂移。这使得一个长达9,643轮的会话可以在12个位置进行探测,并与单元格内控制项进行比较,而不会累积测量误差。这种非扰动设计对于我们目标中代理编码设置至关重要:部署的代理正处于任务进行中——保持编辑中的文件、部分工具调用状态以及累积的推理——因此任何模型本身会看到的在线探针都会破坏下游行为,并将漂移测量与提示注入效应混淆。在快照上分叉并在采样后丢弃分叉可以解决这一矛盾:每个探针响应都是基于实时会话状态在轮t的条件反事实,而主会话不受影响地继续。相同的原语支持跨会话和跨组织比较,因为每个(t, M)单元格都在相同的分叉然后探针协议下测量,消除了协议级混淆。
设M表示目标模型,c为会话上下文前缀。该原语在轮t处分叉对话状态,在分叉分支上发出探针p,记录响应,然后*丢弃*分叉;因此探针不会干扰主会话,因此可以在任意数量的位置测量同一个长上下文,而不会跨测量累积漂移。
###### 定义1(快照然后探针与漂移差距)。对于目标M、前缀c、探针p、轮索引t以及意译索引i ∈ {1, …, n},快照然后探针原语采样:
r_{t,p,i}^{(a)} = M( c_{1:t}^{(a)} ⊕ FRAME ⊕ p_i ), a ∈ {filler, claude}
其中p_i是p的第i个意译,c^{(filler)}是长度匹配的控制前缀,采样后分叉被丢弃。设J̄_{t,p}^{(a)} = (1/n) ∑_{i=1}^n J(r_{t,p,i}^{(a)}) 为单元格平均值(基于四分点评分标准)。在探针集P上的(t, M)处的*漂移差距*为:
Δ(t, M) = (1/|P|) ∑_{p∈P} [ J̄_{t,p}^{(filler)} − J̄_{t,p}^{(claude)} ]
其中J ∈ {0,1,2,3} 为助手语域评分标准(§2.2)。Δ > 0 表示漂移。除非特别说明,每个单元格使用n=10个意译。
我们以三种配置实例化该原语:(i) 跨压缩轨迹(在一个9,643轮会话的12个位置上进行);(ii) 跨会话复制(另外2个捐赠会话);(iii) 跨组织小组(M在P5位置上覆盖23个目标)。长度和结构匹配的filler臂(一种填充到c字符数的Lorem-ipsum风格文本,类似于长上下文评估中使用的长度匹配干扰控制项)作为单元格内控制项。填充项匹配token数量和轮结构,但剥离所有任务、代理和家族特定信号,因此claude与填充项之间的差距将实际前缀携带的*家族特征*与通用的长上下文退化隔离开来。相似文章
EchoChain:面向中断场景的全双工状态更新推理基准
EchoChain 是一项全新基准测试,旨在评估 AI 模型在用户中途打断时修正正在进行中的回复的能力。该基准提炼出三种典型故障模式(上下文惯性、中断遗忘、目标偏移),结果表明,在当前评估的实时语音模型中,无一系统的通过率突破 50%。
SocialPersona:基于多模态社交媒体上下文的个性化画像与对话基准
介绍了SocialPersona,一个评估多模态大语言模型从纵向社交媒体时间线中恢复显性偏好并将其用于个性化对话能力的基准。
FinPersona-Bench: 自主金融代理纵向心理测量稳定性基准
介绍了FinPersona-Bench,这是一个用于衡量自主金融代理如何随时间保持其指定行为指令的基准,揭示了任务显著性衰减(MSD),这种衰减随时间距离增加而加剧,并因模型和代理特征而异。
@dongxi_nlp: https://x.com/dongxi_nlp/status/2066991890348572950
本文是“Context Is A Projection Harness”系列的第6篇,深入探讨了coding agent中context management的核心问题,提出了将完整历史投影为模型所需的小视野的Harness方法,包括Large-Result Preview、Idle-Gap Microcompact、Old-Span Collapse和Auto-Compact Near The Limit等关键技术。
研究求助:观察——语义密集上下文无需越狱提示即可引发强后期层发散 [D]
一项实证研究表明,长篇幅、语义密集且良性的文本能够偏移模型的潜在空间并绕过对齐,促使其生成原本被屏蔽的评论。作者并非专家,请求对其指标进行审计,以区分真正的语义劫持与假象。