譯者 | 張哲剛
審校 | 重樓
微軟研究院和 Salesforce的一篇新論文發現,即使是功能最強大的大型語言模型,如果面臨的指令是分階段而非一次性給出,往往也會表現不佳。該文作者運行六項任務進行研究,最終發現:當提示被拆分成多個回合時,大語言模型的性能平均下降了39%。
單輪次對話(左圖)可獲得最佳結果,但對最終用戶而言顯得并不自然。多輪次對話(右圖)則會導致即使是目前排名最高、性能最好的大語言模型也會在對話中失去原本的有效動力。來源:https://arxiv.org/pdf/2505.06120
更為嚴重的問題是:大語言模型響應的可靠性出現了大幅下降。即便是像ChatGPT-4.1以及Gemini 2.5 Pro 這樣備受用戶推崇的一線知名模型,面臨同樣的任務時,用戶指令方式稍有不同,答案有可能從近乎完美一下子跌落到明顯錯誤。另外,輸出的一致性在這個過程中有可能會下降一半以上。
為了探究這個問題,該論文引入了一種名為“分片”的方法,運用該方法,將原本完整而明確的提示,拆分成較小的片段,并逐個地發布到對話中。
簡單來說,這就好比是你在餐廳里向服務員下了一個完整詳細的的訂單,服務員們照著訂單一步步來,或者他們也可以一塊集體協商來共同搞定。
兩種極端形式的餐廳對話(并非出自新論文,僅作舉例之用)
為了強調這一問題,上述例子或許會將客戶置于一種比較尷尬的境地。但第二列對話呈現了一個核心思想:交易性交互方式。在解決實際問題之前先明確所有的問題集——很顯然,這是是一種合理明確并且合乎邏輯的處理任務方式。
這種設定思路逐步體現,當下對大語言模型交互逐漸采用漸進式、分段式方法。作者指出,大語言模型經常會生成過長的響應,即便是在這些響應被反饋為是錯誤的或不相關的之后,它們仍會繼續依賴自身并不正確的分析見解。這種傾向一旦再與其他不利因素相結合,有可能會導致系統完全失去對交流的掌控。
事實上,研究人員發現的這一現象,正和我們許多人的日常經驗不謀而合——要讓交流重回正軌,最好的辦法是與大語言模型開啟新的對話。
“如果與大語言模型的對話未能達到預期效果,那么重新開啟一個包含相同信息的對話,可能會比繼續當前的對話取得更好的效果。
這是因為當前的大型語言模型可能在對話過程迷失方向,而且我們的實驗表明,繼續與該模型持續進行對話是沒有意義的。此外,由于大型語言模型生成的文本具有隨機性,開啟新的對話可能會帶來更好的結果。”
作者指出,諸如“Autogen”或“LangChain”這類具備自主性的系統有可能通過充當終端用戶與大型語言模型之間的解釋層來改善結果,只有在收集到足夠多的“碎片化”響應并將其整合成一個連貫的查詢(該查詢并不會被終端用戶所知曉)時,它們才會與大語言模型溝通交流。
然而,作者認為無需專門構建獨立的抽象層,亦可將相關功能直接集成至源大語言模型中。
有一種觀點認為,對大語言模型來說,多輪對話能力并非必不可少的功能,因為這個需求可以交給智能體框架來處理。也就是說,既然智能體框架能完成與用戶的互動,大語言模型只是當作單輪對話的工具來用,那我們究竟還需要大語言模型本身具備多輪對話功能嗎?…
但在對一系列實例進行測試后,他們得出結論:
[依靠] 以類似自主智能體的方式來處理信息會存在局限性,我們認為大語言模型應當具備原生支持多輪交互的能力。
這篇趣味盎然的新論文題目為《大語言模型會在多輪對話中會迷失》,作者為來自微軟研究院和Salesforce公司的四名研究人員。
碎片化的對話
新方法首先將傳統的單輪指令分解為很小的片段,并在大語言模型交互過程中的關鍵時刻將這些小片段引入,ChatGPT以及Google Gemini 這樣的系統就應用了這種結構,呈現出具備探索性、來回往復參與的互動風格。
每條原始指令都是一個獨立完整的提示,一次性完成整個任務,其中涵蓋一個進階問題、相關背景信息以及其他所有必要的條件。而分片版本則將此任務指令分解為多個較小的部分,每個分片僅僅提供其中的一條信息:
兩組指令分別展示了(a)在單輪次交互中給出的完整提示,以及(b)用于模擬不完整且多輪次交互的分片版本。從語義上來看,兩者表述的為相同的信息內容。
第一個分片內容基本上都是介紹任務的主要目標,其余分片則會提供更詳細的信息。它們共同傳達了與原始指令一致的信息,只不過分散地分布在對話的多個輪次中,并且自然而流暢。
每個模擬對話都由三個部分組成:1、助手,是一個被評估的模型;2、用戶,一個能夠訪問分片形式完整指令的模擬智能體;3、一個負責監督和評估對話過程并給出評分的系統。
對話開始時,用戶給出第一個分片,然后助手自由作出響應。緊接著,系統會將該響應歸類為若干類別中的一種,比如是需要澄清請求還是需要嘗試完整回答。
如果模型確定嘗試回答,則會有一個獨立組件提取出用于評估的相應段落,而忽略其周圍的其他文本。在每次新的輪次中,用戶會給出一個新的分片,從而驅動模型給出另一輪響應。交流會這樣一直持續下去,直到模型給出了正確的答案或者沒有分片提供了為止:
模擬分片對話的圖表,其中經過評估的模型以紅色突出顯示。
早期測試表明,模型常常會詢問尚未分享的信息,因此作者放棄了按照固定順序給出分片的思路。取而代之的是,使用模擬器,根據交流的進展情況來決定接下來要給出哪一分片。
這種情形下,基于GPT-4o-mini 的用戶模擬器被授予全部指令和對話歷史的完全訪問權限,它的任務就是在每一輪次中,根據交流的進展情況,決定接下來給出哪一分片。
用戶模擬器還會對每個分片進行重新表述,以保持對話的連貫性,但并不會改變其原意。這使得模擬能夠反映出真實對話中的“公平和互動”,同時能夠保持對任務結構的控制。
在對話開始之前,助手僅能獲取到完成任務所需的基本信息,例如數據庫架構或 API 應用。它不會被告知指令會被拆分,也不會被引導采用任何特定的方式來處理對話。這樣做是有意為之的:在實際應用中,模型幾乎從未被告知過提示信息可能不完整或者以后會更新,省略這一背景信息有助于模型在模擬中的行為方式更接近真實情境。
GPT-4o-mini 還被應用于如何對模型的回復進行分類,并從這些回復中提取最終答案。這有助于模擬保持靈活性,但也偶爾會出現錯誤:不過,作者在手動檢查了數百次對話后發現,只有不到5%的對話是多少有些問題的,并且因為這些錯誤而導致結果發生變化的情況不到 2%。他們認為,在該項目的參數范圍內,這個錯誤率已經是很低了。
模擬場景
作者使用五種類型的模擬測試,來測試模型在不同情形下的表現,每種模擬都設定了不同的指令呈現方式及呈現時間。
在“完整”設置下,模型在一輪交互中就能接收到全部指令。這代表了標準的基準格式,并作為性能的基準值。
“分片”設置會將指令拆分成多個部分,并逐個進行傳遞和給出,從而模擬出一種更貼近現實的、表述并不明確的對話場景。這種設置方式主要用于測試模型對多輪輸入的處理能力。
在“拼接”設置中,各個分片會被重新組合成一個單獨的列表,保留其原有的表述方式,但取消了逐段的結構。這有助于模型將分片后的對話與重新表述的或內容丟失的對話區分開。
“回顧”模式的運行方式與“分片”模式類似,但增加了一個最終環節,即首先重新闡述之前的所有片段,然后模型給出最終答案。這一環節旨在測試摘要提示是否有助于恢復丟失的上下文背景信息。
最后,“雪球”則更進一步,在每一個輪次重復先前的所有分片,確保完整指令在對話進程中始終清晰可見,并提供了一個更寬容的多輪次能力測試。
基于分片指令的模擬類型。一個完整的提示會被拆分成較小的部分,然后這些部分可以用于模擬單輪次(完整、拼接)或多輪次(分片、回顧、雪球)的對話,具體取決于信息的發布速度。
任務和指標
六項生成任務,涵蓋了編程和自然語言兩個領域:代碼生成提示來自HumanEval和LiveCodeBench;文本到SQL查詢來自Spider;API 調用基于伯克利函數調用排行榜中的數據構建;基礎數學問題由GSM8K提供;表格標注任務基于ToTTo;多文檔摘要則取自Haystack數據集的摘要。
模型性能通過三個核心指標來衡量:平均性能、智能力以及不可靠性。
平均性能反映了模型在多次嘗試中的整體表現優劣;智能力則顯現了模型在最高分輸出時可以達到的最佳結果;而不可靠性則衡量了這些結果之間的差異程度,結果之間的差距越大,表明其行為的穩定性越差。
所有分數都在0至100范圍之內,以確保各項任務的評分的一致性,并對每條指令計算制定相關指標,取其平均值,從而得出模型整體性能的綜合評估結果。
實驗中使用了六項分片任務,涵蓋了編程和自然語言生成兩個方面。每項任務都附有詳細說明以及其分片版本。針對每項任務,從已有的基準測試中選取了 90 到 120 條指令進行改編。
競爭者和測試
在初始模擬中(預計成本為5000美元),對包含了六項任務的600 條指令進行分片,用于模擬三種對話類型:完整型、拼接型和分片型。對于模型、指令以及模擬類型的每種組合,全部運行十次對話,共產生了超過20萬次模擬——這種模式能夠獲取對整體性能、潛在智能力以及可靠性的衡量指標。
他們共對15個模型進行了測試,涵蓋了眾多不同的提供者和架構:OpenAI的模型GPT-4o(2024年11月20日版本)、GPT-4o-mini(2024年7月18日版本)、GPT-4.1(2025年4月14日版本)以及思考模型o3(2025年4月16 日版本)。
Anthropic模型為Claude 3 Haiku(2024-03-07)和 Claude 3.7 Sonnet(2025-02-19),可通過Amazon Bedrock獲取。
谷歌則提供了Gemini 2.5 Flash(預覽版-04-17)和Gemini 2.5 Pro(預覽版-03-25)。元模型包括Llama 3.1-8B-Instruct、Llama 3.3 - 70B-Instruct以及通過Together AI提供的 Llama 4 Scout - 17B - 16E。
其他條目包括OLMo2 13B、Phi-4和Command-A,均通過Ollama 或Cohere API本地獲取;另外還有Deepseek-R1,通過Amazon Bedrock獲取。
對于這兩個“思考”模型(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%。這在一定程度上是由于指標定義所致。由于較小的模型在完整模式測試中獲得的絕對分數較低,因此它們的性能下降空間小于性能出色的模型。
總之,無論大型語言模型單輪次對話的性能有多么出色,我們在多輪次對話的場景中都會觀察到其性能出現大幅下降的情況。
初步測試表明,一些模型在特定任務中表現很出色:比如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)。
在同一任務中,模型響應結果有時會相差多達 50分,即便不添加任何新的內容也是如此,這表明性能下降并非是由于技能不足,而是因為模型在連續的交互過程中變得越來越不穩定了。
論文指出:
[盡管] 更好的模型通常在多輪次推理能力方面略勝一籌,但所有模型在不可靠性方面表現都比較一致。也就是說,在多輪次且信息不充分的場景下,我們測試的所有模型都表現出極高的不可靠性,對于固定的指令,模擬運行時,其最差表現較之最佳表現平均性能下降幅度約為50個百分點。
為了探究性能下降是否與輪次數有關,作者進行了逐步分片實驗,將每條指令拆分為1到 8個分片(參見上圖最右側一列)。
隨著分片數量的增加,不可靠性也隨之穩步上升,這說明即使只是少量增加輪次數也會使模型變得更加不穩定。智能力水平基本保持不變,這進一步表明問題在于一致性,而不是智能力。
溫度控制
他們另外進行了一組獨立的實驗,以驗證這種不可靠性是否由隨機性造成。為此,作者將助手和用戶模擬器的溫度設置分別設定為三個不同的值:1.0、0.5 和 0.0。
在諸如完整和拼接這樣的單輪次操作模式中,降低助手的溫度顯著提高了可靠性,差異多達80%;但在分片設置中,同樣的干預措施卻效果甚微:
在完整、拼接和分片設置下,助手和用戶溫度的不同組合的不可靠性評分,數值越低表示響應一致性越好。
即便將助手和用戶的溫度都設置為零度,系統的不可靠性仍然很高,GPT-4o的表現波動率約為30%,這表明在多輪次對話中所觀察到的不穩定現象并非僅僅是隨機的干擾,而是模型在處理分片化輸入時所存在的結構性缺陷。
意義
在論文的結論中,作者詳細闡述了他們這些研究結果的重大意義。他們指出,強大的單輪次性能并不能絕對保證多輪次交互的可靠性,并告誡用戶在評估實際應用的可行性時,不要過度依賴完全詳盡的基準測試(因為這類基準測試往往會掩蓋實際應用時更自然、分散的交互中所存在的不穩定因素)。
他們還指出,不可靠性的存在并非僅僅是樣本選取造成的偶然現象,而是一種當前模型在處理不斷變化的輸入時所存在的根本性的缺陷。此外,他們還認為這種情形給依賴于連續推理的智能體框架帶來了隱患。
最后,他們認為,多輪次對話能力應當被視為大語言模型的核心能力,而不應將其轉交給外部系統來處理。
作者指出,他們的研究結果很可能還是低估了問題的真實嚴重程度,并強調了測試的理想條件:他們所使用的用戶模擬器能夠完全獲取指令,并能以最佳順序揭示分片化信息,這為助手提供了極有利的理想化的上下文背景條件(但在實際使用中,用戶往往會提供零零碎碎或模棱兩可含糊的提示,并且用戶也不會體貼地想到模型接下來需要接受到什么內容)。
此外,在每輪次對話結束后,都會立即對助手進行評估,而不是等到整個對話結束后才進行評估,這樣可以避免每輪次對話之后出現的混淆或自相矛盾,否則這些情況會進一步影響性能。這些做法雖然對于實驗控制是必要的,但這就意味著,實際操作中遇到的可靠性差距很可能比實驗所報告的要大。
他們得出結論:
[我們] 認為開展的模擬實驗為大語言模型的多輪次對話能力提供了一個安全的良性的測試環境。由于模擬實驗條件比較簡化,盡管我們在實驗中觀察到了性能下降,但很有可能還是低估了大語言模型的不可靠性以及大型語言模型在實際對話中頻繁迷失方向嚴重程度。
結論
任何使用過一段時間大語言模型人都可能會從實際應用中感受到這里所闡述的問題;我想大多數人也都會本能地放棄那些與大語言模型之間“丟失”的對話,轉而開啟新的對話,寄希望于大語言模型可以“重新開始”,而不是一直糾結于那些在冗長、繁瑣且愈發令人惱火的交流中出現的內容。
值得注意的是,為問題中提供更多的上下文背景信息未必就能解決問題;并且實際上看來,這篇論文提出的問題比給出的答案還要多(除了繞過問題的方法這個方面)。
* 令人困惑的是,這與人工智能中“分片”的常規含義毫無關聯。
譯者介紹
張哲剛,51CTO社區編輯,系統運維工程師,國內較早一批硬件評測及互聯網從業者,曾入職阿里巴巴。