JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

思維鏈與推理

為什麼讓模型「一步一步想」能把錯誤答案變成正確答案——又為什麼這串看得見的推理是一個工具,而非窺見模型內心的窗口。

改變了提示方式的那個小竅門

你已經知道,大語言模型預測的是下一個詞元,而合適的提示能透過上下文學習引導它,無需改動任何一個權重。思維鏈提示是這一思路最重要的精煉。你不再直接索要答案,而是請模型先寫出中間步驟、最後才下結論。那句開創一切的話——「讓我們一步一步想」——確實能提升多步問題上的準確率。

為什麼用文字給答案「鋪墊」會有幫助?模型每生成一個詞元,可用的計算量是固定的。直接索要一個數字,等於強行把全部推理壓進一次前向傳播。當模型把步驟寫出來,每個新詞元都成了它可以回讀的草稿紙,於是一道難題被攤開成許多小而廉價的計算,而不是一次不可能完成的計算。這串推理文字,名副其實地,就是模型在一張它能重讀的紙上把思路想出聲來。

一步一步究竟在什麼時候有用

老實說,規律是:當答案需要把好幾塊拼起來時,思維鏈有用;當不需要時,它毫無作用——甚至略有害處。算術應用題、多跳問題、必須滿足多個約束的程式碼、邏輯謎題:這些都會因把過程展開而受益。一條推文的情感、一個你要麼知道要麼不知道的事實、一次簡單查找:這些毫無收穫,多出來的文字只會白白消耗詞元與時延。

還有一個值得說清楚的規模效應。可靠的逐步推理主要出現在較大的模型上;讓一個很小的模型去推理,它往往只是生成聽起來煞有介事的胡話,然後給個錯誤答案。這正是人們常籠統稱作湧現能力的那類現象——但請謹慎對待這個標籤。所謂的「突躍」,很大程度上是嚴苛的「全對或全錯」評分造成的假象;換用更平滑的指標,收益往往看起來是漸進的,而非神奇的。實用結論不變:別指望思維鏈能拯救一個小模型。

一個簡單的配套技巧是自洽性:不只走一條鏈,而是帶一點隨機性採樣出好幾條,再取多數鏈一致認同的那個答案。多條不同的推理路徑都匯向同一終點,比一條僥倖路徑更可信。這要花更多算力,但對高風險問題,它是你能買到的最便宜的可靠性提升之一。

推理模型:把習慣訓進去

在普通模型裡,你得用提示把步驟哄出來。新一代推理模型則把這個習慣訓進了模型本身:它們在作答前會自動產出一長串內部鏈條——往往對你隱藏,並作為單獨的「思考」詞元計費。它們通常用強化學習做後訓練,獎勵那些能導向正確、可核對答案(數學、程式碼、證明)的推理軌跡,遠不止於主要調教人類偏好風格的普通RLHF

這是一次真實的轉變,而非單純炒作:在高難數學與競賽程式設計上,收益巨大且可復現。但這份可靠性是用金錢與時間換來的。推理模型可能在它第一個可見的詞出現之前,就花掉成千上萬個隱藏詞元,因此更慢、更貴。讓工具匹配任務——棘手的證明或難纏的重構用推理模型,起草郵件或給工單分類則用快速的標準模型。

你看到的推理,並不是真正發生的推理

這是整篇導讀裡最重要的告誡。思維鏈是被生成出來的文字,其產生方式和其他每一個詞元別無二致。它並不是真正得出答案那段計算的逐字記錄。模型可以一邊寫著部分錯誤的推理,一邊給出正確答案;而更令人不安的是,它能寫出一條乾淨、自信的鏈條,去為它出於完全不同的原因得到的答案找補理由。那段解釋,有時只是事後編出來的故事。

這一點之所以要緊,是因為一條冗長、表達流暢的鏈條會顯得很權威,而這種感覺恰恰就是陷阱。步驟的流暢,並不為結論的真實背書。一個推理得理直氣壯的幻覺——編造的引用、貌似可信卻根本不存在的 API、一個由三步之前那個錯誤前提推出來的數字——依然是幻覺,只不過穿戴整齊去面試罷了。

Q: A shop had 23 apples. It used 20 for lunch and bought 6 more.
   How many apples remain?

Thinking:
  start = 23
  after lunch = 23 - 20 = 3
  after buying = 3 + 6 = 9
Answer: 9        <- correct, and the steps are checkable

(Now imagine step 1 read "start = 32". Every later step would
 look just as tidy, and the final answer would be wrong.)
看得見的步驟是一塊可核對的草稿——但前提是你真的去核對第一個前提,而不只是欣賞它之後那些算術。

在實踐中用好它

推理只是你提示工程工具箱裡的一種技巧,它能和你已經認識的其他技巧組合使用。把它和少樣本示例搭配,用示例展示你想要的推理風格;再用一段清晰的系統提示來設定角色與規則、給它定錨。同時留意你的上下文窗口:長鏈條加上幾個完整範例會飛快吃掉詞元,而這在每一次調用上都是實打實的金錢與時延成本。

  1. 先問自己:這個任務真的有多個步驟嗎?如果只是一次查找或一句話的判斷,就跳過思維鏈——它只會增加成本。
  2. 如果確屬多步,那就要麼調用推理模型,要麼給標準模型加一句樸素的「作答前請一步一步推理」。
  3. 對高風險任務,採樣多條鏈並取多數答案(自洽性);它們彼此分歧,本身就是一個有用的警報。
  4. 用事實依據或某個工具去核驗結論——絕不要僅僅因為步驟讀起來通順就信它。

退一步看,主線很清晰:在恰當的時刻投入更多計算,能換來更可靠的推理——這呼應了苦澀的教訓,也呼應了你將在前沿台階遇到的規模定律。但計算不等於理解。下一篇導讀自然地邁出下一步:當模型缺少某個事實時,別再指望它能憑推理到達,而是通過檢索,直接把出處遞到它手上。