LLMs Get Lost in Evolving User Intent
Jihoon Tack, Philippe Laban, Jennifer Neville
cs.LG
2026-07-23
把任意单轮基准反推成意图不断演化的多轮对话,前沿模型普遍大跌,静态评测看不到这个缺口。
真实协作里,用户几乎不会一次性把需求说全。他们边聊边补、边聊边改、有时中途换任务。可主流 LLM 评测和训练还在单轮、信息齐全的设定里跑,留下一个根本问题:模型能不能在意图不断变化的多轮对话里跟上用户、并据此行动?
这个问题难测,因为多轮基准太贵又不好定标准答案。每条新任务都要人工造对话、打标签,轨迹又发散,逼得现有基准只能用 LLM 当裁判,而裁判本身靠不靠得住还是问号。
作者没从零造多轮环境,而是拿现成的、可验证的单轮基准当起点,它们天然提供可规模化、可验证的监督信号。核心招数是把源任务的用户意图锚定在最后一轮,再反推构造前面的对话。
意图被形式化成一个结构化状态,沿三种转移演化:
关键在最后一轮必须恰好回到源任务的原意图,这样最终动作就能用源数据集原有的验证器直接打分,不需要新标注,也不用 LLM 裁判。前面的轮次在受控的意图动态下合成:为修改合成反事实参数值,为切换合成前置任务,可以递归链成任意深度。
四个领域验证:数学(GSM8K)、text-to-SQL(BIRD)、搜索(BrowseComp+)、编程(SWE-Bench Verified)。主实验里每种转移各发生两次,共 6 次转移、7 轮。
静态成绩基本不迁移到演化意图设定。GPT-5.5 在 GSM8K 单轮 99%,6 次意图切换后跌到 80.5%。各模型族普遍下滑,编程和搜索跌得最狠。
| 模型 | GSM8K 单轮→演化 | BIRD 单轮→演化 | SWE-Bench 单轮→演化 |
| GPT-5.5 | 99.0→80.5 | 80.0→71.0 | 86.0→80.0 |
| DeepSeek V3.2 | 96.5→78.5 | 76.0→53.0 | 76.0→76.0 |
| Kimi K2.5 | 97.0→75.5 | 75.0→66.0 | 82.0→70.0 |
| Mistral Large 3 | 95.5→73.5 | 61.0→56.0 | 56.0→0.0 |
几个突出发现:SWE-Bench 上几款 agent(GPT-5.1 等)动辄耗光每轮 100 次工具调用预算,卡在 extended thinking 里超时;更反直觉的是,多轮设定给了更多总工具次数,搜索和编程反而跌得更厉害。细看 SWE,模型把预算大多花在探索(sed、grep、find)而非执行(pytest、applyedits),每轮 100 次调用里执行类的不到 4 次。更多工具访问没带来更好的意图适应,堆积的交互上下文和工具轨迹本身成了干扰。
function switch 是三种转移里最难的,且和其他转移叠加时跌得更狠。逐轮意图追踪分析显示,reveal 和 revision 的追踪接近完美,switch 在多次发生时明显退化。两个简单记忆机制(prompt recap 和 oracle recap)能挽回一些分数,oracle recap 在 function switch 上把 GPT-5.5 从 65% 拉到 75%,但仍到不了单轮的 80%。
它点破一个静态评测看不见的能力缺口:模型在多轮里维护「用户现在到底想要什么」的信念、并据此更新动作的能力。对做 Agent 产品的人,这意味着别只看单轮 benchmark 分数;长程协作的真实瓶颈在意图追踪,给更多工具调用并不能补。框架本身可以拿现成基准批量造训练数据,作者顺手用 GRPO 在 GSM8K 演化版上训了 Qwen3-4B 不到 50 步,演化意图准确率从 64.0 升到 76.0,单轮不掉。
作者承认:框架只建模意图演化,不建模用户人设、沟通风格、错别字等更细变化,合成的对话因而偏风格统一;每轮只含一次意图转移,而真实用户可能一轮里又改又换;验证器只在最后一轮精确,中间轨迹的正确性不直接打分。读下来还有一点:SWE-Bench 那列 Mistral Large 3 和 GPT-5.1 直接 0.0,部分是工具预算耗尽超时,这到底是「意图追踪失败」还是「单次 agent 跑挂了」,论文没完全拆开;50 题(SWE)和 100 题(BIRD)样本量也不大。