LLM 在多轮对话中表现出"对话迷失"现象

  • 论文题目:LLMs Get Lost In Multi-Turn Conversation
  • arXiv:2505.06120
  • 单位:Microsoft & Salesforce
  • 代码仓库:microsoft/lost_in_conversation

论文封面:LLMs Get Lost in Multi-Turn Conversation


1. 摘要

研究问题:本研究探讨 LLM 在单轮与多轮对话设置下的性能差异。
研究发现,当用户指令在多轮对话中逐步提供(即"分片式"对话)时,所有测试的 LLMs 性能平均下降 39%,表现出明显的"对话迷失"现象。

研究方法:研究团队开发了"分片模拟"方法,将单轮完整指令分解为多个信息片段(shards)。
通过控制实验比较 LLMs 在(1)单轮完整指令、(2)单轮拼接指令、(3)多轮分片指令三种设置下的表现差异。

2. Introduction

现实中用户与 LLMs 交互时,指令往往存在信息不完整的情况,需通过多轮对话逐步明确需求。
当这些需求同时出现在一轮对话中,LLM 能做得很好;但将这些需求(或者说多个步骤)拆分到多轮中,LLM 会存在两个问题:

  • 模型在对话早期易做出错误假设,过早生成最终答案并过度依赖。
  • 回应冗长,导致信息冗余和混淆;对中间轮次信息的关注度低于首末轮次("中间轮次遗忘"现象)。

论文的研究思路:

  • 设计一个新的 benchmark,将现有数据集中的指令通过 LLM 拆分成多个步骤,以多轮对话的形式跟大模型互动。
  • 多轮对话通过 LLM 之间对话进行模拟(也就是用 LLM 来模拟人类)。

3. 模拟未明确指定的多轮对话

本文研究的就是在用户指令的描述不充分的情况下,LLM 在多轮对话中的表现。
为了评估大语言模型在多轮、未明确说明的对话中的性能,本文开发了一个仿真环境,这个环境重新利用了单轮 benchmark 中的现有任务:

首先,使用一个分片过程,将原始的完全明确的指令转换为分片指令。

其次,我们实现了一个分片仿真环境,该环境基于分片指令进行多轮对话。

3.1. 分片过程:从完全指定到分片指令

一个来自 GSM8K 的原始、完全指定的指令,和等效的分片指令如下图所示:

分片指令示例:GSM8K 原始指令与分片指令对比

  • 原始指令是一个单一的长句,一次性引入所有内容:高层次的问题(即"需要多长时间 […]")、上下文和条件。
  • 分片指令由一组分片组成,每个分片引入原始指令中的一个元素。
    更具体地说,分片指令的第一个分片(分片 1)总是介绍该指令的高层次意图,后续的分片分别对指令进行澄清。

综合来看,这些分片所反映的信息与完全明确的指令提供的信息相同,只是信息被明确地分布在各个分片中。

3.2. 模拟分片对话

搭建了一个 LLM 仿真环境:

分片仿真环境架构图

大致跟别的仿真环境一样。
有一个有意思的地方是,这里多了一个 strategy classifier,用来对被评测 LLM 的回复进行分类。
如果分类出大模型正在回答问题(而不是进一步与用户讨论或寻求澄清问题),则进行接下来的问题抽取与验证,否则将继续刚才的对话。

3.3. 仿真类型

有了分片的 instruction,可以进一步针对如何将这些分片展示给 user simulator 采取不同的策略:

五种仿真类型对比:FULL、SHARDED、CONCAT、RECAP、SNOWBALL

  1. FULLY-SPECIFIED(简称 FULL):单轮对话模拟,直接向 LLM 提供原始的完整指令(未分片)。

  2. SHARDED:多轮对话模拟,每轮对话中用户模拟器最多揭示一个分片(shard)。

    • 目的:核心实验类型,评估模型在多轮、信息不完整(underspecified)对话中的表现。
  3. CONCAT:单轮对话模拟,将所有分片按 bullet-point 形式拼接为一个完整指令,保留分片过程中的表述调整,但去除多轮交互的特性。

    • 目的:作为验证基准,排除"分片过程中的表述变化"对性能的影响。
      若模型在 FULL 和 CONCAT 中表现良好但在 SHARDED 中不佳,则说明性能下降源于多轮交互和信息不完整,而非表述问题。
  4. RECAP:在 SHARDED 模拟的基础上,增加一个最终回合,汇总所有已揭示的分片信息,给模型最后一次修正答案的机会(相当于 SHARDED + CONCAT 的组合)。

    • 目的:测试"总结回顾"这一简单策略能否缓解多轮对话中的性能下降,探索提升模型可靠性的可能方法。
  5. SNOWBALL:多轮对话中,每轮揭示新分片时,同时重述之前所有已揭示的分片,形成"滚雪球"式的信息累积。

    • 目的:测试"逐轮重复历史信息"能否帮助模型更好地记忆多轮对话中的关键内容,缓解对早期信息的遗忘。

4. 实验

4.1. 任务选择

六个评测任务及其对应基准数据集

研究选取了 6 个涵盖编程(PL)和自然语言(NL)领域的生成任务,均基于现有高质量单轮基准数据集构建,并通过"分片处理"(sharding process)转化为适用于多轮对话的形式。
包括如下任务(以及每个任务所选用的 benchmark):

  1. Code:包括 HumanEval、LiveCodeBench,生成 Python 函数以解决给定问题(如判断银行账户余额是否为负)。
  2. Database:包括 Spider,即 Text2SQL 任务。
  3. Actions:包括 BFCL,根据 API Schema 生成 API 调用指令。
  4. Math:GSM8K,解决小学数学应用题。
  5. Data-to-Text:包括 ToTTo,根据表格数据及元信息生成描述性标题。
  6. Summary:包括 Summary of a Haystack,基于约 20 篇文档及查询生成带引用的摘要。

4.2. metric 选择

每次给一个 instruction 让 LLM 进行多次对话仿真,每次仿真会产生一个得分,范围是 0~100,用于评估 LLM 在仿真结束时完成任务的成功程度。
运行 N 次后得到一组得分,我们定义了三个 metric:平均性能、能力和不可靠性。

三个评估指标定义:平均性能、能力与不可靠性

4.3. 实验结果

实验结果热力图:各模型在不同仿真策略下的性能下降幅度

颜色越深代表相比于 FULL 策略的性能下降越严重。

表中显示,分片(SHARDED)策略造成了严重的性能下降;而 CONCAT 并没有造成明显的性能下降。
所以说明 SHARDED 带来的性能损失并不是表述方式不同造成的,确实是多轮对话造成的。

能力与不可靠性拆解分析

通过拆解"能力(Aptitude)“和"不可靠性(Unreliability)”,发现多轮对话性能下降的核心原因是不可靠性激增:

  • 单轮对话特征:能力(A)与可靠性(R)正相关——能力高的模型(如 GPT-4.1、Gemini 2.5 Pro)更可靠(不可靠性 U 低),能力低的模型(如 Llama3.1-8B)更不稳定。
  • 多轮对话特征:
    • 能力(A)仅轻微下降(平均 -16%),说明模型处理任务的基础能力未大幅退化。
    • 不可靠性(U)显著激增(平均 +112%),即最佳与最差表现的差距扩大。
      例如,单轮中 U 约 25,多轮中 U 升至 65,所有模型均表现出高不可靠性,与能力无关。
  • "对话迷失"机制:模型在多轮对话中易出现早期错误假设、过早生成答案并过度依赖,一旦"走错方向"便无法恢复(如忽略后续用户补充的关键信息)。

5. Implication

5.1. 对系统与 Agent 构建者的启示

现有多轮对话常依赖 Agent 框架(如 Autogen、LangChain)协调 LLM 交互,但实验表明这种方式有局限性:

  • 补充策略测试:通过 RECAP(最后一轮汇总所有信息)和 SNOWBALL(每轮重复历史信息)两种策略实验发现,两者能部分缓解多轮对话性能下降(较 SHARDED 提升 15-20%),但仍不及单轮对话(FULL/CONCAT)。
  • 核心结论:Agent 框架的信息整合能力有限,LLM 需原生支持多轮对话能力,而非仅依赖外部框架弥补缺陷。

5.2. 对 LLM 构建者的启示

当前 LLM 优化多聚焦于"能力提升"(如解决更复杂任务),但实验强调可靠性(低不可靠性)应优先纳入优化目标:

  • 温度参数的局限性:降低生成温度(如 T=0.0,减少随机性)能提升单轮对话的可靠性(U 下降 50-80%),但对多轮对话效果微弱(U 仅下降 15-20%),因早期微小偏差会在多轮中累积放大。
  • 具体优化目标:呼吁构建"可靠 LLM",需满足:①单轮与多轮对话能力接近;②多轮对话中不可靠性低(U < 15);③在默认温度(T=1.0)下保持稳定,适应自然语言生成的变异性。

5.3. 对 NLP 从业者的启示

现有评估多聚焦单轮场景,需扩展多轮对话评估体系:

  • 推广"分片"方法:建议将现有单轮任务通过"分片"转化为多轮版本,纳入评估基准,更真实反映 LLM 在实际场景中的表现。
  • 任务特性的影响:通过翻译任务实验发现,若任务是"episodic"(可分解为独立子任务,如逐句翻译),模型不易迷失;反之,若任务复杂且不可分解(需整合多轮信息,如代码生成),则易出现"对话迷失"。
    • 易导致迷失的任务特性:①生成式任务(非分类/提取);②需多条件整合;③解决方案不可分解(补充信息会改变整体答案)。

5.4. 对会话系统用户的启示

用户需了解 LLM 在多轮对话中的不可靠性,采取实用策略提升效果:

  • 重启对话:若当前对话陷入僵局,重启并重复信息可能比继续修正更有效(因模型难以纠正早期错误)。
  • 整合需求为单轮指令:将多轮需求汇总为完整指令(如让 LLM"总结之前所有信息"),利用单轮对话的高可靠性(如 CONCAT 场景)。
  • 实例:Cursor(代码助手)用户发现"频繁开启新对话"能提升效果,印证了多轮对话的局限性。