思維鏈 (Chain of Thought)是什么?有什么價值?怎么用?
隨著AI技術(shù)的不斷發(fā)展,如何提升其可解釋性和推理能力成為研究熱點。本文深入探討了“思維鏈”(Chain of Thought, CoT)技術(shù),不僅解釋了CoT的核心概念和價值,還展示了如何通過具體示例和提示詞來提升模型的表現(xiàn)。
隨著關(guān)于AI可解釋性的討論逐漸進入主流,越來越多的人對解開大型語言模型(LLM)的“黑匣子”感到好奇。向大模型提問總能獲得各種各樣的答案,有時給你思路,有時給你答案,有時又能變成你的老師!
01. COT是什么?
鏈式思維 (Chain-of-thought, CoT)是一種提升大型語言模型 (LLMs) 推理能力的技術(shù)。
Google AI 的研究人員在 2022 年的一項開創(chuàng)性研究為這個思維鏈的研究打下了基礎(chǔ)。研究證明,CoT 提示詞在解決數(shù)學單詞問題等任務中非常有效。與傳統(tǒng)的提示詞工程相比,遵循 LLM 的思維過程、展示使用的步驟和方程式,顯著提高了模型的表現(xiàn)。
https://research.google/blog/language-models-perform-reasoning-via-chain-of-thought/
大型語言模型 (LLMs) 擅長預測下一個單詞。但是,LLMs其實自身很難解決需要逐步思考的問題,需要通過提示詞工程,來指導GPT-4o 或 Claude Sonnet 3.5/3.7 等語言模型給出更好的答案,尤其是當涉及到復雜的推理任務時,思維鏈提示 (CoT Prompt)就是一個很棒的解決方案,通過你提供的示例(分步推理思路和流程),包括但不限于:識別關(guān)鍵信息、應用規(guī)則,得出的結(jié)論類型等,類似于通過分步提示引導AI 計算結(jié)果,LLM在輸出答案時會學習并遵循你示例里提供的思維過程。
傳統(tǒng)的 AI 訓練通常像一個“黑匣子”:你給它一堆數(shù)據(jù)(比如電影評論),它直接輸出一個結(jié)果(正面或負面)。而 CoT 方法則不同,它能分解這個過程的內(nèi)部運作。
思維鏈提示的核心目標是兼顧清晰、創(chuàng)造力以及連貫性展示,而不僅僅是告訴LLM要怎么輸出,就像教偵探破案一樣,你不能只說:“找出罪魁禍首?!?而是需要用幾個案例來教他們分析。同樣,給 AI 提示時,也別只說“識別情緒”,而是要給它一些具體的例子,告訴它怎么一步步分解問題,比如怎么看文字、分析用詞,還要結(jié)合上下文,最后得出情感判斷。
思維鏈提示(CoT Prompt)還有另一種說法叫:‘response_format’(回答模版),其實我覺得這種說法更容易理解,就是字面意思的,告訴大模型一個回答模版,讓大模型根據(jù)你提供的模版進行回復,這個模版越全面,邏輯越縝密,你收到的回復就更詳細,但這個模版一般是在技術(shù)層面內(nèi)置,下面是示例:比如你想讓你的AI計算一個數(shù)學題:可以這么“教”他:
小明有12塊餅干,吃掉了4塊。她還剩多少塊餅干?回答的時候你需要這么計算:
第一步:”瑪麗一開始有多少塊餅干?” 第二步:”瑪麗吃了多少塊餅干?”, 第三步:”怎么計算剩下的餅干數(shù)?”
代碼示例:
如果你問AI問題發(fā)現(xiàn)答案都不太滿意的時候,可以在給AI發(fā)的問題后面對話多加一句:“Let’s think step by step”(讓我們一步一步思考)以指導語言模型的推理過程。
舉個例子:你正在嘗試和 AI 學習一個新概念,例如“量子物理學”,你希望它生成一些解釋。你可以說“讓我們一步一步思考:解釋量子物理學”。
02. 自動思維鏈 (Auto-CoT)
自動生成 CoT 提示(LLMs self CoT):想象一下,你不再需要把思考方式教給LLMs,有個 AI 助手可以不斷的為你自動編寫 CoT 提示然后反哺LLMs,豈不是可以極大地節(jié)省開發(fā)人員和研究人員的時間和精力,特別是在處理復雜的推理問題的時候。
這是一種 AI 可以從之前提供的示例中找出規(guī)律的模式,自動把這些模版(Format)應用到新問題上。這就像是 AI“參考”自己之前的經(jīng)驗,讓它的提示能夠適應新的情況,從而在某種程度上產(chǎn)生像是“自我提示”的效果。
借助 Auto – CoT 技術(shù),AI 系統(tǒng)可以解決即使是最經(jīng)驗豐富的 NLP 工程師也難以理解的問題。例如,AI 可以逐行調(diào)試復雜的代碼,并在每一步解釋其推理過程,或者利用清晰透明的思維鏈來分析金融市場的動態(tài)。
CoT 技術(shù)讓 AI 系統(tǒng)可以不斷學習和變得更好。它通過分析自己的推理過程和結(jié)果,幫助 AI 找到不足之處,并逐漸改進自己的方法。這樣,AI 就能像人一樣不斷進步,為“終身學習”的新一代 AI 系統(tǒng)奠定基礎(chǔ)。
Open AI那12天 碎片化直播的第一天發(fā)布的system card里也提到了模型自帶CoT:
論文鏈接在這里,感興趣可以點開看全文:
https://cdn.openai.com/o1-system-card-20241205.pdf
寫這篇文章的時候Deepseek還沒火成那樣,后來Deepseek火了,Deepseek把大模型的推理/思考的思維鏈都完整展示出來了,思考的力量果然強大。
03.展示CoT的「階段」- Loading過程
AI的Loading過程:展示CoT的「階段」,當我們在和AI對話的時候,如果可以看到AI的思考到哪步了,可以很大程度提高我們對AI輸出內(nèi)容的信任程度,遇到輸出較慢的場景也能作為中間提示避免無反饋或反饋過慢的情況。因此大模型輸出內(nèi)容前的加載過程(Loading)是非常有必要的設(shè)計。
我覺得在這方面Minimax從一開始做的就特別好,在此就以Minimax的舉例。
以下loading中的每一步都是依據(jù)回答用戶Query所需要的思考步驟出現(xiàn),我也是嘗試了好幾次才截成功,有幾個狀態(tài)由于太快還是沒截到,不過這也能表明并不會因為loading狀態(tài)太多導致輸出速度變慢。
「我正在盡全力搜索」
「正在閱讀」
「完成搜索」
最后再「告知以下內(nèi)容來自xxx引用」
(這個步驟大部分支持聯(lián)網(wǎng)的AI對話產(chǎn)品都有)
關(guān)于AI對話的Loading設(shè)計還有很多有趣的方向,之前Kimi有一個對于計算場景的loading設(shè)計,「按了一下計算機」挺有趣的!
我還試著讓Chatgpt回答一下這問題,終究是沒有Deepseek格局大呀?哈哈哈
但是可以看到這個的loading小設(shè)計:“正在推理”
其實我記得最早Chatgot在loading這塊的設(shè)計做的還挺細節(jié)的,有很多狀態(tài)展示,更新了幾版以后看不到那些可愛的loading設(shè)計細節(jié)的了。
最后再放出一個AI界著名的獨立開發(fā)者idoubi曾經(jīng)做過的一個隱藏款產(chǎn)品,多語種AI搜索引擎,BiLin.ai,我一直覺得BiLin的loading設(shè)計的很棒,可以看到AI幫你執(zhí)行到哪一步了,有效緩解搜索和推理復雜問題耗時太長問題。(www.bilin.ai)
當然除了對話的loading效果,還有圖片生成的loading設(shè)計:
Chatgpt生圖:
Gemini生圖:loading中告知使用的生圖模型
生圖loading也有很多巧思設(shè)計,等待大家慢慢挖掘!
類似的在用戶和AI的交互過程中告知模型目前的思考過程與思路的設(shè)計都可以有效提升AI交互的體驗,也可以增加用戶對大模型輸出信任感,我想這也是為什么Deepseek推理過程的展示能讓AI對話產(chǎn)品用戶增量有了質(zhì)的飛躍。
就分享到這了,下一篇分享也會很有趣!
參考鏈接:
https://bilin.ai/zh-CN
https://chat.minimaxi.com/
https://www.vellum.ai/blog/chain-of-thought-prompting-cot-everything-you-need-to-know
https://learnprompting.org/ru/docs/intermediate/chain_of_thought
http://zhangjingwei.cn/aigc/6126239.html
https://blogs.novita.ai/chain-of-thought-prompting-elicits-reasoning-in-large-language-models/
作者:小末,公眾號:Moer Talk
本文由 @小末is小末 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來自 Pixabay,基于CC0協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務
沙發(fā)
嘻嘻 ??
感謝!