- 思維鏈提示透過明確中間步驟而不是強迫給出一次性答案來提高 LLM 推理能力。
- 零樣本、少樣本、自動思維導圖、自洽性和思維樹等變體在準確性、成本和實施工作量之間進行權衡。
- CoT 在智慧體、使用工具的系統中尤其強大,因為透明推理可以提高可靠性和可調試性。
- CoT 的生產使用需要可觀察性、評估和迭代提示優化,以平衡品質與延遲和令牌成本。
思維鏈提示(CoT)已經從一項研究新奇技術發展成為開發人員最實用的工具之一,它可以讓大型語言模型真正進行推理,而不僅僅是猜測最有可能的下一個詞。 透過明確要求模型詳細說明其中間步驟,您可以提高數學、邏輯和決策任務的效能,同時還能獲得可調試和審核的透明追蹤。
如果您正在建立基於 LLM 的應用程序, 代理 或者使用副駕駛,但你仍然只發送單步提示,這樣就浪費了很多品質。 在本篇面向開發者的指南中,我們將詳細介紹什麼是思維鏈,為什麼它有效,主要變體(零樣本、少樣本、自動思維鏈、自洽性、思維樹、從最少到最多、多模態),它與提示鏈的比較,以及如何使用現代工具在實際系統中集成和監控它。
從直接回答到明確推理
人們向 LLM 發送的大多數提示都是「一次性」的:你提出一個問題,模型就給出答案,不問任何問題,也不顯示推理過程。 對於像「天空是什麼顏色?」這樣的問題,這沒問題:模型直接返回「天空是藍色的」。沒有可見的結構,沒有中間邏輯,只有一個聽起來正確的最終句子。
思維鏈提示顛覆了這種模式,它告訴模型實際敘述它正在遵循的推理步驟。 問“為什麼天空看起來是藍色的?一步一步地思考。”,模型可能會解釋“藍色”的概念,討論陽光如何與大氣層相互作用,提到瑞利散射,然後才指出較短的藍色波長向各個方向散射,因此天空在我們看來是藍色的。
從技術上講,你並沒有改變模型的權重或賦予它新的知識;你只是改變了要求它執行的計算格式。 你不是將解析、推理、計算和回答壓縮成一次向前傳遞的過程,而是讓它流式地產生一系列中間思考,最終得出結論。
在實踐中,這可以很簡單,只需在提示的末尾添加“逐步展示你的推理過程”或“讓我們系統地解決這個問題”之類的指示即可。 這個小小的補充促使模型揭示出導致最終結果的中間狀態鏈,而不是直接跳到聽起來合理的答案。
CoT 也大大簡化了可觀測性。 當模型出錯時,你通常可以準確地指出其邏輯出錯的確切步驟,而不是盯著一個神秘的錯誤數字或一個沒有解釋的錯誤決定。
模式匹配與真正推理之間的差距
LLM 在模式匹配方面非常出色,因為它們本質上是經過大量文字訓練的巨型機率機器。 問:「一磅羽毛和一磅鉛哪個比較重?」現代模型已經見過成百上千次這種刁鑽的問題模式;它會自信地回答說,它們的重量相同。
但是,當提出一個需要多個關聯操作的問題時,效能可能會迅速下降。 經典例子:「如果5台機器用5分鐘生產5個小部件,那麼100台機器生產100個小部件需要多長時間?」許多模型如果不加以仔細引導,就會給出直覺上看似正確但卻錯誤的答案。
核心問題通常不是缺乏知識,而是缺乏結構。 多步驟推理隱含地要求模型依序處理多個操作:理解文本、識別問題、映射到相關關係或公式、執行計算並產生答案。如果您要求立即給出答案,實際上是要求它將整個流程壓縮到一次完成。
思維鏈提示透過將隱含的序列轉化為顯性文本,為模型提供了「思考的空間」。 谷歌和其他公司的研究表明,當要求模型「展示他們的解題過程」時,算術、常識推理和符號操作任務的準確率與直接回答相比會大幅提高。
一項特別引人注目的實驗:當研究人員向 GPT-3 提出小學數學問題時,即使給出簡單的提示,它的正確率也低於 20%。 當他們簡單地將提示改為要求進行中間推理時,準確率就飆升至 50% 以上,而在此基礎上加上自洽性要求,準確率更是達到了 70% 以上。權重不變,模型不變──只是提問方式更巧妙了。
核心類型的思維鏈提示
開發人員已經開發出幾種 CoT 變體,以平衡準確性、成本和實施複雜性。 你會看到諸如零次 CoT、少次 CoT、自動 CoT(Auto-CoT)、自洽性、思維樹和由少到多的提示等變體,每一種都適用於略有不同的場景。
零發散性思考鏈
零樣本 CoT 是最輕量級的選擇:你不需要提供範例,只需附加推理指令即可。 「讓我們一步一步地思考」、「仔細地、一步一步地解決這個問題」或「在回答之前解釋你的理由」之類的短語是已知的觸發因素,可以激活模型學習到的推理行為。
從經驗來看,這種簡單的調整就能產生巨大的影響。 在算術基準測試中,早期研究表明,僅僅添加一條逐步指令,準確率就能從大約 10% 提升到 40% 以上。無需建置或維護範例庫,就能顯著提升推理品質。
當你想在一般推理任務中快速取得勝利,並且關心延遲和成本時,零樣本 CoT 就非常出色。 提示語保持簡短,因此您只需支付更少的令牌和更少的上下文建立費用,同時還能獲得相當大的可解釋性和準確性。
缺點是模型必須發明自己的推理風格,這種風格可能冗長、在不同領域之間不一致,或者即使最終答案看起來不錯,有時也可能不合邏輯。 對於金融、醫療、法律、安全關鍵決策等專業領域而言,這通常是不夠的。
少槍連環思維
少樣本CoT採取了一種更主觀的方法:你向模型範例展示問答對,其中答案包含明確的推理步驟。 經過幾次這樣的演示之後,你就可以提出你的真正問題,讓模型模仿這個模式。
當有效推理的結構至關重要時,這種方法非常有效。 對於財務分析工具,您可以提供範例,逐步說明現金流計算、折現率和風險調整。對於醫療分流機器人,您可以嵌入臨床決策樹:症狀、病史、危險信號、鑑別診斷,以及最終的建議。
權衡之下,少發CoT需要認真及時的工程努力。 您必須設計清晰、多樣化的範例,確保其邏輯正確且具有代表性,並隨著產品或領域限制的變化而不斷更新。更長的提示也意味著更多的令牌、更高的成本和每次呼叫更長的延遲。
不過,當領域敏感或複雜時,少樣本 CoT 通常比零樣本 CoT 表現更好,並且通常是您在生產中想要的基準。 您可以更好地控制推理的風格和深度,並且可以引導模型遠離脆弱或無關的思維模式。
自動思維鏈(Auto-CoT)
手動創建好的 CoT 範例無法很好地擴展,因此研究人員提出了自動思維鏈 (Auto-CoT),將大部分工作轉移到模型上。 其理念是自動生成各種推理鏈,您可以重複使用作為演示。
Auto-CoT 通常分兩個階段展開:
- 問題聚類: 你取得一個問題資料集,對它們進行嵌入(例如使用句子轉換器),然後對它們進行聚類,使相似的問題聚集在一起。
- 示範抽樣: 從每個聚類中,選擇一個代表性問題,並要求 LLM 產生一個零樣本 CoT 推理鏈,通常使用一些簡單的啟發式方法,例如「約 5 個推理步驟的簡短問題」。
最終得到的是一個自動生成且相當多樣化的 CoT 範例庫,無需人工編寫。 當收到新的查詢時,您可以從該庫中檢索或採樣相關的演示,並將它們作為少量 CoT 範例塞入提示中。
即使一些自動產生的鏈中會包含一些小錯誤,但多樣性和檢索往往會減弱任何一個有缺陷的例子的影響。 在實踐中,Auto-CoT 在推理基準測試中通常優於原始零樣本 CoT 和樸素少樣本 CoT,同時節省大量人力時間。
多條推理路徑上的自洽性
自洽性是一種進階擴展,它以計算量換取可靠性。 與其要求模型給出一個推理鍊和答案,不如對幾個獨立的推理鏈進行採樣(通過調整溫度或採樣參數),然後通過多數投票匯總最終答案。
直覺告訴我們,有很多有效的推理路徑可以得到同一個正確答案,但錯誤的路徑往往會分岔。 例如,“15 − 3 + 8”可以計算為“12 + 8”,或“15 + 8 = 23,然後減去 3”,或“從左到右計算”。所有這些方法都得出 20,但如果計算鏈斷裂,最終結果可能是 21。如果運行多個樣本,錯誤的答案往往會被否決。
在 GSM8K 等基準測試中,將自一致性疊加到 CoT 上,使準確率提高了兩位數百分比。 顯而易見的問題是,現在每個使用者查詢都會發出多個 LLM 調用,這會使延遲和令牌消耗乘以樣本數。
這使得自洽性最適合高風險的工作:財務計算、法律推理、臨床決策支援、安全檢查。 對於普通的聊天機器人來說,額外的運算資源很少能帶來收益,但對於任務關鍵型代理來說,增加的可靠性每一毫秒都可能值得。
思考樹:分支式而非線性推理
思維樹(ToT)將思維鏈從單一的鏈擴展到對可能的想法進行分支搜尋的樹。 這個系統並非從頭到尾遵循一條推理路徑,而是在每一步探索多種選擇,剔除較弱的分支,並繼續沿著最強的分支前進。
這更接近你在腦海中解決組合或策略問題的方式。 你集思廣益,想出幾個可能的方案,進行部分探索,放棄那些看似行不通的方案,並不斷拓展有希望的方向,直到找到一個可靠的解決方案。
在實作方面,ToT 通常會協調許多 LLM 呼叫。 在樹的每個深度,模型都會提出下一步策略;控制器會評估部分狀態(可能使用其他層級模型或啟發式評分),並選擇要擴展的分支。研究演示表明,ToT 在解決益智遊戲、規劃任務和創意構思方面,取得了比普通 CoT 顯著更好的結果。
但這樣做也有代價:解決一個問題可能需要打幾十通電話。 因此,ToT 最適合用於那些比速度更重要的細分領域——複雜的設計、遊戲代理,或以深度和多樣性為目標的腦力激盪。
從最少到最多的提示
由少到多的提示是另一種高級策略,它將複雜的問題分解成更簡單的子問題,然後按順序處理。 首先,你要求模型識別它可以解決的最小子任務;接下來,你將該解決方案反饋給模型,並要求它識別下一個最複雜的組件;依此類推,直到整個問題解決。
這種模式在組合推理中尤其有效。 想想嵌套資料結構查詢、多步驟代數運算,或複雜特徵的程式碼生成,其中每個部分都依賴先前的輸出。透過強制進行清晰的分解,可以降低模型在每一步的認知負荷,並使整體推理過程更易於檢查。
智能體和工具使用系統中的思維鏈
一旦開始建置能夠執行操作、呼叫工具並規劃多個步驟的代理,CoT 的價值就會更大。 這些系統不會回答一個問題就停止,而是循環往復地進行思考、行動和觀察,並根據每個新資訊更新其計劃。
想像客服人員接到這樣的電話:“我上週二訂購了一件紅色毛衣,但收到的卻是藍色毛衣。我可以退貨嗎?” 合理的流程可能是:了解問題、找到訂單、檢查退貨政策、檢查退貨期限、確定是否符合退貨條件,最後才發起退貨。
僅憑簡單的提示,代理人可能會根據快速的模式匹配直接做出“好的,這裡有一個標籤”或“不,我們不能這樣做”的決定,從而跳過關鍵的檢查。 使用“Chain of Thought”功能,您可以鼓勵它播報類似以下內容:“我首先會查找您上週二的訂單,然後核實商品和顏色是否不符,然後檢查您是否在 30 天期限內,如果符合條件,則觸發退貨流程。”
這與 ReAct(理由 + 行動)模式很接近:代理在內部推理(「我需要查詢訂單 API」)和外部行動(發出 API 呼叫)之間交替,然後將觀察結果整合到下一個推理步驟中。 每一個「想法」都會成為你可以記錄、調試和分析的軌跡的一部分。
對於代理系統而言,CoT 不僅僅是錦上添花;它通常是實現可靠性、透明度和安全性的主要手段。 當出現問題時——例如工具錯誤、參數錯誤或解釋錯誤——您可以清楚地看到代理程式偏離了方向,並修復提示、工具或策略,而不是盲目猜測。
提示鏈與思維鏈
提示鍊和思維鏈都能幫助處理複雜任務,但它們的作用層次不同。 透過提示鏈,您可以將大型工作流程分割成多個獨立的提示,並將一個提示的輸出傳遞給下一個提示。而透過 CoT,您可以將整個推理過程嵌入到單一提示-回應互動中。
提示鏈結範例: 分析一本書分為三個步驟-第一步,要求概括情節;第二步,根據概括內容進行主題分析;第三步,結合兩者進行最終評論。每個步驟都對應一個單獨的LLM(法律碩士)課程,並附有相應的指導說明。
類似任務的思路範例: 在一個提示中,你要求:「先概括情節,然後找出主要主題,最後簡要地提出批判性觀點。按步驟思考每個階段。」然後,該模型會產生自己的一套小型思路流程,並一次性給出最終答案。
在實踐中,真正的系統通常會將兩者結合起來:在每個鍊式步驟中使用 CoT 來改進推理,並將多個 CoT 增強的提示連結起來,以協調長時間的工作流程。 主要差異在於,提示鏈建構了跨多個呼叫的宏觀工作流程,而思維鏈建構了每個呼叫內的微觀推理。
多模態思維鏈
隨著多模態模型的成熟,思維鏈不再侷限於純文字。 多模態 CoT 允許系統對文字、圖像以及其他可能的輸入(如音訊或表格)進行聯合推理,同時也能敘述其內部步驟。
拍一張擁擠的海灘照片,然後問自己:“這個地方現在看起來受遊客歡迎嗎?” 多模態 CoT 模型可能會明確指出雨傘的數量、人群密度、繁忙的停車場以及一天中的時間或陰影等線索,然後論證所有這些視覺信號都表明當前人氣很高。
透過將視覺推理明確化,不僅可以獲得更高的準確性,還可以做出更易於解釋的決策。 使用者可以看到模型關注了圖像的哪些元素,並且可以發現諸如過度索引無關細節之類的故障模式。
大規模優化思維鏈
一旦你從幾個演示過渡到真正的流量,殘酷的現實就會擺在你面前:轉換成本的有效性很大程度上取決於任務本身。 模型更新和遷移指南措辭和你提供的具體例子。 即使是條理清晰的推理也可能得出錯誤的答案,冗長的思考過程可能會浪費代幣而沒有增加多少價值。
要讓CoT在生產環境中正常運行,你需要一個能夠同時追蹤多個維度的回饋迴路:
- 最終準確率: 模型的答案是否符合預期事實或人類判斷?
- 推理品質: 中間步驟是否有效、邏輯一致且符合領域約束?
- 一致性: 類似的查詢在不同運行和不同時間點之間是否會產生類似的推理和答案?
- 代幣效率: 每次查詢花費多少代幣?你獲得了足夠的品質回報嗎?
一旦有了幾十個提示變體和數百個測試案例,對少數範例進行手動抽查就遠遠不夠了。 你需要能夠對提示進行版本控制、運行結構化評估並大規模可視化推理軌蹟的基礎設施。
專為 LLM 設計的可觀測性工具能夠捕捉每個請求的完整追蹤資訊(提示、模型、CoT 推理、工具呼叫、最終輸出),從而在這方面提供幫助。 例如,像 Opik 這樣的平台可以讓你詳細記錄和檢查 CoT 鏈,比較不同的提示版本,甚至使用 LLM 作為評判員的設定來自動對最終答案和推理品質進行評分。
有了這些數據,你就可以逐步改進你的 CoT 設定:調整措詞、用少樣本取代零樣本、使用 Auto-CoT 調整或重新產生範例,或僅在需要改進的地方引入自洽性。 有些框架甚至與 DSPy 或進化搜尋等優化庫集成,以根據評估指標迭代地改進提示。
請記住,「思維鏈」幾乎總是比直接回答成本更高:僅推理文本就可能使標記使用量增加 2-4 倍,自洽性會將其乘以樣本數量,而「思維樹」的成本可能還要再增加一個數量級。 所以你需要清晰的監控,這樣才能確切地知道額外的預算用在了哪裡。
對於許多團隊來說,務實的策略是分層的:預設使用輕量級的零樣本或短小的 CoT,僅對標記為高價值、高歧義或高風險的查詢升級到自一致性或 ToT。 可觀察性和評估性使得這種動態策略成為可能。
當你在自己的應用程式中嘗試 CoT 時——無論是透過快速的零樣本提示、精心策劃的少樣本範例、自動化的 Auto-CoT 庫還是多樣本自洽性——關鍵是要將模型的推理視為一流的產品表面。 將問題明確化、記錄下來、評分並不斷迭代,你就能從相同的底層模型中解鎖比以往任何簡單的單次答案都更可靠、更易於解釋和更強大的行為。

