← 返回 2026-08-03

跨会话个性化歧义适配:编程助手减少澄清的基准测试 CAPA Fewer Clarifications, Better Code: Benchmarking Cross-Session Personalized Ambiguity Adaptation in Coding Assistants

Zijian Xu, Wenshuo Zhang, Zisen Qin, Rui Sheng, Yushi Sun, Huamin Qu, Chuhan Shi 📅 2026-07-29 👍 32 2026-08-08 18:30
LLM基准测试 个性化 代码生成评估 歧义消解 编程助手 跨会话记忆

提出 CAPA 基准,评测编程助手能否从同用户历史会话推断个性化歧义模式并在新会话复用以减少澄清

前置知识

个性化歧义适配(Personalized Ambiguity Adaptation)

本文新提出的任务:给定同一用户先前已解决的多轮编程会话历史 $H^{(n)}_i$ 和一个新会话里的模糊请求 $u^{(0)}_{i,k}$,助手要识别该用户反复出现的歧义-解决模式,生成符合意图的可执行代码,并仅在历史证据不足时才请求澄清。被评估的助手响应形式为 $y^{(t)}_{i,k} = f_\theta(H^{(n)}_i, u^{(0)}_{i,k}, D^{(<t)}_{i,k})$,要么提澄清问题要么提交候选代码。

这是论文的核心任务定义,理解它才能明白 CAPA 测的是什么、为什么和传统单会话消歧或通用个性化都不同。

同用户历史 / 跨会话历史(Same-user History)

指同一用户 $U_i$ 的前 $n$ 个已解决编程会话的对话轨迹拼接 $H^{(n)}_i = D_{i,1} \| D_{i,2} \| \cdots \| D_{i,n}$,作为推理时上下文显式喂给模型。CAPA 不假设参数更新或自动持久化存储——历史是被显式提供的,便于隔离评测。本文中 $n=5$。

它是适配的信号来源,理解历史如何被提供、组合、门控,才能理解所有增益实验(打乱历史、记忆系统、门控方法)的设计。

HumanEval 基准

Chen et al. (2021) 提出的函数级 Python 编程基准,含 164 个带规范文档、函数签名和隐藏测试的任务。CAPA 用 HumanEval 作种子任务,在其完整可执行规范上注入歧义机制,使底层任务本身可控、可判分(隐藏测试 $j_{i,k}$ 作为裁判 $J$ 的判分依据)。

知道 HumanEval 才能理解 CAPA 为什么选它作种子、空白对照实验(表 6 在 164 任务上 100% ES)为什么能证明挑战来自歧义而非代码生成。

歧义消解与澄清提问(Ambiguity Resolution & Clarification)

当请求有多种合理解释或缺少关键信息时,现有方法要么重写查询、要么直接给长答案、要么主动提问澄清(如 CLAMBER、ClarifyCodeBench、AmbigQA)。这些方法通常在当前会话内孤立处理每个模糊请求,依赖额外推理、输出或交互轮次。

这是 CAPA 要超越的对照范式——理解传统消歧是「会话内、需额外澄清」,才能看出 CAPA「跨会话、复用已解决模式」的新颖性。

长期记忆智能体(Long-term Memory Agents / mem0 / A-mem)

mem0(Chhikara et al. 2025)从对话中抽取、更新、检索事实;A-mem(Xu et al. 2026)把记忆组织成相互链接、不断演化的笔记。这类系统在多会话间保留证据、推断用户特征,但本文实验表明它们不专门识别「反复出现的歧义-解决模式」,因此在个性化消歧上反而不及原始同用户历史。

论文把通用记忆系统作为基线(表 4)并证明其失效,这是引出任务特定门控方法(表 5)的关键动机,理解这条线才能看懂方法贡献的价值。

研究动机

编程助手的请求常常是模糊的:用户省略细节,或用反复出现的、用户特定的方式表达意图。例如用户说「normalize 一个特征」可能指 min–max scaling 也可能指 z-score 标准化,孤立处理时助手可能选 min–max scaling 并产出技术上正确但不符合用户意图的实现。现有歧义消解方法(CLAMBER、ClarifyCodeBench、AmbigQA、ASQA 等)通常在当前会话内孤立处理每个模糊请求,通过请求额外澄清或查询重写来解决,每次都得重新 eliciting 用户信息。然而歧义往往是用户特定的:同一用户在不同任务里会反复留下同类型的信息缺失(习惯性省略上下文、用领域术语替换标准概念、预设助手能访问本地文件等)。个性化与长期记忆研究(LaMP、LoCoMo、LongMemEval、Momento、mem0、A-mem)则研究如何跨会话检索、更新、应用用户信息,但基本不与消歧结合。结果就是:助手要么反复请求澄清,增加交互成本和用户认知负担;要么持续做同样的错误假设,跨会话也无法变聪明。这个缺口在开放式可执行编程里尤其未被探索。

本文的目标是本文把「个性化歧义适配」形式化为长期编程助手的一个新任务:给定同一用户先前已解决的多轮编程会话历史 $H^{(n)}_i$ 和一个开启留出会话 $\tau_{i,k}$ 的新模糊请求 $u^{(0)}_{i,k}$,助手要利用历史中暴露的反复歧义模式推断出意图实现,在历史证据充分时直接作答、证据不足时才澄清,目标是尽量少的轮次内产出正确可执行代码。配套目标是构建一个基准 CAPA 来系统评测这一能力,并提出轻量的 same-user history gating 方法,最终支撑「随时间越来越准确、交互越来越高效」的长期编程助手的研发。

与已有工作不同的是,本文的独特切入角度是把传统割裂的两个研究方向合并:消歧研究和个性化/长期记忆研究。不同于在单会话内消歧(ClarifyCodeBench 只评生成前澄清、Orchid 只看函数级单任务歧义),CAPA 要求助手从跨会话历史推断反复出现的歧义-解决模式并迁移到新任务;不同于最接近的 APeB(从行为轨迹推断购物意图)和 PRefine(把反复偏好迁移到工具调用缺失参数),CAPA 面向的是开放式、可执行的编程任务,并且把「可复用信号」明确定义为个性化的歧义-解决模式而非产品选择或受 schema 约束的工具参数。CAPA 同时结合可执行编程、多轮会话和同用户历史,评测既看最终正确性(ES)又看先前会话是否真能减少澄清(FT-ES、TTC),这在已有基准里是没有的。

核心方法

CAPA 的整体思路是:先把清晰的 HumanEval 函数级编程任务「注入」个性化的歧义机制,把它转成多轮、模糊的编程会话;再为同一用户保留多个已解决会话作为历史,让被评助手在新会话里借助这段历史推断歧义模式。直觉上,如果一个用户的歧义模式跨任务稳定(比如总是省略默认值、总是用领域术语),那么几段已解决会话就足以揭示这个模式,助手应当能在新任务里复用而不是重新问。技术路线分两步:先把 Li et al. (2024) 的 11 种语言学歧义类型改编成 6 种编码导向的歧义机制(领域认知多义、结构逻辑错位、习惯性上下文省略、系统边界误解、会话上下文错位、隐式约束欠规范);再用一个三阶段生成流水线,在保持用户特定歧义模式跨会话稳定的同时,让底层任务和对话内容变化,从而造出 $n$ 段历史 + $m$ 段留出评测的可比划分。

核心创新是把歧义建模为「用户特定的、跨会话稳定的解决模式」,而不是「局部于当前会话的孤立事件」。这与已有方法的本质区别在于:传统消歧在单会话内每次都得重新澄清;通用记忆系统(mem0 抽事实、A-mem 组织笔记)做的是通用记忆管理,并不专门识别「歧义-解决模式」也不要求模型判断检索证据是否足以直接实现。CAPA 配套提出的 same-user history gating 正是任务特定的——用一个门控 LLM 审查历史中是否存在一致的歧义-解决证据,证据充足就高亮最具信息量的先前会话让基座 LLM 直接生成代码,证据不足就提供澄清指引。这种「先判断证据是否足够,再决定直接生成还是澄清」的显式门控,是把消歧研究和个性化记忆研究真正缝合的关键机制。

方法步骤详情

数据生成三阶段流水线。阶段一「构造模糊初始请求」:从完全规范的 HumanEval 任务 $P_{i,k}$ 抽取所需实现约束 $C_{\text{req}}$,应用歧义机制 $a_i$ 与解决模式 $r_i$ 移除/模糊/替换部分约束,得到保留信息 $C_L$ 使得 $C_{\text{req}} \not\subseteq C_L$,再按用户画像 $\pi_i$(专业知识、语气、详略)表达成 $u^{(0)}_{i,k}$;被省略的信息和意图解释保留给后续对话生成与裁判,但不进初始请求。阶段二「交互式对话生成」:构建 AmbiSimu 环境,含用户智能体、对话 LLM、执行环境三部分。用户智能体把「表达」与「判断」拆成两个独立组件——表达智能体反复应用上下文缺口控制以维持 $a_i, r_i, \pi_i$,判断智能体调用外部裁判 $J$,用「代码 $c^{(t)}_{i,k}$ 编译执行结果 + 与参考解的功能一致性」两层证据判定 $J(c^{(t)}_{i,k}; j_{i,k})=1$ 是否成立;对话 LLM 要么提澄清问题(触发下一轮用户消息)要么提交候选代码,会话在首次成功或达到轮数上限(8 轮)时终止,$D_{i,k}$ 只保留用户与对话 LLM 的消息。阶段三「跨会话一致性校验」:把每个轨迹 $D_{i,k}$ 与共享用户配置、上一接受的轨迹 $D_{i,k-1}$ 比较,若保持个性化歧义就原样接受,只有检测到不一致才触发修订,从而在不牺牲任务多样性的前提下保证跨会话一致性。最终每用户前 $n=5$ 会话作历史、后 $m=5$ 作留出评测。

技术新颖性

新颖性体现在四方面。一是任务定义新颖:首次把「从同用户已解决会话推断反复歧义模式并迁移到新任务」形式化为评测任务,且不假设参数更新或自动持久化——历史是显式提供的推理时上下文,便于隔离评测。二是歧义分类新颖:6 种编码导向机制由两位作者从真实 WildChat 编码对话改编 Li et al. (2024) 的 11 种语言歧义而来,并做了 20 人标注研究(Fleiss' $\kappa = 0.66$),每个用户被赋两种机制联合应用以增加多样性。三是数据生成新颖:AmbiSimu 把用户智能体的「表达」与「判断」分离,避免执行判断污染表达,三阶段流水线保证跨会话个性化一致而不牺牲任务多样性。四是评测维度新颖:同时报告 ES(最终可执行成功率)、FT-ES(首轮成功率,无澄清即成功)和 TTC(完成轮数,未解会话记 8 轮上限),把「最终正确性」与「交互效率」分离——历史往往对交互效率(FT-ES、TTC)的提升远大于对最终成功(ES)的提升,这一区分是传统澄清基准看不到的。

Overview of the CAPA data generation pipeline.
Figure 2: Overview of the CAPA data generation pipeline.
Overview of same-user history gating.
Figure 3: Overview of same-user history gating.

实验结果

主实验(表 1)在 12 个模型上对比无历史 vs 同用户历史(5 段)。同用户历史对 12 个模型中 11 个提升 ES、对全部 12 个提升 FT-ES、对全部模型降低 TTC。最强模型 Claude Opus 4.8 从 88.0% ES / 24.3% FT-ES / TTC 2.800 提升到 90.0% ES / 60.3% FT-ES / TTC 2.113($\Delta$FT-ES +36.0 pp),但即便如此仍有近 40% 的会话首轮后需要澄清或失败。空白对照(表 6):GPT-5.5 与 DeepSeek V4 Pro 在原始无歧义 HumanEval 上都达 100.0% ES、FT-ES 89.0–91.5%、TTC 约 1.1,证明 CAPA 的挑战主要来自恢复缺失/模糊需求而非基本代码生成。开源前沿有竞争力:GLM-5.2 达 89.7% ES / 46.7% FT-ES,接近甚至超过多数闭源模型;闭源与开源前沿平均 ES 83.7% vs 83.4%、FT-ES 32.5% vs 31.6%,几乎持平,但紧凑模型平均仅 44.0% ES(Qwen3.5-27B 仍能靠历史 +18.3 pp ES)。历史对交互效率的提升大于对最终成功的提升:12 模型平均 ES +6.8 pp、FT-ES +15.6 pp、TTC -0.81 轮;GPT-5.5 的 ES +10.0 pp 而 FT-ES +28.7 pp、TTC -1.447 轮。难度分析(表 2):复杂子集即便有历史,ES 相对简单下降 20.7–26.4 pp,TTC 增加 1.55–2.12 轮。用户身份实验(表 3):把目标用户历史换成他人「打乱历史」,模型仍因通用编码/对话模式获益(ES 最多 +10.67 pp);恢复正确匹配的同用户历史在 FT-ES(+2.0–12.0 pp)和 TTC(-0.04–0.19 轮)上还有持续增益,说明模型能利用超越通用上下文学习的个性化证据。记忆方法实验(表 4):mem0 和 A-mem 都没稳定超过原始同用户历史——对 DeepSeek V4 Pro 和 GLM-5.2 三指标全面落后,仅对 GPT-5.5 有混合权衡,作者归因于目标失配。本文门控方法(表 5):FT-ES 一致提升 0.66–13.33 pp,ES 保持 ±1.0 pp 内,对 GPT-5.5 和 GLM-5.2 还降低 TTC。机制层面(表 8):GPT-5.5 在 6 种机制上 ES 81.0–88.0%、FT-ES 24.0–38.0%、TTC 2.630–3.410,习惯性省略 ES 最高、结构逻辑错位 FT-ES 最高、隐式约束欠规范 TTC 最高。

Main results under no history and same-user history.
Table 1: Main results under no history and same-user history.
Performance under same-user history across difficulty levels defined by the no-history coding-session length.
Table 2: Performance under same-user history across difficulty levels defined by the no-history coding-session length.
Effect of shuffled and correctly matched user history across three models.
Table 3: Effect of shuffled and correctly matched user history across three models.
Comparison of memory-based history management.
Table 4: Comparison of memory-based history management.
Comparison of no history, raw same-user history, and same-user history gating.
Table 5: Comparison of no history, raw same-user history, and same-user history gating.
Blank-control results on 164 HumanEval tasks.
Table 6: Blank-control results on 164 HumanEval tasks.
Coding-oriented ambiguity taxonomy derived from the linguistic ambiguity types of Li et al. (2024).
Table 7: Coding-oriented ambiguity taxonomy derived from the linguistic ambiguity types of Li et al. (2024).
Dataset balance and task difficulty.
Figure 4: Dataset balance and task difficulty.
查看结构化数据
任务指标本文基线提升
首轮可执行成功(FT-ES):同用户历史 vs 无历史 FT-ES(首轮即成功的留出会话占比) Claude Opus 4.8 同用户历史下达 60.3% Claude Opus 4.8 无历史 24.3% +36.0 pp(12 个模型平均 FT-ES +15.6 pp)
最终可执行成功(ES):同用户历史 vs 无历史 ES(轮数预算内解出的留出会话占比) 同用户历史下 11/12 模型 ES 提升,平均 +6.8 pp,Claude Opus 4.8 达 90.0% 无历史下 12 模型平均约 66.7% 平均 +6.8 pp(远小于 FT-ES 的 +15.6 pp,说明历史主要提升交互效率)
歧义注入后的难度上限:CAPA vs 原始无歧义 HumanEval ES(最终成功率) CAPA 上最强模型约 90.0% ES、FT-ES 仅 60.3% 原始 HumanEval 上 GPT-5.5 / DeepSeek V4 Pro 均 100.0% ES、FT-ES 89.0–91.5% 差距证明 CAPA 挑战来自恢复缺失需求而非代码生成本身
历史门控 vs 原始同用户历史(交互效率) FT-ES 门控方法:GLM-5.2 51.33%、GPT-5.5 44.33% 原始同用户历史:GLM-5.2 46.67%、GPT-5.5 31.00% FT-ES 一致 +0.66–13.33 pp,ES 保持在 ±1.0 pp 内
正确匹配 vs 打乱同用户历史(个性化证据增益) FT-ES 正确匹配同用户历史 打乱历史(他人会话)已带来 ES 最多 +10.67 pp 的通用模式增益 正确匹配在 FT-ES 上再 +2.0–12.0 pp、TTC 再 -0.04–0.19 轮
闭源 vs 开源前沿 vs 紧凑开源(同用户历史 ES) ES 平均 开源前沿平均 83.4%(GLM-5.2 89.7%) 闭源前沿平均 83.7%;紧凑开源平均仅 44.0% 开源前沿基本追平闭源,模型规模仍显著影响(紧凑落后约 40 pp)

局限与改进

作者承认的局限:因为每个留出会话含两个联合应用的歧义机制,机制层面分析只能用多标签边际聚合,性能可能同时反映配对机制及其交互,应理解为「平衡的边际关联」而非孤立机制的因果效应(见表 8 的注释);用户画像与机制配对组合有限(10 画像 × 15 机制对 = 60 格);数据由 LLM 模拟生成而非真实人机对话,可能不完全反映真实分布;6 种机制改编自语言学分类未必覆盖所有真实编程歧义。我自己的观察:(1) 全部种子任务都来自 HumanEval 函数级编程,是相对简单、自包含的算法题,缺乏仓库级、跨文件、长上下文的真实工程歧义,难以代表真实 Copilot/Cursor 场景;(2) 历史是「显式提供的推理时上下文」,不测试助手自主的记忆存取、检索召回与遗忘,与产品中「按需检索 + 增量更新」的长期记忆形态差距较大;(3) 用户智能体、对话 LLM、裁判 $J$ 都依赖同一代 LLM,存在模型族偏差与自评循环风险;(4) 只测了 $n=5$ 段历史,未研究历史数量、时序漂移、概念演化对适配的影响;(5) 12 个模型用未来虚构版本号(GPT-5.5、Claude Opus 4.8、GLM-5.2 等),写作时尚不存在,具体数值无法被外部复现验证。

独立分析的弱点

(1) 任务范围偏窄:只用 HumanEval 函数级任务,建议扩展到 SWE-bench 仓库级、ConvCodeWorld 多文件对话,引入真实工程歧义(依赖版本、跨文件命名冲突、API 兼容),改进方向是构建仓库级 CAPA。(2) 模拟用户 vs 真实用户:LLM 模拟画像可能比真人更可预测、更「配合」澄清,且画像本身较刻板(如「焦虑的初学者」「过度工程架构师」),建议补充真实开发者纵向数据或人机对抗评估,改进方向是引入真实日志或人在回路评测。(3) 历史注入方式理想化:把完整 5 段历史一次性喂入上下文,与产品中按需检索、增量写入、冲突合并差距大,长历史时检索召回质量未测,改进方向是研究在线记忆写入/遗忘/合并与对历史数量的扩展律。(4) 评测指标偏单一:只看最终成功和轮数,没衡量「错误假设导致用户纠正的负担」「过度澄清率」「澄清质量」,改进方向是加入用户满意度、错误假设率、澄清信息增益等指标。(5) 机制联合使因果分析困难:建议做单机制 vs 双机制消融,量化机制交互效应,使机制层面结论可作因果解释。

未来方向

作者明确提出的方向:开发能更好利用跨会话历史、减少重复澄清的长期编程助手;推广 same-user history gating 这类任务特定的轻量门控方法;把 CAPA 作为基础支撑代码与用户意图更好对齐。基于成果可延伸:(1) 把 CAPA 框架迁移到其他 Agent 任务(数据分析、DevOps 自动化、科研编码)测试个性化歧义适配的普适性;(2) 研究在参数层面注入用户模式(用户专属 LoRA、软提示 Das et al. 2026、潜在用户表征 Cao et al. 2026)以替代上下文注入,突破长上下文成本限制;(3) 探索主动澄清策略学习——何时该问、问什么,以最小化 TTC,可结合强化学习或「未来轮次建模」(Zhang, Knox, and Choi 2025);(4) 引入时序与漂移建模:用户模式会随项目演进改变,需要检测模式变更并更新,防止过时历史误导;(5) 结合隐私与可控性:长期记忆中的个性化模式可能含敏感信息,需研究记忆遗忘权与差分记忆;(6) 把 same-user history gating 的门控 LLM 升级为可学习的检索-决策模块,端到端优化「直接生成 vs 澄清」的决策。

复现评估

复现评估。论文提供了较完整的可复现要素:完整任务定义与数据层次(用户轨迹 $S_i$、会话 $\tau_{i,k}=(D_{i,k}, j_{i,k})$、对话轨迹 $D_{i,k}$)、三阶段生成流水线、AmbiSimu 环境的三组件设计(用户智能体/对话 LLM/执行环境)、评测协议(ES/FT-ES/TTC、8 轮预算、共享外部裁判 $J$、HumanEval 164 任务作种子),以及附录里的全部提示词(10 个画像全文、6 种歧义机制的信息控制指令 $C_{\text{req}}/C_L$、用户/助手智能体系统提示、澄清规划器 JSON schema、关键点提取 prompt)。这些足以重建方法流程。但存在关键障碍:(1) 论文未明确声明是否开源代码与 600 段会话数据集,种子 HumanEval 公开但生成的多轮会话与裁判 $J$ 实现未确认发布;(2) 评测的 12 个模型是未来虚构版本(GPT-5.5、Claude Opus 4.8、GLM-5.2、DeepSeek V4 Pro 等),写作时尚不存在,所有主结果数字客观上无法被外部复现;(3) 6 种机制的改编依赖两位作者的人工映射与 20 人标注研究(Fleiss' $\kappa=0.66$),完整复现需相同人力;(4) 计算成本可观(600 会话 × 12 模型 × 最多 8 轮 × 含 5 段历史的长上下文),但论文未报告 token 用量或算力数据。整体难度:流程与协议可复现,具体数值不可复现;若作者开源数据与裁判实现,则可在真实存在的等代模型上近似复现方法学结论。