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

思維鏈:把思考說出口

解鎖了一整個世代推理能力的技巧:請模型把過程寫出來。思維鏈如何運作、怎麼用提示引出它,以及如何讓它更可靠。

為什麼把步驟寫出來會有幫助

思維鏈推理(chain-of-thought reasoning)的做法,是讓模型在給出最終答案前,先以文字產生工作過程的中間步驟。它為什麼有效,機制其實很簡單:模型寫下的每個字,都會成為它讀取以寫出下一個字的脈絡的一部分。藉著把「先算小計、再加稅」攤開來寫,模型實際上是把後續運算所需的部分結果餵給了自己——寫下的步驟就是它可以倚靠的工作記憶。

這正是第一篇裡慎思 vs 直覺概念的具體形式。直接回答會把所有運算硬塞進產生單一個字的那一次前向傳遞裡;思維鏈則把運算分散到數十個字上,每一個字都能在前一個字的基礎上再往前推。

p\!\left(a \mid q\right)=\sum_{r} p\!\left(a \mid r,\,q\right)\,p\!\left(r \mid q\right)

为什么写出步骤会有帮助:思维链把推理过程 r 显式写出,而不是把它边缘化掉,于是答案以模型自身的推演为条件。

如何引出思維鏈

引出思維鏈有兩種經典做法,都屬於思維鏈提示(chain-of-thought prompting)。零樣本(zero-shot)版本就是在後面加一句指令,例如「讓我們一步一步思考」。少樣本(few-shot)版本則先給出一兩個完整的範例,讓模型在你真正的問題上模仿那種逐步的風格。

Question: A cafe sells muffins at $3 and lattes at $5.
A customer buys 4 muffins and 3 lattes. What is the total?

Let's think step by step.
- 4 muffins at $3 each = 12
- 3 lattes at $5 each = 15
- total = 12 + 15 = 27
Answer: $27
零樣本思維鏈:「一步一步」的提示讓模型在答案前先攤開工作過程。

對多條路徑取樣

單一條思維鏈可能很早就轉錯彎,然後信心十足地走向錯誤答案。自我一致性(self-consistency)能修掉很多這類問題:對同一個問題獨立取樣好幾條思維鏈(用非零的溫度讓它們有差異),再對最終答案做多數決。不同的有效路徑往往收斂到同一個正確結果,而錯誤則四散——所以投票偏向真相。

  1. 用適中的取樣溫度,把同一個問題送出好幾次。
  2. 讓每一次執行各自產生完整的思維鏈與最終答案。
  3. 只抽出最終答案,忽略彼此不同的推理文字。
  4. 把出現次數最多的答案作為共識結果回傳。
\hat{a}=\arg\max_{a}\sum_{i=1}^{N}\mathbb{1}\!\left[a_i=a\right]

自洽性对多条推理路径求边缘:采样 N 条独立的思维链,返回最多链一致认同的最终答案。

分支與拆解

有兩種更豐富的結構,超越了單一直線。思維樹(tree of thought)在每個階段探索好幾個候選的下一步,評估它們,再展開最有希望的——它是在一棵由部分解組成的樹上做搜尋,而不是走一條貪婪的路。由簡到繁提示(least-to-most prompting)則從另一個角度切入:先請模型把一個難題拆成一連串較簡單的子問題,再依序解決,把每個答案餵進下一個。

思维树在每一步分叉——探索若干候选的后续步骤,给它们打分,并扩展最有希望的那一支,正如这棵搜索树所示。

一棵可交互的搜索树,分叉出候选的下一步并扩展得分最高的节点。