科技行者 2026-11-09 10:37:19
你有没有过这样的经历:跟朋友商量周末聚餐,你先说"去吃火锅吧",朋友问了句"要不要改成烤肉",你想了想说"算了还是火锅吧"。结果到了约定的那天,朋友居然真的订了烤肉店,还一脸无辜地说"你不是提过烤肉吗"。
这事要是发生在人身上,你可能会觉得对方记性有问题,或者压根没在认真听。但如果我告诉你,这种"记错"正在大语言模型身上大规模发生,而且不是偶然的小毛病,是一种系统性的失败模式,你会不会有点意外?
这正是香港科技大学和腾讯的研究团队在一篇新论文里揭示的现象。他们给这个问题起了个名字,叫"提及即生效混淆"。
大语言模型*:也就是我们常说的 ChatGPT、Claude 这类能和你对话、帮你写代码、算数学题的 AI 系统,它们的核心能力建立在海量文本训练之上。
研究团队发现一件挺让人意外的事:哪怕用户最终拒绝了某个修改方案,光是"提过这个方案"这件事本身,就足以让模型的任务执行跑偏,哪怕用户的真实意图其实从头到尾都没变过。
核心问题:模型为什么记不住"你改主意了"
先说说这事到底难在哪。
多轮对话这个场景,本身就比一次性把话说完要复杂。此前已经有研究(Laban 等人 2026 年的工作,论文里简称 LiC)发现,哪怕把同一个任务拆成好几句话分批告诉模型,哪怕信息量完全一样,模型的表现也会比一次性说完要差。这已经是个让人意外的发现了:按理说信息总量没变,为什么分开说就更容易出错?
但这篇论文研究的问题比这个还要深一层。
现实中的对话不只是信息的分批透露,用户还会做另一件更麻烦的事:中途改主意。用户可能提出一个修改方案,然后又反悔,拒绝了它;也可能先问几句无关痛痒的澄清问题,根本没打算改变任务本身。这时候,对话历史里就会堆积大量"说过但不该再算数"的内容。
研究者把这种"应该继续起作用的要求"称为活跃意图。打个比方,一份合同里有正式条款,也有双方口头讨论过但最终没写进去的废案。真正该执行的是正式条款,废案哪怕讨论得再热烈,也不该被当成合同内容去执行。
问题是,大语言模型好像分不清这两者。它倾向于把对话里出现过的任何内容,都当成仍然有效的要求去执行,不管这个内容后来是被拒绝了,还是被替换掉了。
为了系统地验证这个现象,研究团队搭建了一个叫 Intent-Eval 的测试基准,覆盖了工具调用、代码生成、数据库查询、数学应用题四个领域,总共 414 个基础任务,衍生出 3312 个测试样本。他们测试了十个来自不同厂商的主流模型,包括通义千问系列、Llama、GPT、DeepSeek、Claude、Gemini 等。
测试设计分四种对话走向。第一种叫"原始版",信息正常分批透露,不插入任何干扰。第二种叫"中性版",插入两句澄清性提问,但不涉及任何修改方案,活跃意图完全不变。第三种叫"保留版",用户提出一个修改方案,但最终拒绝了它,原始要求继续有效。第四种叫"修订版",同样的修改方案,这次用户接受了,新要求生效。
论文里举了一个很生活化的例子。一个厨师买了 4 袋洋葱,每袋 50 磅,每磅 1.5 美元,问总花费多少。算下来答案是 300 美元。现在用户提议"改成 2 袋吧",如果拒绝,答案应该还是 300 美元;如果接受,答案变成 150 美元。关键是,在"保留版"里,哪怕用户明确说了"算了,还是 4 袋",模型依然有相当大的概率把答案算成了 150 美元,就好像那个被拒绝的提议真的生效了一样。
这组数据有多惊人?八个模型的整体表现显示,单轮直接陈述任务时平均准确率是 91.73%,拆成多轮对话后的"原始版"掉到 55.43%,光是分批透露信息就丢了 36.3 个百分点。再加上两句无关紧要的澄清提问,"中性版"又掉了 4.43 个百分点,降到 51%。而在用户明确拒绝了修改方案的"保留版"里,准确率只剩 47.37%,比原始版又低了 8.06 个百分点。
这个数字意味着什么?如果一个模型每天要处理 100 次这种"提议又被拒绝"的对话,它会比正常情况下多搞错大约 8 次任务,而这 8 次错误里,用户其实压根没有要求任何改变,只是嘴上随口提了一句又收回了。
更让人意外的是,这种混淆并不只发生在多轮对话里。研究者专门设计了单轮对照实验:把同一个任务、同一个提议、同一个拒绝决定,全部塞进一句话里,不经过任何多轮交互。结果发现,哪怕是这种单轮场景,提出又拒绝一个方案,依然会让准确率下降 7.52 个百分点,接受方案则下降 5.74 个百分点。这说明问题不只是"多轮对话让人分心"那么简单,模型对"被拒绝的内容"本身就有一种天然的处理障碍,哪怕这些内容压根没有分散在多个对话回合里。
错误长什么样:被拒绝的内容真的渗透进了答案
光看准确率下降还不够直观,研究团队进一步去扒了那些"本来做对了,现在做错了"的案例,想看看错误里到底藏着什么。
他们检查了模型在"原始版"里答对、但在"保留版"或"修订版"里答错的所有案例,逐条检查最终答案里是否包含了"失效内容":在拒绝场景里,就是那个被拒绝的提议;在接受场景里,就是那个已经被替换掉的原始要求。
结果是,十个模型平均下来,59.63% 的新增"保留版"错误里,直接能找到被拒绝提议的痕迹;30.97% 的新增"修订版"错误里,能找到已经被替换的旧要求的痕迹。
数学题领域的情况尤其明显,拒绝场景下 67.7% 的错误带着被拒方案的影子,接受场景下这个比例是 47.94%。研究者分析,这可能和数学推理的链式特点有关:改动或恢复一个数字前提,往往需要重新计算好几步中间结果,如果前面算过的某个中间值没有跟着更新,错误的数字就会一路带到最后的答案里。
论文里给了个真实案例。一道题说 Jairus 每完成一项任务赚 0.8 美元,Jenny 赚 0.5 美元,各完成 20 项任务,问 Jairus 多赚多少。有人提议把 Jairus 的单价改成 0.9 美元,用户回复"这个改动不适合我"。按理说答案应该是 6 美元,结果某个模型的回答用的是 0.9 美元这个被拒绝的数字,算出了 8 美元。
这就好比你跟银行客服说"刚才说的提高额度那个方案我不要了,还按原来的来",结果对方真的按新额度给你处理了,还一脸认真地说"按您的要求"。这种错误不是因为模型"没听懂",恰恰相反,它听得很清楚,提议内容它记得一清二楚,问题出在它没能正确处理"这段内容后续被否决了"这个关键信息。
如果模型不具备区分"说过的"和"仍然有效的"这个能力,会发生什么?答案就是上面这些案例:越是细节丰富、讨论充分的对话,模型越容易把讨论过程中的所有片段都当成最终指令的一部分,哪怕用户已经明确表态收回了某个说法。
干扰会越滚越大:对话拖得越久,错误越多
接下来研究团队又问了个更扎心的问题:如果这种混淆已经出现了,继续聊下去会变好还是变坏?
他们设计了两组延伸实验。第一组叫"累积测试",从正常对话开始,反复插入澄清或者提议拒绝的环节,一共加到 4 轮,每轮拒绝都是针对一个全新的提议,但始终拒绝,原始任务从未改变过。第二组叫"持续测试",在用户已经明确做出接受或拒绝的决定之后,再追加几轮无关的澄清提问,看看干扰是否会持续存在。
累积测试的结果相当直接:第一次插入干扰造成的准确率下降幅度最大,之后随着干扰轮次增加,准确率还会继续往下掉。到第四轮的时候,纯澄清路径下降了 8.13 个百分点,反复提议又拒绝的路径下降了整整 20.77 个百分点。这说明反复提出又否决修改方案,造成的损伤比单纯的无关澄清要严重得多,而且这种损伤不是一次性的,是会累积的。
这就像你跟一个记性不太好的同事反复讨论一个方案,每次讨论完你都明确说"不改,按原计划来",但讨论的次数越多,这个同事最后真正执行原计划的概率反而越低。讨论本身没有带来任何新信息,但讨论这个动作本身,似乎在悄悄侵蚀模型对"什么才是真正要执行的"的判断力。
持续测试的结果同样令人不安。哪怕用户已经非常明确地做出了接受或拒绝的决定,后续再追加几轮完全无关的澄清对话,准确率依然会持续低于刚做出决定那一刻的水平。追加四轮澄清之后,拒绝场景下准确率比决定当下又低了 2.72 个百分点,接受场景下低了 3.5 个百分点。换句话说,哪怕活跃意图从始至终没有任何变化,纯粹因为对话变长了,模型的表现就是会打折扣。
这组发现其实挺值得琢磨的。它说明模型的"注意力"或者说"对指令的坚持",并不是一旦确立就能稳定保持的,它会随着对话的推进不断被新内容侵蚀,哪怕这些新内容本身毫无实质意义。
解决方案:让模型"温习"一遍完整任务
发现问题之后,研究团队没有止步于诊断,他们提出了一套训练方法,叫做 Intent-OPSD。
在解释这个方法之前,得先说一个他们观察到的巧合,或者说是设计灵感的来源。研究者注意到,模型在处理单轮任务的时候表现明显更好,前面提到单轮整体准确率能到 91.73%,而多轮只有 55.43%。这个差距说明模型不是不会做这些任务,而是在多轮对话这种复杂信息环境里,没能正确提炼出"真正该遵守的要求是什么"。
既然模型自己的单轮能力这么强,那能不能让模型自己教自己?这就是 Intent-OPSD 的核心思路:用模型在单轮场景下的强大表现,去指导它在多轮场景下该怎么做。
具体怎么操作呢?论文设计了一个"学生模型"和"老师模型"的架构,两者其实是同一个基础模型,只是老师模型的参数被冻结,不再更新,学生模型则持续训练。
在训练过程中,学生模型看到的是完整的多轮对话历史,用户提过的每一句话、每一个被拒绝的提议、每一次澄清,它全都看得到。而老师模型看到的则是一个经过"净化"的单轮任务描述,这个描述只包含真正活跃的要求,根据用户最终的决定来确定:如果用户拒绝了提议,老师模型拿到的就是原始任务;如果用户接受了提议,老师模型拿到的就是修订后的任务。
老师模型负责给学生模型的每一步输出打分,评估学生模型生成的答案跟"只看活跃要求"时应该生成的答案有多接近,然后用这个差距去调整学生模型的参数。整个过程中老师模型不参与生成,只负责评分和指导,训练结束之后,推理阶段完全不需要老师模型,学生模型独立完成任务。
这个设计其实挺像请一位家教来陪读。
想象一个学生做一道应用题,题目信息是分好几次零散告诉他的,中间还夹杂着同学七嘴八舌提的各种"要不要换个解法"的建议,有的被采纳了有的没有。这时候旁边坐着一位家教,家教手里拿着这道题干净利落的完整版,上面只写着最终该用的条件,没有那些七嘴八舌的讨论。家教不替学生做题,但会在学生写每一步的时候,对照自己手里那份干净的题目,告诉学生"这一步你是不是被刚才同学的建议带偏了"。
如果没有这位家教,学生就只能自己在一堆七嘴八舌的信息里分辨哪些该听哪些不该听,很容易被最后一个发言的同学带跑偏,哪怕那个同学的建议早就被否决了。家教存在的意义,恰恰是提供了一个不受干扰的参照系,帮学生校准自己的判断,而不是替学生把题做完。
训练过程里还有一个细节值得一提。研究者在挑选训练数据的时候,会先用老师模型去尝试解答原始任务和修订任务两个版本,只有两个版本都能被正确解答的任务,才会被纳入训练集。这个筛选的用意很清楚:如果老师模型自己都解不出某个任务,那它给学生的指导就是靠不住的,这种数据不如不用。
效果验证:平均提升超过十个百分点
Intent-OPSD 的实际效果如何?研究团队选了四个模型,在四个领域上分别跟基础模型和另一种常规微调方法做了对比。
结果是,Intent-OPSD 相比没有经过任何额外训练的基础模型,平均准确率提升了 10.81 个百分点。
相比常规微调方法,平均提升了 3.73 个百分点。
在十六组模型和领域的组合里,Intent-OPSD 在全部十六组里都超过了基础模型,在其中十三组里超过了常规微调方法。即便是在前面提到的"累积测试"和"持续测试"这种延伸场景下,Intent-OPSD 的优势依然保持,在不同的干扰深度下相比基础模型都有 9.61 到 11.74 个百分点的提升。
有意思的是,这个方法在不同领域的效果并不均匀。在工具调用任务上,提升幅度达到了 21.46 个百分点,相当可观。研究者的解释是,这类任务往往"只要选对参数就能把输出修对",意图追踪的准确性直接决定了任务成败。而在代码生成任务上,提升幅度相对较小,研究者认为这是因为代码任务除了要正确理解需求,还涉及程序结构和逻辑实现本身的难度,哪怕模型准确抓住了真正该遵循的要求,代码写错了依然会导致任务失败。
这个发现其实也提示了一个更普遍的道理:当一个任务的瓶颈主要在于"听懂该听什么"的时候,这类意图对齐训练的效果会特别明显;而当瓶颈转移到"会不会做"这件事本身的时候,光是听懂还不够。
哪些领域扛得住干扰,哪些扛不住
论文里还有一个挺值得玩味的发现,就是不同领域对这种多轮意图混淆的抵抗力差别很大。
在代码生成这个领域,GPT-5.6 和 DeepSeek-V4 这两个模型在所有多轮测试条件下,准确率都保持在 85% 以上,表现相当稳健,跟数据库查询、工具调用、数学应用题这几个领域比起来,代码生成展现出了明显更强的多轮鲁棒性。
研究者推测,这可能跟近年来对话式和智能体式编程技术的快速进步有关系,这类技术的发展专门针对的就是让模型在复杂交互场景下保持稳定输出。但这种优势是领域特定的,类似的鲁棒性并没有在其他结构化任务里同步出现。这说明"让模型在多轮对话里保持稳定"这件事,目前还没有一个放之四海而皆准的通用解法,不同任务类型需要不同的应对策略。
这件事也侧面印证了一个道理:技术进步往往是局部突破而非全面开花,一个领域里某个子任务做得特别好,不代表相邻任务也会自动跟着变好。
写在后面
读完这篇论文,最让我没想到的一点,是这种"被拒绝的内容仍然在起作用"的现象,哪怕在单轮对话里也存在。我原本以为这纯粹是多轮对话信息太多、模型记忆跟不上导致的问题,结果论文用单轮对照实验直接打破了这个预设:把提议和拒绝塞进同一句话里,准确率照样掉了 7.52 个百分点。这说明问题的根子不在于"记忆容量不够",而在于模型本身缺乏一种更底层的能力,就是区分"内容曾经出现过"和"内容现在仍然算数"这两件事。这其实更接近一种语义判断能力的缺陷,而不是简单的上下文窗口限制。
另一个让我反复琢磨的细节,是"持续干扰"那组实验的结果。哪怕用户已经非常清楚地做出了决定,后续再聊几句完全无关的话,模型的表现依然会继续下滑。这意味着模型对"决定"这件事的记忆强度,会随着时间推移自然衰减,哪怕没有任何新的冲突信息进来。这让我联想到人类记忆里的一种现象,叫"近因效应",就是人更容易记住最近发生的事,哪怕更早的事才是真正重要的。模型似乎也有类似的倾向,越靠后的对话内容,权重似乎天然更高,哪怕内容本身毫无信息量。
论文里没有解决的一个问题,是如何把这套方法用到真实的、未经人工标注的自然对话里。现在的 Intent-OPSD 依赖的是研究者预先构造好的"干净版单轮任务"来指导训练,这在真实世界的对话里是不存在的,没有人会提前帮你把活跃意图整理成一份干净清单。研究者自己也在论文末尾承认了这一点,提出未来需要研究如何从自然对话里自动提炼出活跃需求。这事说起来容易,做起来恐怕不轻松,因为提炼活跃意图这件事本身,可能就需要先解决"分清说过的和算数的"这个原始问题,这多少有点鸡生蛋蛋生鸡的意味。
Q&A
Q1:Intent-Eval基准测试是做什么用的?
A:Intent-Eval是香港科技大学团队搭建的一个测试基准,覆盖工具调用、代码生成、数据库查询、数学应用题四个领域共414个任务,专门用来检验大语言模型在多轮对话中能否正确区分哪些内容仍然有效、哪些已经被拒绝或替换掉。
Q2:为什么模型会把被拒绝的提议当成仍然有效?
A:论文把这种现象称为"提及即生效混淆",研究发现模型倾向于把对话中出现过的任何内容都当作活跃要求去执行,不管这些内容后来有没有被用户明确否决,这种问题在单轮和多轮对话里都存在,并非单纯因为记忆容量不够。
Q3:Intent-OPSD训练方法效果怎么样?
A:Intent-OPSD让同一个模型分饰老师和学生两个角色,用老师模型基于干净单轮任务的判断去指导学生模型处理完整对话,实测相比基础模型平均准确率提升10.81个百分点,相比常规微调方法提升3.73个百分点,且推理阶段不需要老师模型参与。
【版权声明】本文内容来源于科技行者,版权归原作者及原媒体所有。本站仅作信息分享,不构成任何商业用途;如涉版权问题,请联系本站删除。
发布时间:2026-11-09 10:04:18
(第1/1页/共8064字/2阅)