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