Connect with us

Anderson 视角

为什么语言模型在对话中会“迷失”

mm
ChatGPT-4o and Adobe Firefly.

微软研究院和Salesforce的一篇新论文发现,即使是最强大的大型语言模型(LLM)也会在指令被分阶段给出而不是一次性给出时失效。作者发现,当提示被分成多个回合时,性能会平均下降39%,跨六个任务。

单回合对话(左)获得最佳结果。多回合对话(右)发现,即使是排名最高、性能最好的LLM也会在对话中失去有效的动力。来源:https://arxiv.org/pdf/2505.06120

单回合对话(左)获得最佳结果,但对于最终用户来说不自然。多回合对话(右)发现,即使是排名最高、性能最好的LLM也会在对话中失去有效的动力。来源:https://arxiv.org/pdf/2505.06120

更值得注意的是,响应的可靠性会大幅下降,像ChatGPT-4.1和Gemini 2.5 Pro这样的著名模型会在相同任务的不同表述方式下在接近完美的答案和明显的失败之间摇摆;此外,输出的一致性在此过程中可能会下降一半以上。

为了探索这种行为,这篇论文引入了一种称为“分片”的方法,它将完全指定的提示分成较小的片段,并一次将它们释放到对话中。

在最基本的意义上,这相当于在餐厅下达一个连贯的综合订单,让服务员无需做任何事情,只需确认请求;或者决定合作解决问题:

两种极端的餐厅对话版本(不来自新论文,仅用于说明目的)。

两种极端的餐厅对话版本(不来自新论文,仅用于说明目的)。

为了强调,上面的例子可能会让顾客处于负面光环中。但核心思想如第二列所示,即事先阐明问题集的交易性交流——显然,这是一种合理的解决任务的方法。

这种设置反映在新工作中,以滴灌方式、分片的LLM交互方式。作者指出,LLM通常会生成过长的响应,并继续依赖自己的洞察,即使这些洞察被证明是错误的或不相关。这种倾向,加上其他因素,可能会导致系统完全失去对交流的跟踪。

事实上,研究人员注意到很多人已经发现——与LLM对话未能达到预期结果的最佳方法是重新开始一段新对话:

“如果与LLM的对话没有达到预期结果,重新开始一段包含相同信息的新对话可能会比继续进行对话更好。”

“这是因为当前的LLM可能会在对话中迷失,我们的实验表明,继续与模型交互是无效的。另外,由于LLM生成文本具有随机性,新对话可能会带来更好的结果。”

作者承认,像Autogen或LangChain这样的代理系统可以通过在最终用户和LLM之间充当解释层来潜在地提高结果,只有在收集到足够的“分片”响应时才与LLM交互(最终用户不会接触到这些响应)。

然而,作者认为,单独的抽象层不应该是必要的,或者应该直接构建到源LLM中:

“可以认为,多回合能力不是LLM的必要功能,因为它可以卸载到代理框架中。换句话说,我们是否需要LLM中的本地多回合支持,当代理框架可以编排与用户的交互并仅将LLM用作单回合操作时?”

但在测试了这个命题后,他们得出结论:

“[依赖]代理框架来处理信息可能是有限的,我们认为LLM应该本地支持多回合交互”

这篇有趣的新论文的标题是LLM在多回合对话中迷失,来自微软研究院和Salesforce的四位研究人员,

分片对话

新方法首先将传统的单回合指令分解为较小的分片,旨在在LLM交互的关键时刻引入,反映了像ChatGPT或Google Gemini这样的系统中看到的探索性、来回的参与方式。

每个原始指令都是一个单独的、自成体系的提示,一次性交付整个任务,结合高级问题、支持上下文和任何相关条件。分片版本将其分成多个较小的部分,每个分片只添加一块信息:

成对的指令,显示(a)在单个回合中交付的完整提示和(b)其分片版本,用于模拟不完全指定的多回合交互。语义上,每个版本都传递相同的信息有效载荷。

成对的指令,显示(a)在单个回合中交付的完整提示和(b)其分片版本,用于模拟不完全指定的多回合交互。语义上,每个版本都传递相同的信息有效载荷。

第一个分片始终引入任务的主要目标,其余部分提供澄清细节。它们共同传递与原始提示相同的内容,但自然地分散在对话的几个回合中。

每个模拟对话在三个组件之间展开:助手、正在评估的模型;用户、一个模拟代理,具有访问完整指令的分片形式的权限;以及系统、监督和评分交换的系统。

对话从用户揭示第一个分片开始,助手自由回应。然后,系统将该回应分类为几个类别之一,例如澄清请求完整答案尝试

如果模型尝试回答,一个单独的组件会提取相关的跨度进行评估,忽略任何周围的文本。在每个新回合中,用户揭示一个额外的分片,提示另一个回应。交换继续,直到模型正确回答或没有更多的分片可揭示:

模拟分片对话的图表,评估模型以红色突出显示。

模拟分片对话的图表,评估模型以红色突出显示。

早期测试表明,模型经常询问尚未共享的信息,因此作者放弃了以固定顺序揭示分片的想法。相反,使用模拟器来决定在每个回合中揭示哪个分片,基于对话的进展。

用户模拟器使用GPT-4o-mini实现,具有完全访问整个指令和对话历史的权限,任务是决定在每个回合中揭示哪个分片,基于交换的展开方式。

用户模拟器还重述每个分片,以保持对话流畅,而不会改变其含义。这使模拟反映了真实对话的“来回”方式,同时保留了对任务结构的控制。

在对话开始之前,助手仅获得完成任务所需的基本信息,例如数据库模式或API引用。它没有被告知指令将被分解,也没有被引导向任何特定的处理对话方式。

这是故意的:在现实世界中使用中,模型几乎从不被告知提示将不完整或随时间更新,并且省略此上下文有助于模拟反映模型在更现实的上下文中的行为。

GPT-4o-mini还用于决定如何对模型的回复进行分类,以及从这些回复中提取任何最终答案。这有助于模拟保持灵活性,但也引入了偶尔的错误:然而,在手动检查了几百个对话后,作者发现少于5%的对话有任何问题,少于2%的对话显示由于这些问题而改变了结果,他们认为这是项目参数内的低错误率。

模拟场景

作者使用五种模拟来测试模型在不同条件下的行为,每种都是指令的揭示方式和时间的变体。

完整设置中,模型在单个回合中接收完整的指令。这代表了标准基准格式,并作为性能基准。

分片设置将指令分成多个部分,并一次交付,模拟更现实的、不完全指定的对话。这是用于测试模型处理多回合输入的主要设置。

连接设置中,分片被拼接回单个列表,保留其措辞,但删除了回合结构。这有助于隔离对话碎片化的影响和重新措辞或内容损失。

回顾设置运行类似分片,但在模型给出最终答案之前添加了一个最终回合,重新陈述所有以前的分片。这测试了总结提示是否可以帮助恢复丢失的上下文。

最后,雪球更进一步,通过在每个回合中重复所有先前的分片,在对话展开的过程中保持完整的指令可见,并提供了对多回合能力的更宽容的测试。

基于分片指令的模拟类型。一个完全指定的提示被分成较小的部分,可以用来模拟单回合(完整、连接)或多回合(分片、回顾、雪球)对话,取决于信息的揭示速度。

基于分片指令的模拟类型。一个完全指定的提示被分成较小的部分,可以用来模拟单回合(完整、连接)或多回合(分片、回顾、雪球)对话,取决于信息的揭示速度。

任务和指标

选择了六个生成任务,以涵盖编程和自然语言领域:代码生成提示来自HumanEval和LiveCodeBench;Text-to-SQL查询来自Spider;API调用使用Berkeley Function Calling Leaderboard中的数据构建;基本数学问题来自GSM8K;表格字幕任务基于ToTTo;多文档摘要来自Summary of a Haystack数据集。

模型性能使用三个核心指标来衡量:平均性能能力不可靠性

平均性能捕捉了模型在多次尝试中整体表现如何;能力反映了模型可以达到的最佳结果,基于其最高评分输出;不可靠性衡量了这些结果的变化,较大的最佳和最差结果之间的差距表明了不太稳定的行为。

所有分数都放在0-100的范围内,以确保在任务之间的一致性,并且在每个指令上计算指标,然后平均以提供对模型性能的整体图景。

实验中使用的六个分片任务,涵盖编程和自然语言生成。每个任务都显示了一个完全指定的指令和其分片版本。在每个任务中,适应了90到120个指令,来自已建立的基准。

实验中使用的六个分片任务,涵盖编程和自然语言生成。每个任务都显示了一个完全指定的指令和其分片版本。在每个任务中,适应了90到120个指令,来自已建立的基准。

竞争者和测试

在初始模拟中(估计成本为5000美元),600个指令跨六个任务被分片,并用于模拟三种对话类型:完整连接分片。对于每种模型、指令和模拟类型的组合,运行了十次对话,总共产生了超过200,000次模拟——这种方案使得能够捕捉到整体性能和更深入的能力和可靠性措施。

测试了15个模型,涵盖了广泛的提供商和架构:OpenAI模型GPT-4o(2024-11-20版)、GPT-4o-mini(2024-07-18版)、GPT-4.1(2025-04-14版)和思考模型o3(2025-04-16版)。

Anthropic模型是Claude 3 Haiku(2024-03-07版)和Claude 3.7 Sonnet(2025-02-19版),通过Amazon Bedrock访问。

Google贡献了Gemini 2.5 Flash(preview-04-17版)和Gemini 2.5 Pro(preview-03-25版)。Meta模型是Llama 3.1-8B-InstructLlama 3.3-70B-Instruct,以及通过Together AI访问的Llama 4 Scout-17B-16E

其他条目是OLMo 2 13BPhi-4Command-A,所有这些都通过Ollama或Cohere API本地访问;以及通过Amazon Bedrock访问的Deepseek-R1

对于两个“思考”模型(o3和R1),令牌限制提高到10,000,以适应更长的推理链:

每个模型在六个任务中的平均性能分数:代码、数据库、操作、数据到文本、数学和摘要。结果显示了三种模拟类型:完整、连接和分片。模型按其平均完整设置分数排序。阴影反映了从完整设置到连接和分片设置的性能下降程度,最后两列报告了连接和分片设置相对于完整设置的平均下降。

每个模型在六个任务中的平均性能分数:代码、数据库、操作、数据到文本、数学和摘要。结果显示了三种模拟类型:完整、连接和分片。模型按其平均完整设置分数排序。阴影反映了从完整设置到连接和分片设置的性能下降程度,最后两列报告了连接和分片设置相对于完整设置的平均下降。

关于这些结果,作者指出:

“从高层次上看,每个模型在比较完整和分片性能时都会看到其性能下降,平均下降39%。我们将这种现象称为迷失在对话中:在实验室环境中,具有出色(90%以上)单回合对话性能的模型在更现实的设置中,会在相同的任务中挣扎,即对话是未指定的和多回合的。”

连接分数的平均值为完整的95%,表明分片设置中的性能下降不能归因于信息损失。较小的模型,如Llama3.1-8B-Instruct、OLMo-2-13B和Claude 3 Haiku,在连接设置下表现出更明显的下降,表明较小的模型通常不如较大的模型对重述更稳健。

作者观察到:

“令人惊讶的是,更高性能的模型(Claude 3.7 Sonnet、Gemini 2.5、GPT-4.1)与较小的模型(Llama3.1-8B-Instruct、Phi-4)一样,在对话中迷失,平均下降30-40%。这在一定程度上是由于指标定义。由于较小的模型在完整设置中获得较低的绝对分数,因此它们的下降范围不如更好的模型大。”

“简而言之,无论LLM的单回合性能有多强大,我们都会观察到多回合设置中的大幅性能下降。”

最初的测试表明,一些模型在特定任务中表现更好:Command-A在操作中,Claude 3.7 Sonnet和GPT-4.1在代码中;以及Gemini 2.5 Pro在数据到文本中,表明多回合能力因域而异。推理模型,如o3和Deepseek-R1,总体上没有表现更好,也许是因为它们更长的回复引入了更多的假设,这些假设往往会混淆对话。

可靠性

单回合模拟中明显的能力和可靠性之间的关系,在多回合条件下似乎会瓦解。虽然能力仅略微下降,但不可靠性平均加倍。像GPT-4.1和Gemini 2.5 Pro这样的模型,在完整的提示中表现稳定,但一旦指令被分片,它们就会变得像Llama3.1-8B-Instruct或OLMo-2-13B这样的较弱模型一样不规律。

能力和不可靠性概述,如箱线图(a)所示,接着是来自15个模型的实验的不可靠性结果(b),以及逐渐分片测试的结果,其中指令被分成1到8个分片(c):

能力和不可靠性概述,如箱线图(a)所示,接着是来自15个模型的实验的不可靠性结果(b),以及逐渐分片测试的结果,其中指令被分成1到8个分片(c):

模型的响应经常会因相同任务而变化多达50个点,即使没有添加任何新内容,表明性能下降并非由于技能缺乏,而是由于模型在回合之间变得越来越不稳定。

论文指出:

“[虽然]更好的模型往往具有稍高的多回合能力,但所有模型都倾向于具有相似的不可靠性水平。换句话说,在多回合、未指定的设置中,我们测试的所有模型都表现出非常高的不可靠性,平均而言,固定指令的最佳和最差模拟运行之间的性能会下降50个百分点。”

为了测试性能下降是否与回合次数相关,作者进行了一个逐渐分片的实验,将每个指令分成1到8个分片(见上图右列)。

随着分片数量的增加,不可靠性稳步增加,证实了甚至回合次数的轻微增加也会使模型更加不稳定。能力基本上保持不变,强调了问题在于一致性,而不是能力。

温度控制

一组单独的实验测试了不可靠性是否仅仅是随机性的副产品。为此,作者在三个值上变化了助手和用户模拟器的温度设置:1.0、0.5和0.0。

在单回合格式如完整连接中,降低助手的温度显著提高了可靠性,减少了多达80%的变化;但在分片设置中,相同的干预措施几乎没有效果:

不同助手和用户温度组合的不可靠性分数,跨完整、连接和分片设置,较低的值表示响应的一致性更高。

不同助手和用户温度组合的不可靠性分数,跨完整、连接和分片设置,较低的值表示响应的一致性更高。

即使助手和用户都设置为零温度,仍然存在高不可靠性,GPT-4o的变化在30%左右,表明多回合对话中的不稳定性不仅仅是随机噪音,而是模型处理碎片化输入的结构性弱点。

影响

作者在论文的结论中对他们的发现进行了长篇大论,认为强大的单回合性能不能保证多回合可靠性,并警告不要过度依赖完全指定的基准来评估现实世界的准备就绪性(因为这样的基准掩盖了更自然的、碎片化的交互中的不稳定性)。

他们还建议,无法靠谱性并非只是采样伪影,而是当前模型处理不断变化的输入的基本限制,并且这引发了对代理框架的担忧,因为代理框架依赖于跨回合的持续推理。

最后,他们认为多回合能力应该被视为LLM的核心能力,而不是卸载到外部系统。

作者指出,他们的结果可能低估问题的真实规模,并强调了测试的理想条件:用户模拟器在其设置中具有完全访问指令和对话历史的权限,可以以最优的顺序揭示分片(在现实世界中,用户通常会提供碎片化或模糊的提示,而不知道模型下一步需要听到什么)。

此外,助手在每个回合后立即被评估,在对话完全展开之前,并且在后期混乱或自相矛盾之前。这些选择虽然对于实验控制是必要的,但意味着观察到的可靠性差距可能比报告的更大。

他们得出结论:

“[我们]相信所进行的模拟代表了LLM多回合能力的温和测试环境。由于模拟条件过于简化,我们相信实验中观察到的退化可能是LLM不可靠性的低估,以及LLM在现实世界环境中多回合对话中迷失的频率。”

结论

任何花费大量时间与LLM交互的人都可能会认识到这里提出的问题,从实践经验来看;并且我想大多数人已经出于实用目的放弃了“迷失”的LLM对话,转而开始新的对话,以期LLM能够“重新开始”,并停止对在长时间、曲折且越来越令人沮丧的交互中出现的内容着迷。

有趣的是,向问题投入更多的上下文可能并不能解决它;而且,论文提出了更多的问题,而不是答案(除了如何绕过这个问题)。

 

* 令人困惑的是,这与人工智能中“分片”的传统含义无关。

作者自己的强调。

首次发布于2025年5月12日星期一

机器学习作家,人类图像合成领域专家。曾任 Metaphysic.ai 研究内容负责人。
个人网站: martinanderson.ai
联系: [email protected]
Twitter:@manders_ai