Self Discover框架,萬萬想不到AI Agent還能這樣推理

風叔
0 評論 2166 瀏覽 2 收藏 10 分鐘
🔗 产品经理的职业发展路径主要有四个方向:专业线、管理线、项目线和自主创业。管理线是指转向管理岗位,带一个团队..

前面我們分享了Basic Reflection這種偏重反思的AI Agent設計模式,在面對復雜的問題時,就需要更強大的Self-discover設計模式來進行。這篇文章,作者的分享一定不能錯過。

在上篇文章《AI大模型實戰(zhàn)篇:Basic Reflection,AI Agent的左右互搏之術》中,風叔結合原理和具體源代碼,詳細介紹了第一種偏重反思的AI Agent設計模式,即Basic Reflection。

Basic Reflection 的思路非常樸素,使用成本較低,但是在實際應用中,Basic Reflection面對一些比較復雜的問題時,需要Generator具備更強大的推理能力。

在這篇文章中,沿著“更強大的推理能力”這條優(yōu)化路線,風叔將介紹Self-discover設計模式。這個設計模式非常有意思,相信看到最后,大家會發(fā)現(xiàn)令人驚奇的結果。

一、Self Discover的概念

Self-Discover 是由Google的研究人員提出的一種AI Agent框架,可實現(xiàn)自動發(fā)現(xiàn)和構建推理結構,以解決各種推理任務。這種方法的核心是一個自發(fā)現(xiàn)過程,它允許大型語言模型在沒有明確標簽的情況下,自主地從多個原子推理模塊(如批判性思維和逐步思考)中選擇,并將其組合成一個推理結構。

Self-Discover框架包含兩個主要階段,自發(fā)現(xiàn)特定任務的推理結構、應用推理結構解決問題。如下圖所示:

階段一:自發(fā)現(xiàn)特定任務的推理結構

主要包含三個主要動作:選擇(SELECT)、適應(ADAPT)和實施(IMPLEMENT)。

選擇:在這個階段,模型從一組原子推理模塊(例如“批判性思維”和“逐步思考”)中選擇對于解決特定任務有用的模塊。模型通過一個元提示來引導選擇過程,這個元提示結合了任務示例和原子模塊描述。選擇過程的目標是確定哪些推理模塊對于解決任務是有助的。

適應:一旦選定了相關的推理模塊,下一步是調(diào)整這些模塊的描述使其更適合當前任務。這個過程將一般性的推理模塊描述,轉化為更具體的任務相關描述。例如對于算術問題,“分解問題”的模塊可能被調(diào)整為“按順序計算每個算術操作”。同樣,這個過程使用元提示和模型來生成適應任務的推理模塊描述。

實施:在適應了推理模塊之后,Self-Discover框架將這些適應后的推理模塊描述轉化為一個結構化的可執(zhí)行計劃。這個計劃以鍵值對的形式呈現(xiàn),類似于JSON,以便于模型理解和執(zhí)行。這個過程不僅包括元提示,還包括一個人類編寫的推理結構示例,幫助模型更好地將自然語言轉化為結構化的推理計劃。

階段二:應用推理結構

完成階段一之后,模型將擁有一個專門為當前任務定制的推理結構。在解決問題的實例時,模型只需遵循這個結構,逐步填充JSON中的值,直到得出最終答案。

二、Self Discover的實現(xiàn)過程

下面,風叔通過實際的源碼,詳細介紹Self Discover模式的實現(xiàn)方法,具體的源代碼地址可以在文章結尾處獲取。在手機端閱讀源碼的體驗不太好,建議大家在PC端打開。

第一步 定義Select、Adapt和Implement

第一步要做的事情,是前面所講的階段一,定義好select、adapt和implement這三個過程。

首先,定義select。給Select的prompt是,“對于給定的任務,找出最相關的reasoning module,即確定通過什么方法來解決任務”

然后,定義adapt。給Adapt的prompt是,“在不需要給出完整解決方案的情況下,讓大模型調(diào)整上一步得到的reasoning module,以更好地適應任務?!?/p>

接下來,定義implement。給Implement的prompt是,“在不需要給出完整解決方案的情況下,利用上一步得到的優(yōu)化后的reasoning module,創(chuàng)建一個可執(zhí)行的推理結構?!?/p>

第二步 執(zhí)行推理結構

第二步要做的事情,就是前面所講的階段二,應用這個推理結構獲得最終答案

第三步 提出問題,開始推理

第三步就是將這個過程進行推理實現(xiàn),如下面的代碼所示,這一步非常關鍵,大家可以逐條仔細看:

這段代碼非常簡單。首先,我們提出了39種reasoning modules,即推理的具體方法,大家也可以自己提煉出一些推理方法,通過prompt告知給Agent。

然后,我們提出一個具體的推理任務:“Lisa 有 10 個蘋果。她給了朋友 3 個蘋果,然后從商店買了 5 個蘋果。Lisa 現(xiàn)在有多少個蘋果?”

然后大模型會自動選出最合適的推理方法。實踐中發(fā)現(xiàn),大模型選擇了方法9和10。

接下來,針對目標任務,大模型自動優(yōu)化推理方法的描述。

然后,大模型自動給出了具體的推理結構。

至此,Self Discover的原理和流程就介紹完了。

風叔在嘗試這個case之前,完全沒想到大模型還能在給定的推理方法中,自主選擇最合適特定的問題的推理方法,并完成推理結構和推理語言的輸出,這項能力確實是讓風叔眼前一亮。通過這種推理方式,未來Agent就能解決更加多樣化的問題,因為任何類型的問題,總能有其對應的推理和思考方式。

大家可以關注公眾號【風叔云】,回復關鍵詞【SD源碼】,獲取self discover設計模式的完整源代碼,然后自己嘗試一些更復雜的提問,看看大模型的回答效果。

總結

整個Self-Discover的關鍵在于,它允許模型在沒有人類干預的情況下,自主地生成適合特定任務的推理結構。這樣不僅提高了模型的推理能力,而且提高了推理過程的可解釋性。通過這種方式,模型能夠更有效地處理復雜和多樣化的任務。

本篇文章提到的例子,雖然結構很清晰,但不足之處在于沒有使用Tools。對于需要使用搜索工具、數(shù)學工具等外部工具的場景,我們也可以讓大模型在adapt環(huán)節(jié)給出適合解決目標任務的外部工具,然后在后續(xù)過程中執(zhí)行。

在下一篇文章中,風叔將介紹另一種優(yōu)化Basic Reflection的方式,增加強化學習,Reflexion。

本文由人人都是產(chǎn)品經(jīng)理作者【風叔】,微信公眾號:【風叔云】,原創(chuàng)/授權 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉載。

題圖來自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!
专题
12283人已学习12篇文章
瑞幸咖啡和茅台的这次联名合作,无疑让联名营销这类营销方式又掀起了热度。本专题的文章分享了联名营销指南。
专题
19314人已学习13篇文章
画像标签是由数据标签经过分析、加工处理,形成的更加抽象、易于理解的复合标签。本专题的文章分享了如何设计用户标签体系。
专题
15639人已学习12篇文章
运费是电商的基础功能模块之一,承担着商品运费计算的作用。本专题的文章分享了如何设计运费规则。
专题
13019人已学习13篇文章
产品设计与用户的体验感息息相关,但是很多时候产品经理在产品设计过程中会忽略掉可能影响到用户体验感的一些因素,比如一些异常状态的出现会让用户产品卸载的想法。本专题的文章分享了产品异常场景设计指南。
专题
16136人已学习12篇文章
本专题的文章分享了支付风控系统的设计指南