TOT(思維樹(shù))詳解,探索如何讓提示詞“長(zhǎng)腦子”
在探索人工智能的邊界時(shí),我們常思考如何讓機(jī)器更接近人類的思維方式。思維樹(shù)(Tree of Thoughts,ToT)便是這樣一個(gè)創(chuàng)新的框架,它模擬了人類解決問(wèn)題時(shí)的認(rèn)知策略,讓大型語(yǔ)言模型(LLM)能夠以結(jié)構(gòu)化的方式探索多種可能的解決方案。
思維樹(shù)(Tree of Thoughts,ToT)是一個(gè)創(chuàng)新的框架,旨在增強(qiáng)大型語(yǔ)言模型(LLM)的推理能力。它模擬了人類解決問(wèn)題的認(rèn)知策略,使LLM能夠以結(jié)構(gòu)化的方式探索多種可能的解決方案,類似于樹(shù)狀分支路徑。ToT框架通過(guò)將問(wèn)題分解為一系列連貫的思維步驟,每個(gè)步驟都是一個(gè)語(yǔ)言序列,作為問(wèn)題解決的中間步驟?!?/p>
ToT框架的作用主要體現(xiàn)在以下幾個(gè)方面:
提高解決問(wèn)題的能力:ToT通過(guò)使LLM能夠同時(shí)深入了解多個(gè)推理路徑,顯著提升其解決問(wèn)題的能力。例如,在需要戰(zhàn)略思維或規(guī)劃的任務(wù)中,ToT表現(xiàn)出卓越的性能,成功率更高。
不確定性的處理:不確定思維樹(shù)(TouT)是ToT的擴(kuò)展,專門(mén)應(yīng)對(duì)LLM決策過(guò)程中固有的不確定性。通過(guò)量化和管理這些不確定性,TouT可以獲得更準(zhǔn)確、更可靠的結(jié)果。
計(jì)算開(kāi)銷:ToT框架涉及復(fù)雜操作,如維護(hù)多條決策路徑、回溯以及深入了解替代解決方案,這些過(guò)程計(jì)算密集,通常需要大量的處理能力和內(nèi)存資源。
實(shí)施復(fù)雜性:構(gòu)建思維樹(shù)系統(tǒng)涉及整合各個(gè)組件,如提詞器代理、檢查器模塊、內(nèi)存模塊和思維樹(shù)控制器。每個(gè)組件都必須經(jīng)過(guò)精細(xì)調(diào)整以協(xié)調(diào)工作,這可能是一個(gè)復(fù)雜且耗時(shí)的過(guò)程。
ToT框架已在多種應(yīng)用中證明了其有效性,以下是一些典型的案例研究,其中ToT顯著提升了解決問(wèn)題的能力:
數(shù)獨(dú)解謎:ToT在數(shù)獨(dú)解謎中的應(yīng)用展示了其應(yīng)對(duì)復(fù)雜邏輯挑戰(zhàn)的能力。通過(guò)引導(dǎo)模型完成各種數(shù)字排列,并使其在遇到矛盾時(shí)回溯,簡(jiǎn)化了通往正確解決方案的路徑。
24點(diǎn)游戲:在具有策略性的算術(shù)游戲24點(diǎn)中,ToT通過(guò)讓模型深入了解多條計(jì)算路徑,顯著提高了成功率。
創(chuàng)意寫(xiě)作:ToT還應(yīng)用于創(chuàng)意寫(xiě)作任務(wù),可幫助LLM生成更連貫、更符合上下文的敘述。
5×5填字游戲:ToT的另一個(gè)顯著應(yīng)用是解決5×5迷你填字游戲。該框架使模型能夠?yàn)槊總€(gè)縱橫字謎線索考慮多個(gè)單詞選項(xiàng),不僅要評(píng)估它們的獨(dú)立性,還要考慮其如何與已填入的單詞進(jìn)行交互。
如果你看過(guò)上一篇關(guān)于鏈?zhǔn)教崾镜奈恼拢≒rompt Chaining(鏈?zhǔn)教崾荆┰斀狻鎸?duì)疾風(fēng)吧,復(fù)雜怪?。┛赡軙?huì)有疑問(wèn),思維樹(shù)和鏈?zhǔn)教崾径际欠纸馊蝿?wù),然后分步解決,他們之間的區(qū)別是什么呢?
誠(chéng)然,思維樹(shù)(Tree of Thoughts, ToT)和鏈?zhǔn)教崾荆≒rompt Chaining)都是用于增強(qiáng)大型語(yǔ)言模型(LLM)解決問(wèn)題能力的框架,但它們?cè)诜椒ê蛻?yīng)用上存在顯著差異?!?/p>
從優(yōu)勢(shì)上看:
ToT的優(yōu)勢(shì)在于提高了解決問(wèn)題的能力,尤其是在需要戰(zhàn)略思維或規(guī)劃的任務(wù)中。例如,在24點(diǎn)游戲中,ToT通過(guò)讓模型深入了解多條計(jì)算路徑,顯著提高了成功率。此外,ToT還能夠處理不確定性,通過(guò)量化和管理這些不確定性來(lái)獲得更準(zhǔn)確、更可靠的結(jié)果。
Prompt Chaining的優(yōu)勢(shì)在于它能夠提高LLM應(yīng)用的透明度,增加控制性和可靠性。例如,在撰寫(xiě)一篇論文時(shí),可以通過(guò)一系列提示逐步引導(dǎo)模型完成引言、方法、結(jié)果和討論等部分。
具體的區(qū)別可以用4點(diǎn)來(lái)概括:
結(jié)構(gòu)化程度:ToT采用樹(shù)狀結(jié)構(gòu),允許模型探索多個(gè)推理路徑,而Prompt Chaining采用線性鏈?zhǔn)浇Y(jié)構(gòu),每個(gè)提示基于前一個(gè)提示的輸出。
解決問(wèn)題的方法:ToT通過(guò)系統(tǒng)性探索和自我評(píng)估來(lái)解決問(wèn)題,Prompt Chaining則通過(guò)逐步細(xì)化提示來(lái)引導(dǎo)模型。
應(yīng)用范圍:ToT更適合需要復(fù)雜規(guī)劃或搜索的任務(wù),Prompt Chaining則適用于需要清晰、合乎邏輯的思維順序的任務(wù)。
計(jì)算開(kāi)銷:ToT由于其復(fù)雜的操作,如維護(hù)多條決策路徑、回溯以及深入了解替代解決方案,通常需要更多的處理能力和內(nèi)存資源。而Prompt Chaining則相對(duì)簡(jiǎn)單,易于實(shí)施。
為了更清晰地展示ToT和Prompt Chaining的區(qū)別,我舉幾個(gè)例子來(lái)感受一下二者的區(qū)別:
例子1:數(shù)學(xué)問(wèn)題解決??
ToT應(yīng)用:
問(wèn)題:解決一個(gè)復(fù)雜的數(shù)學(xué)問(wèn)題,如24點(diǎn)游戲。
步驟:
將問(wèn)題分解為多個(gè)中間步驟,每個(gè)步驟生成一個(gè)中間方程。
使用BFS或DFS搜索算法探索所有可能的解決方案。
對(duì)每個(gè)步驟的候選項(xiàng)進(jìn)行評(píng)估,選擇最有前途的路徑。
Prompt Chaining應(yīng)用:
問(wèn)題:解決一個(gè)復(fù)雜的數(shù)學(xué)問(wèn)題,如24點(diǎn)游戲。
步驟:
提供一個(gè)提示,要求模型識(shí)別問(wèn)題類型和涉及的數(shù)字。
第二個(gè)提示要求模型提出可能的運(yùn)算組合。
第三個(gè)提示要求模型計(jì)算并驗(yàn)證結(jié)果。
例子2:創(chuàng)意寫(xiě)作??
ToT應(yīng)用:
問(wèn)題:創(chuàng)作一個(gè)包含特定元素的短篇故事。
步驟:
構(gòu)建思維樹(shù),每個(gè)節(jié)點(diǎn)代表故事的一個(gè)可能發(fā)展方向。
使用ToT框架生成和評(píng)估不同的情節(jié)發(fā)展。
選擇最有吸引力的情節(jié)線進(jìn)行深入開(kāi)發(fā)。
Prompt Chaining應(yīng)用:
問(wèn)題:創(chuàng)作一個(gè)包含特定元素的短篇故事。
步驟:
第一個(gè)提示要求模型生成故事的開(kāi)頭。
第二個(gè)提示基于開(kāi)頭生成中間情節(jié)。
第三個(gè)提示要求模型完成故事結(jié)尾。
例子3:旅行規(guī)劃??
ToT應(yīng)用:
問(wèn)題:規(guī)劃一次旅行,包括目的地選擇、交通方式和住宿。
步驟:
將旅行規(guī)劃分解為多個(gè)決策節(jié)點(diǎn),如目的地、交通和住宿。
對(duì)每個(gè)決策節(jié)點(diǎn)生成多個(gè)選項(xiàng),并評(píng)估每個(gè)選項(xiàng)的優(yōu)劣。
選擇最佳選項(xiàng)組合,形成完整的旅行計(jì)劃。
Prompt Chaining應(yīng)用:
問(wèn)題:規(guī)劃一次旅行,包括目的地選擇、交通方式和住宿。
步驟:
第一個(gè)提示要求模型提供目的地建議。
第二個(gè)提示基于選定的目的地提供交通方式。
第三個(gè)提示要求模型推薦住宿選項(xiàng)。
例子4:編程問(wèn)題解決??
ToT應(yīng)用:
問(wèn)題:解決一個(gè)編程問(wèn)題,如編寫(xiě)一個(gè)函數(shù)。
步驟:
將問(wèn)題分解為多個(gè)邏輯步驟,每個(gè)步驟代表函數(shù)的一個(gè)部分。
生成每個(gè)步驟的代碼,并評(píng)估其正確性。
組合各個(gè)步驟的代碼,形成完整的函數(shù)。
Prompt Chaining應(yīng)用:
問(wèn)題:解決一個(gè)編程問(wèn)題,如編寫(xiě)一個(gè)函數(shù)。
步驟:
第一個(gè)提示要求模型理解問(wèn)題并提出解決方案的概要。
第二個(gè)提示要求模型編寫(xiě)偽代碼。
第三個(gè)提示要求模型將偽代碼轉(zhuǎn)換為實(shí)際的編程語(yǔ)言代碼。
例子5:客戶服務(wù)??
ToT應(yīng)用:
問(wèn)題:處理客戶的復(fù)雜查詢。
步驟:
將客戶查詢分解為多個(gè)子問(wèn)題,每個(gè)子問(wèn)題代表一個(gè)可能的解決方案路徑。
生成每個(gè)子問(wèn)題的解決方案,并評(píng)估其有效性。
選擇最佳解決方案路徑,形成完整的回答。
Prompt Chaining應(yīng)用:
問(wèn)題:處理客戶的復(fù)雜查詢。
步驟:
第一個(gè)提示要求模型識(shí)別客戶查詢的關(guān)鍵點(diǎn)。
第二個(gè)提示要求模型提供相關(guān)信息或解決方案。
第三個(gè)提示要求模型根據(jù)客戶的反饋進(jìn)行調(diào)整。
通過(guò)這些例子,我們可以看到ToT和Prompt Chaining在解決問(wèn)題時(shí)的不同方法。ToT通過(guò)樹(shù)狀結(jié)構(gòu)和系統(tǒng)性探索提供了一種更全面和深入的解決方案,而Prompt Chaining則通過(guò)鏈?zhǔn)教崾咎峁┝艘环N更直接和逐步的方法。兩者各有優(yōu)勢(shì),適用于不同類型的問(wèn)題和場(chǎng)景。希望你通過(guò)此篇文章,能夠get思維樹(shù)的核心理念,并應(yīng)用到你的提示詞工程中,畢竟,最好的學(xué)習(xí)永遠(yuǎn)都是實(shí)踐~
本文由人人都是產(chǎn)品經(jīng)理作者【宋恒達(dá)】,微信公眾號(hào):【產(chǎn)品自由之路】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于 CC0 協(xié)議。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!