簡介
使用大語言模型最困難的事情是讓它們做你希望它們做的事情。在一篇知名的 ReACT 研究論文《SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS》中,作者提出了以下的觀點:
在人類從事一項需要多個步驟的任務時,而步驟和步驟之間,或者說動作和動作之間,往往會有一個推理過程。
我們以開車為例,在開車之前,我們會檢查汽車的郵箱或者電池情況,以便汽車後續不會因為沒有油而導致無法使用。當然,這個“檢查的動作”是我們下意識的心理狀態。有時候並不會直接講出來。而此篇論文的作者提出一個方法:
讓 LLM 把心理狀態說出來,然後再根據心理狀態做相應的動作,來提高 LLM 答案的準確性。
在這句話中,我們可以發現兩個關鍵詞:
- 推理(Reasoning),如果給出推理過程,大模型給出的答案會更好。
- 行動(Acting), 在環境中採取行動,並觀察結果,反覆思考。(有點像除錯程式碼的過程)
他們所做的基本上就是將思維方式從單純的標準式的透過思維鏈的提示提升到現在能夠有原因的追蹤和行動。
實現原理
Reason + Action 結合之後:
- 透過推理增強大語言模型解決方案的輸出能力。
- 執行完成之後將觀察帶回到語言模型中進行反饋,完善推理。
- 所以會獲得多步驟的思維方式,不僅僅是一次。直到達成目標為止
應用場景
想象一下,如果大模型能夠很好的完成ReAct,即推理+行動的過程。那麼就代表大語言模型是無所不能的。當然目前的大模型還沒有聰明到這個地步。但是仍然有一些非常好用的應用場景。比如現在很多企業的智慧助理,醫療系統的智慧助理等等,都是基於此設計原理。
實踐應用
透過 LangChain 或者 ChatGPT 的官方 assistant 的 tools 都有利用到 ReaACT 的原理。在後續的課程中會有更深入的實戰應用。比如打造企業專屬人工智慧助理。
相關資料
- ReAct 框架
總結
- 理解 ReAct 框架的基本概念。
- 理解 ReAct 框架的應用場景。
- 在後續的學習過程中,會結合 LangChain 與 assistant 完成 ReAct 相關的實戰練習。