深入理解 LLM 思維鏈(Chain-of-Thought)
從 ReAct 到 Tree-of-Thought,系統性拆解大語言模型的推理策略與實際應用技巧。
📌 本篇文章重點
- 思維鏈(CoT)用「引導模型先思考再回答」的指令,就能大幅提升推理正確率。
- 三階段用法:一行指令(Zero-Shot)→ 給示範(Few-Shot)→ 樹狀搜尋(Tree-of-Thought)。
- 不需要訓練新模型、不需要改架構,只要改提示詞。
- Step-by-step 是最簡單也最有效的起手式。
一、為什麼這篇值得看?
在做多步驟推理任務(數學、邏輯、程式除錯)時,AI 常常「一步錯、步步錯」。問題不在模型本身,而在我們沒有引導它把過程拆開。
思維鏈(Chain-of-Thought,簡稱 CoT)是目前提示工程裡性價比最高的技巧:不改一行程式碼,推理正確率就能明顯上升。本文用 3 個步驟帶你直接上手,從入門到進階一次看懂。
二、核心概念,3 分鐘搞懂
給出模型問題後,我們多要求一句「請一步一步思考」,它就會在最終答案之前先輸出推理過程。這正是 CoT 的全部原理:
Q: 一家餐廳有 23 張桌子,每張可坐 4 人,
已有 67 位客人,還能容納多少人?
A: 先把 23 × 4 = 92 算出來,
再算 92 − 67 = 25。
答案:25 人。
把推理過程攤開,模型每個小步驟都有自我修正的機會,這就是它比「直接猜答案」準的原因。
💡 核心洞察
單步計算(如 7 × 8)不需要 CoT;但只要是「多步驟、有中間狀態」的問題,就值得加上一步步思考的引導。
三、動手實作:3 步調出會思考的 AI
用一行指令啟動 Zero-Shot CoT
最省事的做法,在問題後面直接加上這串話:
請一步一步思考,最後再給出答案。
或是英文版 `Let's think step by step.`。零樣本(Zero-Shot)模式下就能生效,是日常使用最常派上用場的招式。
用示範打造 Few-Shot CoT
當效果還不夠穩定,就給 2~3 個「含完整步驟的範例」,讓模型照著做:
Q: 小明有 12 顆蘋果,給了小華 3 顆,又買了 5 顆。
A: 12 − 3 = 9,再 + 5 = 14。答案 14。
Q: 書店有 40 本書,賣出兩成後又進貨 8 本,現在有幾本?
A: 40 × 0.8 = 32,再 + 8 = 40。答案 40。
⚠️ 常見地雷
範例不是越多越好。彼此矛盾的範例會把模型搞混,2~3 個「步驟清晰、結論簡潔」的範例就是甜蜜點。
要更高的上限?升級 Tree-of-Thought
把「單一路徑」擴展成「樹狀搜尋」:一次生成多條推理路徑、逐一評估、選擇最有希望的繼續往下走,失敗就回溯重試:
- 生成多個可能的推理路徑
- 評估每條路徑的合理性
- 選擇最有希望的節點繼續展開
- 回溯到失敗的分支嘗試新路徑
這讓模型具備「嘗試 → 檢驗 → 修正」的能力,適合開放式、需要探索的問題。
四、效果與成本對照
| 技巧 | 適用場景 | 額外花費 | 效益 |
|---|---|---|---|
| Zero-Shot CoT | 日常多步推理 | 幾乎為零 | 準確率 +15% |
| Few-Shot CoT | 程式除錯、格式模仿 | 每題多幾個範例 token | 準確率 +22% |
| Tree-of-Thought | 開放式探索問題 | 多次生成,成本×N | 準確率 +35% |
| Self-Consistency | 有標準答案的任務 | 成本約 ×3 | 穩定度 +28% |
五、常見問題(FAQ)
Q1每一道題都要加「請一步一步思考」嗎?
只有需要多步驟推理或計算的題目才需要。像是「幫我寫一句歡迎詞」這種簡單任務,加上去反而多餘。
Q2會很耗 token 嗎?
會,因為多輸出了推理過程。實務上把「推理過程」與「最終答案」分開,正式使用時可以只留答案、或把思考過程存後端。
Q3想要固定輸出時怎麼搭配?
把 `temperature` 設為 0,並要求「先推理再摘要」,避免每次都生成不同的號碼或格式。
總結
思維鏈不是玄學,而是讓 AI 系統性思考的標準動作。從一行指令的 Zero-Shot,到給示範的 Few-Shot,再到樹狀探索的 ToT,照著 3 步現場就能套用。先從 Step 1 開始,不夠用再升級——這就是最穩的打法。