創新
人工智能
提示工程推出新技術:思維原子(Atom-Of-Thoughts)
作者:蘭斯·艾略特,貢獻者。蘭斯·B·艾略特博士是全球知名的人工智能科學家和顧問。
在今天的專欄中,我將介紹一種重要的新提示技術,稱為思維原子(Atom-of-Thoughts,簡稱AoT),這是持續擴展的提示工程最佳實踐中的一部分。
讀者可能還記得,我之前曾深入探討超過五十種提示工程技術和方法(請參見相關鏈接)。頂尖的提示工程師意識到,學習多種經過研究和驗證的提示技術是充分利用生成性人工智能的最佳方式,並且可能為你帶來不錯的收入。
新開發的思維原子技術與著名的思維鏈(Chain-of-Thought,簡稱CoT)方法相似,特別是在CoT的分解變體方面(請參見我在相關鏈接中的討論)。
AoT是全新的,並且提供了一個有趣且有用的轉折,值得我們加以利用。
讓我們來談談這個技術。
這項對創新人工智能突破的分析是我在《福布斯》專欄中持續關注人工智能最新動態的一部分,包括識別和解釋各種影響深遠的人工智能複雜性(請參見相關鏈接)。
思維鏈的知名性
首先,我們快速回顧一下思維鏈的概念。這將為思維原子的理解奠定基礎。
熱衷於使用生成性人工智能和大型語言模型(LLMs)的用戶都知道,最方便的提示技術之一就是要求人工智能採用思維鏈處理方法(我在相關鏈接中介紹了基礎知識)。
你只需要告訴人工智能以逐步的方式進行,然後人工智能會展示其為達到答案所執行的各種邏輯步驟。在任何給定的提示中,你可以說人工智能應該採用逐步的方法或類似的建議。人工智能會明白你的意思,並轉入思維鏈模式。
研究顯示,使用思維鏈傾向於引導生成性人工智能得到更好的答案。這部分是因為人工智能會放慢速度,仔細指定解題過程中的每一步。大多數人工智能開發者都將其人工智能調整為快速反應,而非必要的準確性或正確性。通過給予明確告訴人工智能使用思維鏈的提示,你便是在授權人工智能有條不紊地嘗試回答你的問題或小心地解決你提出的問題。
使用思維鏈的另一個優勢是,你可以檢查人工智能向你展示的推理步驟。
這對兩個主要原因是有用的。首先,所展示的步驟本質上是人工智能如何得出答案的解釋。有時,讓人工智能解釋生成回應的基礎是非常有用的。其次,通過個人檢查這些步驟,你可能會發現一個或多個步驟出現了問題。這使你對人工智能生成的答案是否正確有了懷疑的基礎。
經常依賴思維鏈的主要缺點是,人工智能處理你的查詢並返回結果需要花費更多時間,這被稱為延遲。思維鏈通常會增加延遲時間。與此相關的另一個缺點是,處理時間可能會更貴,因為你需要消耗更多的處理週期來得出答案。
一般來說,如果你支付的成本較低,且願意多等幾秒鐘,那麼思維鏈是一種實用的提示技術。人工智能的開發者最終意識到使用思維鏈是如此好的一個主意,因此選擇將其設置為始終開啟的功能。最新的生成性人工智能推理模型強制使用思維鏈。
作為預防措施,如果你使用的生成性人工智能已經設置為自動啟用思維鏈,最好不要在提示中要求使用思維鏈;這樣可能會出現問題(請參見我在相關鏈接中的解釋)。
思維原子的出現
有許多基於思維鏈的派生提示技術。例如,還有思維邏輯(Logic-of-Thoughts,簡稱LoT)、思維樹(Tree-of-Thoughts,簡稱ToT)、思維框架(Skeleton-of-Thoughts,簡稱SoT)等。
思維原子也是思維鏈的一個派生技術。
最大的不同在於,思維原子指示人工智能在生成答案的步驟中採取分而治之的方法。其目的是將步驟劃分為類似原子的個別步驟,即不依賴於其他任何步驟的獨立步驟。儘可能地,最基本的步驟被浮現出來,然後可以分別解決。完成後,將它們重新結合以得出最終答案。
為什麼要這樣做?
一個關鍵的方面是,傳統的思維鏈往往是冗長的。我的意思是,人工智能通常將所有步驟保存在一個大的存儲區域中,並不必要地消耗內部記憶。預設假設所有步驟需要共同處於半活動狀態,但這可能並不真的需要。
如果步驟可以被放入個別的包裹中,那麼與所有步驟相關的歷史資訊就不需要特別活躍。人工智能可以單獨處理每個步驟的優缺點。所有其他無關的內容對於特定的步驟並不重要。排除所有不相關的資料,專注於單一的步驟。
思維原子的考慮和警告
我相信你已經在心中說這種方法不錯,但如果步驟彼此密切相關且完全依賴於彼此,人工智能就無法合理地將它們劃分為個別的、集中的步驟。
你說得對。
值得注意的是,有些類型的問題對於思維原子會有用,而另一些則不會。思維原子並不是萬能的。它是工具箱中的一種新工具。在需要使用螺絲刀的時候,你不會用錘子。思維原子有其合適的時間和地點。主要是當底層步驟可以相對獨立地進行時。
你可能無法立即知道你給人工智能的問題是否適合使用思維原子。一般來說,如果問題看起來龐大且複雜,合理的推測是思維原子可能會有所幫助。如果問題很小且需要的步驟不多,我不確定使用思維原子會有多大價值。
當然,如果你一開始就知道步驟可能是可分開的,那麼就去使用思維原子。即使你不確定,這也沒關係,因為思維原子將願意基本上執行傳統的思維鏈;只不過你沒有通過思維原子的調用獲得任何額外的好處。
思維原子非常可能適用於使用生成性人工智能推導數學證明、生成程式碼以及進行高度結構化的推理任務。創意寫作任務、整體對話參與等類別則不太可能適用。
這些是一般的經驗法則。
根據思維原子在特定生成性人工智能和大型語言模型中的實施方式,這些規則可能會有所不同,因此請務必查看你所使用的人工智能的文檔,以決定在使用思維原子時的最佳選擇。
另一個便利之處是,人工智能可能會以並行方式進行處理,從而顯著加快獲得答案的時間。這裡有點諷刺的是,啟用任何思維鏈通常需要更多的處理週期和成本。但如果人工智能設置為同時使用多個處理器,則個別步驟可以在同一時間內快速執行。當步驟彼此相關時,並行性會變得更加困難,因為人工智能必須執行一步,等待結果,然後再執行下一步。
思維原子利用了在硬件中利用並行性的可能性。
如何啟用思維原子
一些生成性人工智能應用程序內置了執行思維原子的功能,而另一些則允許添加能夠執行思維原子的附加功能。許多生成性人工智能尚未原生地提供直接執行思維原子的手段,但你可以使用一個提示,讓你接近這一點。
你可以使用我設計的這個提示:
思維原子的基本提示:“將我輸入的問題拆解為最原子化、最獨立的步驟。每個步驟應該儘可能獨立,對前一步驟的依賴最小。如果有任何步驟可以並行執行,請相應地結構它們。獨立執行每個步驟,然後重新整合所有結果,以產生一致的最終回應。”
關於這個模板提示,有幾點值得注意。
首先,你不必逐字使用這個代表性提示。沒有什麼神奇的措辭。你可以根據自己的風格和偏好調整措辭。主要是保持簡短和直接。指令過長有時會讓生成性人工智能感到困惑。
其次,人工智能大概率會表示會按照你的要求進行。這是好消息,但也可能是壞消息。
不幸的是,你無法確定它實際上會做什麼。如果人工智能不特別擅長思維原子,它將模擬思維原子,你可能會得到某種思維原子或半成品的版本。這並不會錯,只是模仿或模擬的嘗試。有時,某種程度的東西總比沒有要好。
你自己做判斷。
思維原子解決的示例問題
假設我使用了上述建立思維原子的提示,然後給人工智能這個問題來解決。
我輸入的提示:“使用我描述的思維原子(AoT)方法,解決二次方程3x² – 5x + 2 = 0。”
生成性人工智能的回應:“我將把解決過程拆分為最原子化、最自包含的步驟。如果可行,每個步驟都將獨立執行。然後我會整合這些步驟,以便為你產生最終答案。”
你可能對解決二次方程有些生疏。不用擔心,解決這個簡單方程大約有六個步驟。在這些步驟中,有幾個可以獨立於其他步驟執行。我知道這是個好例子,因此給了人工智能一個簡單的思維原子候選項。
兩個獨立計算的根是x = 1和x = 2/3。簡單明瞭。
讓我們再試一個可能更明顯適合思維原子的例子。
我輸入的提示:“再次使用我描述的思維原子(AoT)方法,判斷陳述‘所有貓都是哺乳動物,而某些哺乳動物不是貓;因此,有些貓不是哺乳動物’是否邏輯上有效。告訴我你解決這個問題的步驟。”
生成性人工智能的回應:“步驟1. 獨立解釋第一個前提,即所有貓都是哺乳動物。步驟2. 獨立解釋第二個前提,即某些哺乳動物不是貓。步驟3. 獨立解釋所聲稱的結論,即某些貓不是哺乳動物。步驟4. 將前面的步驟解釋整合起來。陳述‘因此,某些貓不是哺乳動物’是與步驟2相矛盾的聲明。如果所有貓都是哺乳動物,那麼某些貓不可能不是哺乳動物。步驟5. 結論的結構試圖反轉步驟2所建立的邏輯關係。這是一種邏輯謬誤——具體來說,是對類別邏輯的誤解。因此它在邏輯上無效。”
人工智能解析了我給出的陳述,並選擇獨立評估每個可分離的前提。一旦完成,人工智能將這些評估綜合起來,試圖判斷該陳述是否邏輯有效。這些第一步可以並行執行。最後一步則依賴於前面步驟的結果。
老實說,這些都是相當簡單的查詢。使用思維原子可能並沒有增加太多價值。如果問題的字數更長且更複雜,思維原子可能會有所增益。如果我給人工智能一個複雜的數學方程,情況也會是如此。我只是想展示一些示範性例子。
思維原子的額外好處
我認為強調使用思維原子的一些附加好處是有用的。
我已經提到,生成性人工智能有潛力利用並行執行。多線程人工智能系統和分佈式處理架構是我們未來的發展方向。因此,這是個好消息(請參見我在相關鏈接中的報導)。
接下來,你可能熟悉人工智能幻覺的陰暗性質,即人工智能生成的虛假信息,這些信息並沒有事實根據。人工智能幻覺對於生成性人工智能和大型語言模型來說是一個大問題。在處理重要和生命關鍵的方面時,遇到人工智能幻覺的機會會削弱使用的可靠性,而用戶並不容易察覺。關於減少人工智能幻覺的多種努力,請參見我在相關鏈接中的討論。
有些人推測,在思維鏈和思維原子中出現人工智能幻覺的機會可能會減少。我們尚不確定這是否正確,這可能是過於樂觀的想法。這種推理是有道理的。人工智能希望能夠很好地執行每一步,並在執行時獨立驗證該步驟。有時,傳統的思維鏈因為混亂而出現問題,如果某一步出錯,結果可能會影響整個解題過程。壞蘋果會壞掉整個桶。思維原子的推理是,通過獨立執行每一步,人工智能有可能降低這些連鎖反應的風險。
聽起來很樂觀。我們需要看看實證研究如何證實這一點。讓我們拭目以待。
思維原子的研究
說到研究,最近發布了一篇介紹思維原子的有用新論文,題為《馬爾可夫大型語言模型測試時擴展的思維原子》,由馮偉騰、趙揚、權石、賈怡、程林、吳晨霖和羅宇宇撰寫,於2025年2月17日發佈,重點包括(摘錄):
“大型語言模型(LLMs)通過訓練時擴展實現卓越的性能,而測試時擴展進一步增強了它們的能力,通過在推理過程中進行有效的推理。然而,隨著推理的規模增加,現有的測試時擴展方法遭遇了累積的歷史信息,這不僅浪費了計算資源,還干擾了有效推理。”
“為了解決這一問題,我們觀察到,複雜的推理過程通常是通過解決一系列獨立的子問題來實現的,每個子問題都是自包含且可驗證的。”
“這些子問題本質上是原子問題,主要依賴於它們的當前狀態,而不是累積的歷史,類似於馬爾可夫過程中的無記憶轉移。”
“基於這一觀察,我們提出了思維原子(AOT),其中推理過程中的每個狀態轉移都由將當前問題分解為基於依賴的有向無環圖並收縮其子問題形成新的原子問題狀態組成。”
“這一迭代的分解-收縮過程持續進行,直到達到可直接解決的原子問題,自然實現了問題狀態之間的馬爾可夫轉移。”
注意,他們在思維原子中利用了馬爾可夫建模。如果你對生成性人工智能和大型語言模型如何有利地利用馬爾可夫鏈感興趣,請參見我在相關鏈接中的解釋。
優雅且自信地使用思維原子
我建議你考慮將思維原子添加到你的提示工程工具包中。
話雖如此,你最好的辦法是做到如同去卡內基音樂廳一樣——練習、練習、再練習。你應該抽出一些專注的時間來嘗試思維原子提示。使用各種問題,檢查什麼有效,什麼無效。決定如何以及何時使用這種新的提示技術。
請不要盲目地嘗試在需要螺絲刀的時候卻使用錘子。
最後,我想引用阿爾伯特·愛因斯坦的話:“向昨天學習,活在今天,對明天懷有希望。重要的是不要停止提問。” 確保在使用思維原子時提出問題,並在不使用思維原子時質疑自己是否應該使用。
是的,重要的是不要停止提問。
以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。
🎬 YouTube Premium 家庭 Plan成員一位 只需 HK$148/年!
不用提供密碼、不用VPN、無需轉區
直接升級你的香港帳號 ➜ 即享 YouTube + YouTube Music 無廣告播放