2025年3月30日 星期日

Chain of Thought(思維鏈)的概念、應用與挑戰

引言

大型語言模型(LLM)在近年的迅速發展中展現了強大的生成與理解能力,但在涉及 多步推理的複雜任務上依然面臨挑戰 ( 相關參考)。傳統上,模型往往傾向於給出直覺性的單步答案(類似人類的 System-1直覺反應),對於需要逐步思考(類似System-2深度推理)的任務如數學推導、符號推理、常識推理等,常常難以取得理想的表現 ( 相關參考)。為了彌補這一缺陷,Google Brain 團隊在 2022 年提出了 「思維鏈」(Chain of Thought, CoT)提示技術 ( 相關參考)。思維鏈透過讓模型顯式生成一系列中間推理步驟來解題,顯著改善了模型在多步推理任務上的表現,並迅速成為提升 LLM 推理能力的重要技術之一 ( 相關參考)。本報告將深入解析 CoT 的概念與重要性,說明其理論基礎與運作原理,以及如何透過適當的提示引導模型進行多步推理與解題。同時,我們將舉例說明 CoT 在不同任務中的應用及其帶來的效益,並討論此方法可能的限制與挑戰,輔以相關研究文獻加以佐證。

思維鏈的概念與重要性

Chain of Thought(CoT) 指的是在讓模型回答問題時,要求或示範模型先產生一系列 逐步的推理過程(如同在紙上「列草稿」)再給出最終答案。換言之,與其直接生成最後答案,模型會先一步步地闡述推理步驟。這一概念的重要性在於:透過 將複雜問題分解為若干中間子任務逐一解決,模型能更有效地處理多步推理問題 (相關參考)。例如,人類在解答數學應用題時通常會列出計算過程,CoT 也是讓模型模仿這種 逐步思考的流程來作答。

實證研究已顯示思維鏈對 LLM 的推理能力提升顯著。Wei 等人(2022)的經典論文指出:透過在提示中加入包含推理步驟的示例,能 顯著提升大型語言模型在算術、常識和符號推理任務上的表現 ( 相關論文)。例如,使用八個帶有推理步驟示例的提示(few-shot CoT),在一個 5400 億參數的模型上(PaLM 540B)達到了 GSM8K 數學文字題基準測試的當時最新水準(57% 正確率),甚至超越了經專門微調並帶有驗證器的 GPT-3 模型 ( 相關論文) ( 延伸說明)。這項成果凸顯出 CoT 的威力:即使不進行額外微調,只需透過提示讓模型“展示思考過程”,就能大幅提升複雜問題的解答能力。

CoT 不僅提高了正確率,還帶來了模型推理可解釋性的好處。由於模型會輸出中間推理步驟,我們可以窺探模型是如何推導答案的,這在一定程度上提供了模型決策過程的透明度 ( 相關參考)。例如,模型在回答問題時給出的思維鏈可以幫助我們瞭解它是依據哪些資訊和邏輯得出結論,方便我們 檢查和除錯推理路徑中的錯誤 ( 相關參考)。總的來說,思維鏈提示法被視為 LLM 出現高級推理能力的一個里程碑,因為此能力只有在模型參數規模足夠大時才 自然湧現(emerge) (相關論文) ( 延伸說明)。這意味著,當模型足夠強大時,只需提供適當的思維鏈示例或指示,就能引出其隱含的多步推理才能,從而解決原本隨著模型尺度增長而表現停滯的困難任務 ( 相關參考)。

理論基礎與運作原理

從理論上講,Chain of Thought 提示之所以有效,源於它契合了問題分解的思想:將一個複雜任務拆解為一連串較易解決的小步驟,逐步完成即可得到最終答案 ( 相關參考)。這類方法在算法上類似於遞歸分解或逐步求解,而在人類認知上則類比於我們解題時的草稿推演。大型語言模型本質上是序列到序列的預測模型,當我們要求其生成推理過程時,模型在生成每一步推理時都在條件化於之前生成的內容,彷彿在進行「自問自答」式的連貫思考。透過這種機制,模型可以將需要 多跳推理(multi-hop reasoning)的問題轉化為一系列線性步驟來處理,而不必在一次生成中直接映射從問題到答案的複雜關係。

CoT 的一個關鍵理論基礎在於大模型的潛在能力被提示所激發。研究發現,許多需要深度推理的任務在模型參數規模較小時表現不佳,隨著模型變大依然 呈現「平坦的」提升曲線,即單靠增加參數並不能顯著提高這些任務的性能 ( 相關參考)。這些任務對應先前提到的 System-2 類型,需要慢思考、多步推理。然而,當模型夠大時,只要給予恰當的思維鏈提示,模型在這些任務上的表現曲線會突然躍升,出現遠超過以往的水準 ( 相關參考)。因此,研究者將這種能力視為模型規模達到一定程度後的 涌現能力 ( 相關說明)。簡而言之,大模型已隱含具備了進行複雜推理的潛能,只是需要透過思維鏈這種方式將其「喚醒」。在提示中加入示範的推理步驟後,模型能沿著這條“思路”產生自己的推理過程並得出答案 ( 相關說明)。而每當模型成功地生成一個合理的中間步驟,就相當於在引導它朝正確方向前進一小步,逐步逼近正確解答。

從訊息論的視角也可以理解 CoT 的原理:一篇近期研究透過 資訊增益分析了思維鏈中每個步驟的作用,認為在正確的推理過程中,每個中間步驟都應當為最終正確答案提供額外的有價值資訊。如果某一步驟後關於最終結果的資訊含量沒有增加,則該步驟很可能是無效甚至有誤的 ( 相關參考)。因此,好的思維鏈會讓有用訊息逐步累積,最終匯聚成解題所需的完整資訊。這也啟示我們在設計或評估思維鏈時,可以關注每一步是否在朝正確答案逼近,否則就需要重新引導模型的推理方向。

多步推理的提示方法

為了讓模型按照思維鏈進行推理,我們需要在提示工程(Prompt Engineering)上下功夫,精心設計提示內容來引導模型。「思維鏈提示法」主要有兩種實現途徑:

  • 少樣本示例提示(Few-Shot CoT):在正式問題之前,提供數個已解決的範例,每個範例都包括問題及對應的逐步推理過程和答案。透過這些示例,模型可以學會模仿推理步驟的格式與邏輯。例如,提示可包含:「Q: (問題描述) A: (思考步驟1...;思考步驟2...;... 最終答案。)」的示範 ( 更多說明)。有研究指出,只需在提示中加入一系列此類思路鏈示範,模型在回答新問題時也會傾向輸出類似的推理過程 ( 更多細節)。這種方法無需更改模型參數,完全是通過設計輸入來誘導模型產生所需的行為。實踐中,選擇示例時通常會挑選和目標問題類型相似且推理清晰正確的範例,確保模型有良好參考。比如在數學題場景下,示例可以是類似的應用題及其詳細解題過程。
  • 零樣本思維鏈(Zero-Shot CoT):發現大型模型具備“一提示就懂”的潛能,一些關鍵措辭即可引導其進行多步推理。Kojima 等人(2022)提出,只需在問題後附加一句 「讓我們一步步思考」("Let’s think step by step."),模型往往就會自行產生連貫的推理步驟 ( 相關論文)。令人驚豔的是,這種簡單提示讓模型在不提供任何範例的情況下,大幅超越了原本的零樣本表現——例如在 MultiArith 算術推理資料集上,正確率從17.7%飆升到78.7%,在 GSM8K 數學集上也從10.4%提升到40.7%(使用 text-davinci-002 模型) ( 相關論文)。類似地,在其他如日期推理、物體追蹤等任務上也觀察到了顯著提升 ( 延伸範例)。這表明大型模型中潛藏的推理能力只需經過適當的語言觸發即可被調動。對使用者而言,零樣本 CoT 的實現非常簡單:直接在問題後附加一個請模型逐步推理的請求句即可(在中文環境下,可使用「讓我們一步一步來推理這個問題」等等語句)。值得注意的是,這種方法通常對參數規模足夠大的模型有效,較小的模型則可能無法理解此提示的意圖或生成出胡亂的步驟。

上述兩種方法也可以結合使用。例如,我們可以提供一兩個示例推理,再在最後一個問題處附上「讓我們一步步來思考」作為開頭,引導模型延續前例風格進行推理 ( 相關建議)。此外,研究者還探索了自動化構建思維鏈提示的方法,例如利用聚類將題目分組,讓模型自動產生各組的代表性推理示例,再用這些示例組合成提示 (Auto-CoT) (生成方式)。這類Auto-CoT技術能減少人工作業量,為大規模任務生成高質量的思維鏈提示 (進一步介紹) (使用時機)。無論採用哪種方式,引導模型進行多步推理的核心在於:明確要求模型展開思路。一旦模型開始逐步闡述,它就能一方面檢查自己的部分結論是否合理,另一方面將前一步的信息帶入下一步,形成一條邏輯鏈條直到問題解決。

為了更直觀地說明,下面是一個應用思維鏈提示的簡單範例:

範例:問題:「李雷有32顆糖,韓梅梅有42顆。他們一起吃掉了35顆,請問他們還剩下多少顆糖?」
沒有 CoT 時模型可能會直接產生一個錯誤答案,例如「27顆」,因為它可能忽略了部分計算步驟;
使用 CoT 提示時,我們在問題後加上「讓我們一步步計算:」。模型的回答可能如下:
「首先,李雷有32顆糖,韓梅梅有42顆糖,合在一起共有32 + 42 = 74顆。接著,他們吃掉了35顆,所以還剩下74 - 35 = 39顆。答案是39。」

可以看到,思維鏈讓模型把問題拆解為「求和」和「減法」兩個步驟逐一完成,避免了一步到位時可能出錯的跳躍。

不同任務中的應用與效益

CoT 思維鏈方法已在多種任務中展現出顯著效益,尤其是那些需要多階段推理的任務。下面將舉例說明幾類典型任務中的應用及效果:

  • 數學推理:這可能是 CoT 最早也是成效最顯著的應用領域。對於數學文字題、算術計算等問題,思維鏈提示能引導模型逐步列出計算過程和推理依據。例如在 GSM8K 小學數學文字題集中,使用 CoT 後的大模型解題正確率一舉從不到20%提升到超過50%,達到當時的最新水平 ( 相關參考)。又如在 MultiArith 等算術推理資料上,少樣本 CoT 可以讓 GPT-3 類模型的正確率提升數倍 ( 相關論文)。透過逐步演算,模型更不易漏掉關鍵步驟或在心算時出錯,這對多步計算題尤其有效。值得一提的是,Google 也基於思維鏈原理訓練了專門的數學推理模型(如 Minerva),進一步將這類任務的表現推向新高。總的來說,在需要 連串計算或公式推導的任務中,CoT 大幅提升了模型的正確性,讓模型能勝任以前難以解出的數學難題 ( 論文)。
  • 問答與常識推理:在開放域問答或常識推理任務中,思維鏈有助於模型進行多跳檢索與綜合。例如,多跳問答需要模型先後查找或推導出若干中間事實才能得到最後答案。CoT 可以讓模型明確地將問題拆解:先問「第一步需要找什麼資訊」,再問「接著求出什麼結果」,一步步推理。研究表明,對於涉及推理的問答,如日期計算(判斷某人在某年是否已出生等)或物件追蹤(一系列動作後某物在哪裡)等問題,加入 “讓我們一步步來思考” 後,模型的表現有明顯提升 ( 相關實驗)。例如在日期理解任務中,模型會先列出相關年份和事件,再比較大小推導結果。在這類常識/知識問答中,CoT 的效益在於降低了模型 忽略細節隨意跳結論的風險,確保每個推理環節都有據可依。
  • 邏輯推理與符號推理:CoT 對於各種邏輯謎題、演繹推理、符號操作等任務也帶來了顯著幫助 ( 詳細分析)。例如,經典的硬幣翻轉問題或字母順序問題,要求模型跟蹤一系列狀態變化;透過思維鏈,模型可以列出每一步變化的結果,從而正確地得出最終狀態的答案。同樣地,在謊言與真話者謎題集合關係推理等任務中,逐步推理能避免模型一下子被複雜條件絆倒。在符號推理方面(例如算術表達式簡化、方程求解等),CoT 提示讓模型按照演算規則一步步操作,大幅提升了正確率 ( 延伸閱讀)。有研究對上百篇使用 CoT 的論文進行元分析也指出:CoT 的主要收益集中在涉及數學或邏輯的任務上,在這些任務中性能提升最為明顯 ( 元分析) ( 數據顯示)。這些任務的共同點是需要按部就班地處理資訊、執行符號計算或邏輯推導,因此思維鏈正好提供了合適的框架讓模型發揮此類長處。

限制與挑戰

儘管思維鏈提示為大型語言模型帶來了強大的推理能力,但它並非萬能良方,在應用中仍存在若干限制和挑戰需要關注:

  • 效益的任務依賴性:並非所有任務都能從 CoT 中獲益同等多。最新的研究元分析顯示,CoT 的提升主要集中在數學和符號推理任務,在其他類型的任務上增益較小 ( 相關數據)。甚至有研究者指出,在某些不需要多步計算的任務上,強行加入推理步驟可能 無助於提升性能或帶來很小的改進 ( 更多說明);此時,直接讓模型給出答案即可,額外的“思考”反而徒增輸出長度和計算成本。因此,如何選擇性地應用 CoT 很重要。如果問題本身並不複雜或不涉及推理,過度使用思維鏈可能是畫蛇添足。理想的做法是針對需要多步推理的情境才使用 CoT,從而在保持性能的同時節省推理成本。
  • 對模型規模的要求:思維鏈的有效性高度依賴於模型本身的能力水準。Wei 等人的研究強調,只有參數規模約百億以上的模型才能真正從 CoT 中取得性能增益,較小的模型往往因為產生不合邏輯的推理而導致效果比不用 CoT 時更差 ( 相關討論)。這意味著 CoT 是一種隱含需要“大模型”支撐的技巧——模型需要足夠的知識和語言理解深度,才能合理地展開多步推理。對於資源有限、無法使用超大模型的情況,CoT 的助益可能有限。
  • 錯誤傳播與可靠性:思維鏈中的每個步驟都可能影響最終答案的正確與否。一旦某一步出現錯誤,它後續的推理往往也會跟著出問題(所謂謬誤逐步擴大的效應)。模型在跟隨 CoT 提示時雖然善於遵循步驟格式,但並不保證每個步驟都是正確無誤的。這提醒我們對 CoT 的結果也不能全盤盡信,需要輔以人類審核或交叉驗證關鍵步驟。
  • 計算成本與輸出長度:讓模型逐步思考意味著輸出內容(token)的顯著增多。每增加一個推理步驟,都會消耗額外的生成時間和計算資源。這轉化為 更高的API調用成本較長的響應時間。在商業應用中,若大量簡單查詢也套用 CoT,無疑會造成資源浪費。因此需要權衡:在確實需要深入推理的問題上使用 CoT,而對簡單問題則應避免不必要的長輸出。較長的回答有時也會降低使用者體驗,有些應用會在內部使用 CoT 但只向用戶呈現最終簡潔答案。
  • 提示設計與穩健性:CoT 非常依賴提示的質量。如果示例本身有誤或語言不清,模型可能學到錯誤的推理習慣。此外,不同措辭的提示對模型行為的影響細微難測,有時一點措辭變化就可能影響是否啟動思維鏈模式。另一個問題是生成的思維鏈可能只是一種迎合提示的產物,未必真正反映模型“內心”推理。也因此,我們需要審慎檢查每一步推理是否正確,而不應盲目相信模型的文字表達。

結論

「思維鏈」(Chain of Thought, CoT)提示為大型語言模型開啟了一扇通往複雜推理能力的大門。透過引導模型生成中間推理步驟,CoT 極大地提升了 LLM 在數學、邏輯推理等多步驟任務上的表現,同時增強了結果的可解釋性。其理論基礎在於分解問題、逐步求解的思想,實踐證明只要方法得當,即使是通用的預訓練語言模型也能被激發出接近人類連貫思考的能力。然而,CoT 也並非毫無局限——它對模型規模和任務類型有要求,濫用可能導致效率低下或無謂的冗長,同時推理過程中的錯誤傳播與提示質量問題也需要我們謹慎對待。展望未來,研究者正探索結合思維鏈與其他機制(如工具使用、樹狀思維搜索等)的新范式,期望進一步完善模型的推理可靠性。總而言之,思維鏈提示作為大型語言模型時代的一項重要創新,已在多項任務中展現價值。我們需要在理解其原理與適用性的基礎上,揚長避短、審慎運用,方能充分釋放大型語言模型的推理潛能,讓 AI 更好地為我們所用。

The Era of Experience 導讀

1. 研究動機與核心主張(摘要/第 1 頁) 動機 :當前主流 AI 依賴大規模「人類資料」──包括文字、程式碼與標註──透過模仿與人類偏好微調(RLHF)取得跨領域能力。然而在人類尚未涉足、或資料已枯竭的領域(如尖端數學、科學發現)出現進...