智慧體的潛力被低估了?
AI 智慧體是去年很火的一個話題,但是 AI 智慧體到底有多大的潛力,很多人可能沒有概念。
最近,史丹佛大學教授吳恩達在演講中提到,他們發現,基於 GPT-3.5 構建的智慧體工作流在應用中表現比 GPT-4 要好。當然,基於 GPT-4 構建的智慧體工作流效果更好。由此看來,AI 智慧體工作流將在今年推動人工智慧取得巨大進步,甚至可能超過下一代基礎模型。這是一個值得所有人關注的趨勢。
這個關於智慧體的演講在社交媒體上引發了廣泛關注。有人表示,這代表著 AI 發展中的正規化轉變,體現了從靜態輸出到動態迭代的轉變。站在這樣一個十字路口,我們不僅要思考 AI 如何改變我們的工作,還要思考我們如何適應它所創造的新環境。
還有人說,這和自己的生活經驗是相通的:有些人可以憑藉良好的流程勝過那些比自己聰明的人。
那麼,智慧體的這種效果是怎麼實現的呢?
和傳統的 LLM 使用方式不同,智慧體工作流不是讓 LLM 直接生成最終輸出,而是多次提示(prompt)LLM,使其逐步構建更高質量的輸出。
在演講中,吳恩達介紹了 AI 智慧體工作流的四種設計模式:
反思(Reflection):LLM 檢查自己的工作,以提出改進方法。
工具使用(Tool use):LLM 擁有網路搜尋、程式碼執行或任何其他功能來幫助其收集資訊、採取行動或處理資料。
規劃(Planning):LLM 提出並執行一個多步驟計劃來實現目標(例如,撰寫論文大綱、進行線上研究,然後撰寫草稿......)。
多智慧體協作(Multi-agent collaboration):多個 AI 智慧體一起工作,分配任務並討論和辯論想法,以提出比單個智慧體更好的解決方案。
在後續的部落格中,吳恩達重點討論了反思(Reflection)模式。吳恩達表示:「反思模式是實現速度相對較快的設計模式,它已經帶來了驚人的效能提升效果。」
他在部落格中寫道:
我們可能都有過這樣的經歷:提示 ChatGPT/Claude/Gemini,得到不滿意的輸出,提供關鍵反饋以幫助 LLM 改進其響應,最終獲得更好的響應。
如果將關鍵反饋的步驟交付給自動化程式,讓模型自動批評自己的輸出並改進其響應,結果會怎樣?這正是反思模式的關鍵。
以要求 LLM 編寫程式碼為例。我們可以提示它直接生成所需的程式碼來執行某個任務 X。之後,我們可以提示它反思自己的輸出,如下所示:
這是任務 X 的程式碼:[之前生成的程式碼]
仔細檢查程式碼的正確性、風格和效率,並對如何改進它提出建設性意見。
有時這會使 LLM 發現問題並提出建設性意見。接下來,我們可以用上下文 prompt LLM,包括:
以前生成的程式碼;
建設性的反饋;
要求它使用反饋來重寫程式碼。
這可以讓 LLM 最終輸出更好的響應。重複批評 / 重寫過程可能會產生進一步的改進。這種自我反思過程使 LLM 能夠發現差距並改善其在各種任務上的輸出,包括生成程式碼,編寫文字和回答問題。
我們可以透過給 LLM 提供工具來幫助其評估產出。例如,透過幾個測試用例來執行程式碼,以檢查是否在測試用例上生成正確的結果,或者搜尋網頁以檢查文字輸出。然後,LLM 可以反思它發現的任何錯誤,並提出改進的想法。
此外,我們可以使用多智慧體框架來實現反思。建立兩個不同的智慧體很方便,一個提示生成良好的輸出,另一個提示對第一個智慧體的輸出給出建設性的批評。兩個智慧體之間的討論推動了響應的改進。
反思是一種相對基本的智慧體工作流模式,但它在一些情況下顯著改善了應用程式的結果。
最後,關於反思,吳恩達推薦了幾篇論文:
“Self-Refine: Iterative Refinement with Self-Feedback,” Madaan et al., 2023
“Reflexion: Language Agents with Verbal Reinforcement Learning,” Shinn et al., 2023
“CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing,” Gou et al., 2024
在下文中,機器之心整理了本次演講的內容。
吳恩達:AI 智慧體的未來
我很期待與大家分享我在 AI 智慧體中所看到的。我認為這是一個令人興奮的趨勢。我認為每個 AI 從業者都應該關注這個趨勢。
我要分享的是 AI 智慧體。現在,我們大多數人使用大型語言模型的方式是這樣的:我們在一個非智慧體工作流中,你把提示輸入到對話方塊中並生成答案。這有點像是我們讓一個人寫一篇關於某個主題的文章。我說,請坐到鍵盤前,從頭到尾打出一篇文章,中間不使用退格鍵。儘管這很難,AI 大模型還是做得非常好。
智慧體工作流長這個樣子(右圖)。有一個 AI 大模型,你可以讓它寫一份論文大綱。你需要上網查資料嗎?如果需要,我們就聯網。然後寫初稿、讀初稿,並思考哪些部分需要修改。然後修改你的初稿並繼續推進。所以這個工作流程更容易迭代。你可以讓 AI 大模型進行一些思考,然後修改這篇文章,然後繼續思考和迭代。按照這個步驟迭代多次。
很多人都沒有意識到的是,這麼做的效果好得多。其實我自己也很驚訝。對於它們的工作決策流程,以及它們優秀的表現。除了這些個案研究,我的團隊也分析了一些資料,使用名為 HumanEval 的程式設計評估基準。這是 OpenAI 幾年前釋出的。這上面有一些程式設計問題,比如給定一個非空整數列表,返回位於偶數位置的所有奇數元素的和。AI 生成的答案是像這樣的程式碼片段。
如今我們很多人會使用零樣本提示。比如我們告訴 AI 編寫程式碼,並讓它在第一個位置執行。誰這樣編碼?沒有人這樣寫程式碼。我們只需輸入程式碼並執行它。也許你這麼編碼,但我做不到。事實證明,如果你使用 GPT-3.5,在零樣本提示的條件下,GPT-3.5 的準確率是 48%。GPT-4 要好得多,達到了 67%。但如果你採用的是智慧體工作流,並將其打包,GPT-3.5 實際上能表現更好,甚至比 GPT-4 還好。如果你圍繞 GPT-4 構建這樣的工作流,GPT-4 也能表現很好。注意,處於智慧體工作流中的 GPT-3.5 實際上優於 GPT-4。我認為這已經是一個訊號。
所有人都在圍繞智慧體這個術語和任務進行大量的討論。有很多諮詢報告,關於智慧體、AI 的未來,等等等等。我想具體一點,分享一下我在智慧體中看到的廣泛設計模式。這是一個非常混亂、混沌的空間。有很多研究,有很多事情正在發生,我嘗試更具體地分一下類,更具體地聊一下智慧體領域發生的事情。
reflection(反思)是一種工具,我認為我們中的許多人都在使用。它很有效。我認為「tool use」得到了更廣泛的認可,但 reflection 實際上效果也很好。我認為它們都是非常強大的技術。當我使用它們時,我幾乎總能讓它們工作得很好。規劃和多智慧體協作,我認為屬於正在興起的技術。在使用它們時,有時我對它們的工作效果感到震驚。但至少在目前這個時刻,我覺得我無法讓它們總是可靠地工作。
接下來我將詳細解釋這四種設計模式。如果你們中的一些人回去自己用,或者讓你們的工程師使用這些模式,我認為你可以很快獲得生產力的提升。
首先是 reflection,舉個例子:假設我問一個系統,請為我編寫給定任務的程式碼。然後我們有一個程式碼智慧體,只是一個接受你編寫的提示的大模型。它會寫一個如圖所示的函式。這裡還有一個 self reflection 的例子。如果你給你的大模型寫出這樣的提示,告訴它這是用於執行某個任務的程式碼,把你剛剛生成的程式碼給它,然後讓它檢查這段程式碼的正確性、效率等等類似的問題。結果你會發現,根據你的提示寫出程式碼的那個大模型,可能能夠發現程式碼裡的問題,比如第五行的 bug。還會告訴你怎麼修改。如果你現在採納了它的反饋並再次給它提示,它可能會提出一個比第一個版本更好的第二版程式碼。不能保證一定如此,但它是有效的。這種方法在很多應用中都值得嘗試。
這裡提前說一下 tool use。如果你讓它執行單元測試,而它沒有透過,你想知道為什麼沒透過。進行這樣的對話,也許能找出原因。這樣你就能試著去改正。順便說一下,如果大家對這些技術感興趣,我在每一部分的幻燈片底部都寫了一個小小的推薦閱讀部分,就在 PPT 底部。裡面有更多的參考資料。
這裡提前說一下多智慧體系統。它被描述為單個程式碼智慧體,你給它提示,讓它們進行對話。這種想法的一個自然演變是單個程式設計智慧體。你可以有兩個智慧體,其中一個是編碼智慧體,另一個是評價智慧體。它們背後的大模型可能是同一個,但你給它們的提示不一樣。我們對其中一個說,你是寫程式碼的專家,負責編寫程式碼。對另一個說,你是稽核程式碼的專家,負責稽核這段程式碼。這種工作流實際上很容易實現。我認為這是一種非常通用的技術,適用於很多工作流。這將為大型語言模型的效能帶來顯著的提升。
第二種設計模式是 tool use(工具使用)。許多人可能已經見過基於大模型的系統使用工具。左邊是一個截圖,來自 Copilot。右邊的截圖,來自 GPT-4。左邊的問題是,網上最好的咖啡機是哪個?Copilot 會透過上網檢索來解決一些問題。GPT-4 將會生成程式碼並執行程式碼。事實證明,有很多不同的工具被人們用於分析、收集資訊以採取行動、提高個人生產力。事實證明,很多早期工作關於 tool use 的工作,原來都是在計算機視覺社群。因為之前,大型語言模型對影像無能為力,所以唯一的選擇就是大模型生成一個函式呼叫,可以用來操作影像,比如生成影像或者做目標檢測什麼的。讓我們看看文獻,有趣的是,tool use 領域的很多工作似乎都起源於視覺社群,因為之前的大模型不會看影像,在 GPT-4V、LLaVA 等模型出現之前。這就是 tool use,它擴充套件了大型語言模型的能力。
接下來講 planning(規劃)。對於沒有大量接觸過規劃演算法的人來說,我覺得很多人在談論 ChatGPT 時刻的時候,你會覺得,「哇,從未見過這樣的東西」。我想你還沒有使用過規劃演算法。很多人看到 AI 智慧體會很驚訝,「哇,我沒想到 AI 智慧體能做這些」。在我進行的一些現場演示中,有些演示會失敗,AI 智慧體會重新規劃路徑。我實際上經歷過很多這樣的時刻,「哇,我不敢相信我的 AI 系統剛剛自動做到了這一點」。其中一個例子是從 HuggingGPT 論文中改編的。你輸入的是:請生成一張影像,一個女孩在看書,她的姿態和影像中的男孩一樣。然後用你的聲音描述這張新影像。給定一個這樣的例子,今天有了 AI 智慧體,你可以確定第一件要做的事是確定男孩的姿態。然後找到合適的模型,也許在 HuggingFace 上能找到,提取姿態。接下來需要找到一個姿態影像模型,遵循指令生成一張女孩的影像。然後使用影像 - 文字模型得到描述。最後使用文字轉語音模型讀出描述。
我們今天已經有了 AI 智慧體,我不想說它們工作可靠,它們還有點挑剔,並不總是好用。但當它們起作用時,實際上效果是非常驚人的。
有了智慧體迴圈,有時你可以改掉前期的問題。我自己已經在使用研究智慧體了。對於我的一些工作,我並不想自己花很多時間進行谷歌搜尋。我會把需求發給 AI 智慧體,幾分鐘後回來看看它做了什麼。它有時有效,有時不行。但那已經是我個人工作流的一部分。
最後要講的模式是多智慧體協作。這部分很有趣,它的效果比你想象的要好得多。左邊這張圖來自一篇名為 ChatDev 的論文。它是完全開源的,你們中的許多人都在社交媒體上看過 Devin 的演示。ChatDev 是開源的,它在我的膝上型電腦上執行。ChatDev 是多智慧體系統的一個例項。你可以給它一個提示,它有時扮演軟體引擎公司的 CEO,有時扮演設計師,有時又是產品經理,有時是測試人員。這群智慧體是你透過給大模型提示來構建的,告訴它們「你現在是 CEO / 你現在是軟體工程師」。他們會協作,會進一步對話。如果你告訴它們,「請開發一款遊戲」,它們會花幾分鐘寫程式碼,然後進行測試、迭代,然後生成一個令人驚訝的複雜程式,雖然並不總是能執行。我已經試過了,有時生成結果用不了,有時候又很驚豔。但是這項技術真的越來越好了。這是其中一種設計模型。此外,事實證明,多智慧體辯論(你有多個智慧體),比如說,你可以讓 ChatGPT 和谷歌的 Gemini 辯論,這實際上會帶來更好的效能。因此,讓多個相似的 AI 智慧體一起工作,也是一個強大的設計模式。
總結一下,這些是我看到的模式。我認為如果我們在我們的工作中使用這些模式,我們中的很多人可以很快獲得實踐上的提升。我認為智慧體推理設計模式將會非常重要。這是我的簡要 PPT。我預計,今年 AI 能做的事情將大幅擴充套件,這得益於智慧體工作流。
有一件事實際上很困難,就是人們需要習慣在輸入提示之後,我們總想立即得到結果。實際上,十幾年前,當我在谷歌討論 big box search 時,我們輸入了一個很長的提示。我沒有成功推動這一專案的一個原因是,在進行網路搜尋時,你想在半秒鐘內得到回覆。這是人性使然 —— 我們喜歡即時獲取、即時反饋。但是對於很多 AI 智慧體工作流來說,我想我們需要學會分配任務給 AI 智慧體,並耐心地等待幾分鐘,甚至幾小時,等它給出回應。我見過很多新晉管理者,將某事委託給某人,然後五分鐘後檢查結果。這不是一種有效的工作方式。我想我們需要,這真的很難。我們也需要對我們的 AI 智慧體多點耐心。
另一個重要的事情是,快速的 token 生成是非常重要的。因為用這些 AI 智慧體,我們一遍又一遍地迭代。AI 生成供人閱讀的 token。如果 AI 生成 token 的速度比任何人的閱讀速度都快,那就太棒了。我認為,快速生成更多 token,即使用的是質量稍低的大模型,也能帶來很好的結果。與用更好的大模型慢慢生成 token 相比,或許這點是有爭議的。因為它可能讓你在這個迴圈中反覆更多次。這有點像我在前面的幻燈片上展示的大模型和智慧體架構的結果。
坦率地說,我非常期待 Claude 4、GPT-5 和 Gemini 2.0,以及其他正在構建的出色大模型。我感覺,如果你期待在 GPT-5 上執行你的任務,以零樣本的方式,你可能在一些 AI 智慧體應用上接近那個水平的效能,這可能超乎你的想象,有了智慧體推理,再加上之前釋出的大模型。我認為這是一個重要的趨勢。老實說,通往 AGI 的道路感覺更像是一段旅程而不是目的地,我認為這套智慧體工作流可以幫助我們在這漫長的旅程中向前邁出一小步。
參考連結:
https://www.deeplearning.ai/the-batch/issue-242/
https://zhuanlan.zhihu.com/p/689492556?utm_medium=social&utm_psn=1756970518132240384&utm_source=wechat_session
https://www.youtube.com/watch?v=sal78ACtGTc&t=108s