01-神魔宇宙 ***宇宙天國首部曲 彌勒天書閣 https://maitreya-books.com/ 神話從來就不是怪力亂神,而是原始先民在日常生活情況的觀察之中,所建立的真實認知。唯有相信神話中的真實,才能感受到神話的詩意隱喻背後,所具有的神聖力量。打開你的想像,打開你的相信,你才能知道神話告訴了你什麼宇宙生命的資訊。 生命起源於宇宙之中,生長於宇宙之中,結束於宇宙之中,因此,宇宙的起源就是生命背景的起源。生命形成的每一個階段,其實都在述說著生命的本能,也就是生命本就存在的一種力量,在此雖是說明一種狀況,然而將這狀況投射在生命的生活行動之中,你就會明白自己究竟有哪些不可思議的本能!

AI時代新風口!吳恩達親授智能體四大設計

2024041915:36


【新智元導讀】吳恩達認為,智能體的發展將會成為AI時代重要的力量,甚至比基礎模型還要重要。工作之余,「吳老師」連發多篇博客,向大家介紹了AI智能體的四大設計模式。

AI時代的風口在哪裏?

吳恩達認為,AI Agent將在今年推動人工智能的大規模進步。

——甚至,有可能超過下一代基礎模型所帶來的影響。

他希望所有從事人工智能工作的人,都能關注 AI智能體的發展。



Andrew Ng

大佬「退役」後,作為專業的「教書先生」,仍然孜孜不倦,授業傳道解惑。

最近在工作之余,吳恩達連續分享了很多關於智能體的見解,並定義了AI Agent的四大設計模式,



Reflection(反思)、Tool use(工具使用)、Planning(規劃)和Multi-agent collaboration(多智能體協同):

    * -反思:LLM檢查自己的工作,並提出改進的方法。

* -工具使用:LLM利用Web搜索、代碼執行或任何其他功能的工具,來幫助自己收集信息、采取行動或處理數據。

* -規劃:LLM提出並執行實現目標的多步驟計劃(比如一篇論文,首先寫大綱,然後搜索和研究各部分內容,再寫草稿)。

* -多智能體協作:多個AI agent協同工作,分工任務,討論和辯論想法,提出比單個智能體更好的解決方案。

智能體工作流

我們大多數人使用LLM通常是zero-shot模式,模型根據提示逐個輸出token,沒有返回修改的機會。

——這相當於要求人類從頭到尾一口氣寫完一篇文章,不允許回退,——盡管是個比較困難的要求,不過大模型們目前都做得非常出色。



但事實上,我們人類正常的工作流程一般是叠代式的。

比如對於一篇文章,可能需要:計劃一個大綱;通過網絡搜索來收集更多信息; 寫初稿; 通讀初稿,發現不合理的論點或無關的信息; 反復修改......

這種工作模式對於人類寫出好文章至關重要,——那麽對於AI來說,是不是也應如此?



前段時間,世界上第一個AI程序員Devin的演示,在社交媒體上引起了轟動。

吳恩達團隊於是研究了多個相關算法,在HumanEval編碼基準測試中的表現,如下圖所示:



在zero shot的情況下,GPT-3.5的正確率為48.1%,GPT-4的表現更好,達到67.0%。

然而,加入了叠代智能體工作流程之後,GPT-3.5的正確率直接飆到了95.1%,——Agent工作流效果顯著,而且GPT-3.5比GPT-4得到的提升更加可觀。

目前,各種開源智能體工具和相關研究的數量正在激增,擅於利用這些工具和經驗,將使你的LLM更加強大。

Reflection

反思,作為容易迅速實現的一種設計模式,已經帶來了令人驚訝的性能影響。



我們可能有過這樣的經歷:當LLM( ChatGPT/Claude/Gemini等)給出的結果不太令人滿意時,我們可以提供一些反饋,通常LLM再次輸出時,能夠給出更好的響應。

——如果這個反饋的過程留給LLM自己執行,是不是會更好?這就是反思(Reflection)。



以編碼任務為例,可以通過類似的提示,讓LLM反思自己的輸出:

    這是用於任務 X 的代碼,仔細檢查代碼的正確性、風格和效率,並就如何改進它提出建設性的批評。

接下來,將之前生成的代碼和反饋放進提示的上下文,並要求LLM根據反饋重寫代碼。

當然,我們也可以利用一些評估LLM輸出質量的工具,使上面這個過程更進一步,

比如通過單元測試檢查代碼在測試用例上的結果,或者通過web搜索來比對輸出的正確性。

此外,也可以像上圖那樣,使用多智能體框架實現Reflection:一個負責生成輸出,另一個負責對輸出提出建議。

如果諸位對Reflection感興趣,這裏推薦下面幾篇文章,可以提供更多相關的知識:



論文地址:https://arxiv.org/pdf/2303.17651.pdf



論文地址:https://arxiv.org/pdf/2303.11366.pdf



論文地址:https://arxiv.org/pdf/2305.11738.pdf

Tool Use

工具使用,LLM可以調用給定的函數,來收集信息、采取行動或操作數據,——這是AI智能體工作流的關鍵設計模式。

最常見的例子就是LLM可以使用工具,執行Web搜索或執行代碼。事實上,一些面向消費者的大型公司已經采用了這些功能。



比如如果你問Copilot這樣的在線LLM:「最好的咖啡機是哪一款?」,它可能會決定進行網絡搜索,並下載一個或多個網頁以獲取上下文。

畢竟,僅依靠預訓練的Transformer來生成輸出答案是有局限性的,而提供Web搜索工具可以讓LLM做更多的事情。

LLM使用特殊的字符串,例如 {tool:web-search,query:coffee maker reviews} ,以請求調用搜索引擎。

後處理步驟會查找字符串,調用具有相關參數的Web搜索函數,並將結果附加到輸入上下文,傳遞回LLM。



再比如,如果你問,「如果我以12年復利7%,投資100美元,最後會獲得多少收益?」,

LLM可能會使用代碼執行工具,運行Python命令來計算:{tool:python-interpreter,code:100 *(1+0.07)**12}。

現在這個過程更近一步,我們可以搜索不同的來源(Web、Wikipedia、arXiv等),與各種生產力工具交互(發送電子郵件、讀/寫日歷條目等),並且我們希望LLM自動選擇正確的函數調用來完成工作。



此外,當有太多函數可供使用時,無法將所有函數都放入上下文中,這時可以使用啟發式方法,在當前處理步驟中選擇要包含在LLM上下文中的最相關子集。

事實上,當有太多的文本無法作為上下文包含,檢索增強生成(RAG)系統也是采用同樣的方法,選擇要包含的文本子集。

這裏同樣推薦幾篇相關文章:



論文地址:https://arxiv.org/pdf/2305.15334.pdf



論文地址:https://arxiv.org/pdf/2303.11381.pdf



論文地址:https://arxiv.org/pdf/2401.17464.pdf

Planning

規劃,使用LLM將目標任務分解為更小的子任務,然後自主決定執行的步驟。

例如,如果我們要求智能體對給定主題進行在線研究,LLM可以將其拆解為特定的子主題、綜合發現、編寫報告。



曾經,ChatGPT的發布讓很多人經歷了「ChatGPT時刻」,AI的能力大大超出了人們的預期。

——而類似的「AI Agent時刻」,也許很快就會到來。

吳恩達回憶了之前的一次現場展示,因為網速問題,Agent的Web搜索API返回了錯誤,——眼看就要被公開處刑,Agent居然轉到了維基百科的搜索工具,最終完成了任務(救大命了)。

吳恩達表示,看到一個Agent以出人意料的方式執行任務,並獲得成功,是一件美好的事情。

不過也有網友表示,大事不好啦,Agent失控啦!



現實中,有許多任務無法通過單個步驟或單個工具調用完成,但Agent可以決定要執行哪些步驟。

例如,要求智能體參照一張男孩的照片,畫一張相同姿勢的女孩的照片,則該任務可以分解為兩個步驟:(i)檢測男孩圖片中的姿勢,(ii)以檢測到的姿勢渲染女孩的圖片。

LLM可能會通過輸出類似 {tool:pose-detection,input:image.jpg,output:temp1 } {tool:pose-to-image,input:temp1,output:final.jpg} 這樣的字符串來指定計劃。

Planning是一種非常強大的能力,不過它也會導致難以預測的結果。

吳恩達表示Planning仍是一項不太成熟的技術,用戶很難提前預測它會做什麽,——不過我們可以期待技術的快速發展來解決這個問題。---[新智元報導*編輯:alan/來源:新智元]

這裏同樣推薦3篇相關的優秀工作:



論文地址:https://arxiv.org/pdf/2201.11903.pdf



論文地址:https://arxiv.org/pdf/2303.17580.pdf



論文地址:https://arxiv.org/pdf/2402.02716.pdf

參考資料:https://twitter.com/AndrewYNg/status/1779606380665803144