吳恩達:多智慧體協作是新關鍵,軟體開發等任務將更高效
机器之心發表於2024-04-26
前不久,史丹佛大學教授吳恩達在演講中提到了智慧體的巨大潛力,這也引起了眾多討論。其中,吳恩達談到基於 GPT-3.5 構建的智慧體工作流在應用中表現比 GPT-4 要好。這表明,將目光侷限於大模型不一定可取,智慧體或許會比其所用的基礎模型更加優秀。在軟體開發領域,這些智慧體展示了其獨特的能力,能夠高效協作,處理程式設計中的複雜問題,甚至進行程式碼自動生成。最新的技術動態顯示,AI 智慧通在軟體開發中顯示出巨大的潛力。還記得 Devin 嗎?號稱世界第一個 AI 軟體工程師的它出場就驚豔到了我們,一個智慧體就能帶給我們如此體驗,如果是多個智慧體合作,是不是能夠直接把體驗值直接拉滿呢?想象一下,一個由多個智慧體組成的團隊,每一個成員都擅長於特定的任務,如程式碼審查、錯誤檢測或新功能實現。這些智慧體可以互補彼此的能力,共同推進軟體專案的進度。這豈不是解放了碼農的雙手,再也不怕腱鞘炎了。吳恩達撰新文一篇帶我們深入這一領域,探索智慧體系統的最新動態。文章中提及的 AutoGen 和 LangGraph 等工具,正是在這一大背景下應運而生。這些工具旨在幫助開發者更容易地部署和管理 AI 智慧體,從而充分發揮其潛力。憑藉它們的力量,即使是沒有深厚程式設計背景的人也能夠利用 AI 智慧體來最佳化和自動化軟體開發流程。以下是機器之心不改變原義的整理與翻譯。原文連結:https://www.deeplearning.ai/the-batch/issue-245/多智慧體協作是我在最近幾封信中描述的四種關鍵 AI 智慧體設計模式中的最後一種。對於像編寫軟體這樣的複雜任務,多智慧體方法會將任務分解成由不同角色(如軟體工程師、產品經理、設計師、QA 工程師等)執行的子任務,並讓不同的智慧體完成不同的子任務。不同的智慧體可以透過提示一個 LLM(或多個 LLM)執行不同的任務來構建。例如,要建立一個軟體工程師智慧體,我們可以提示 LLM:「你是編寫清晰、高效程式碼的專家。請編寫程式碼來執行任務......」。儘管我們多次呼叫同一個大型語言模型(LLM),但我們採用多智慧體的程式設計抽象方法,這看似違反直覺,但卻有幾個理由支援:- 它有效!許多團隊使用這種方法取得了良好的效果,沒有什麼比結果更有說服力的了。此外,消融研究(例如在 AutoGen 論文中)表明,多智慧體的表現優於單一智慧體。
- 雖然現今的一些 LLM 能接受非常長的輸入上下文(例如,Gemini 1.5 Pro 可以接受 100 萬個 token),但它們真正理解長而複雜輸入的能力是參差不齊的。採用智慧體工作流,讓 LLM 一次專注於一件事,可以獲得更好的表現。
- 最重要的是,多智慧體設計模式為開發者提供了一個框架,用以將複雜任務分解成子任務。當在單個 CPU 上執行程式碼時,我們經常將程式分解成不同的程序或執行緒。這種抽象有助於我們將任務分解成更易於編碼的子任務。使用多智慧體角色進行思考同樣是一個有用的抽象。
在許多公司中,管理者通常會決定招聘哪些角色,然後如何將複雜專案 —— 如編寫一大塊軟體或準備研究報告 —— 分解為更小的任務分配給具有不同專長的員工。使用多個智慧體的做法與此類似。每個智慧體實施自己的工作流程,擁有自己的記憶(這本身是智慧體技術中一個迅速發展的領域:一個智慧體如何記住足夠多的過去互動以在未來的任務中表現得更好),並可能請求其他智慧體的幫助。智慧體還可以進行規劃和使用工具。這會產生了大量的 LLM 呼叫和智慧體間的資訊傳遞,可能形成非常複雜的工作流程。雖然管理人員困難,但這是我們非常熟悉的,它為我們如何「僱傭」和分配任務給我們的 AI 智慧體提供了一個心理框架。幸運的是,管理不善 AI 智慧體的損害遠低於管理不善人類!像 AutoGen、Crew AI 和 LangGraph 這樣的新興框架為解決問題提供了豐富的多智慧體解決方案。如果你對玩樂趣十足的多智慧體系統感興趣,不妨看看 ChatDev,這是一個執行虛擬軟體公司的智慧體集合的開源實現。你可以檢視他們的 GitHub repo,也許克隆 repo 並親自執行系統。雖然它可能不總是產生你想要的結果,但你可能會對它的表現感到驚訝。就像規劃這一設計模式一樣,我發現多智慧體協作的輸出質量很難預測,特別是當允許智慧體自由互動併為它們提供多種工具時。更成熟的反思和工具使用模式更為可靠。希望你能享受這些智慧體設計模式的樂趣,並且它們能為你帶來驚人的結果!如果你有興趣瞭解更多,可以閱讀以下文章:- 論文標題:Communicative Agents for Software Development
- 論文連結:https://arxiv.org/pdf/2307.07924.pdf
- 論文標題:AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation
- 論文連結:https://arxiv.org/pdf/2308.08155.pdf
- 論文標題:METAGPT: META PROGRAMMING FOR A MULTI-AGENT COLLABORATIVE FRAMEWORK
- 論文連結:https://arxiv.org/pdf/2308.00352.pdf
看了本篇文章,網友們大受啟發,不過也有網友提出,多智慧體系統在執行相同或類似任務時表現出的穩定性和可預測性還有待考量。你覺得多智慧體協作的益弊何在呢?