MetaGPT開源自動生成智能體工作流,4.55%成本超GPT-4o
AFLOW 作者團隊來自于 MetaGPT 開源社區。AFLOW 論文共同第一作者為香港科技大學(廣州)的博士生張佳釔和 DeepWisdom 研究員向勁宇,共同通訊作者為 DeepWisdom 創始人兼 CEO 吳承霖(MetaGPT 代碼作者、論文通訊作者)和香港科技大學(廣州)的助理教授駱昱宇。作者還包括中國人民大學的于兆洋、滕楓蔚和程信,南京大學 LAMDA 實驗室博士生陳雄輝,復旦大學的陳家祺和鄭炳南,阿卜杜拉國王科技大學的博士生諸葛鳴晨(MetaGPT 論文共同一作),DeepWisdom 研究員洪思睿(MetaGPT 論文共同一作)和王金淋,蒙特利爾大學與 MILA 實驗室的助理教授劉邦。
對于 LLM 從業者來說,讓 LLM 落地應用并發揮作用需要手動構建并反復調試 Agentic Workflow,這無疑是個繁瑣過程,一遍遍修改相似的代碼,調試 prompt,手動執行測試并觀察效果,并且換個 LLM 可能就會失效,有高昂的人力成本。許多公司甚至專職招聘 Prompt Engineer 來完成這一工作。
現在,Agentic Workflow 也有自己的自動優化工具了。
MetaGPT 開源了 AFLOW,它使用 MCTS 進行 Agentic Workflow 的自動搜索,可以完全自動地構建與優化 Agentic Workflow 問題,讓我們不再需要手寫代碼、調試提示詞。
AFLOW 通過蒙特卡洛樹搜索優化工作流,極低成本實現 GPT-4o 級能力
這是對提示詞自動優化的進一步探索,通過蒙特卡洛樹搜索,完全接管了 Agentic Workflow 的生成與優化過程,表現遠超其他工作流自動優化工作,甚至超越了對比的所有手工工作流基線。
- 論文標題:AFlow: Automating Agentic Workflow Generation
- 論文地址:https://arxiv.org/abs/2410.10762
- 項目地址:https://github.com/geekan/MetaGPT/tree/main/examples/aflow
什么是自動工作流優化問題?
現有的 Agentic Workflow 自動生成工作難以生成有效的工作流,它們往往需要人工介入初始設置,且無法全面捕捉到完成任務所需的工作流多樣性。為了克服這些挑戰,研究人員提出了 AFLOW 框架。利用蒙特卡洛樹搜索(MCTS)技術來系統地探索和優化 LLM 的工作流。AFLOW 通過將工作流定義為代碼可表示的節點和邊,從而有效地捕捉 LLMs 調用之間的復雜交互。通過引入操作符的概念,AFLOW 進一步簡化了搜索空間,提高了搜索效率。在多個基準數據集上的實驗結果表明,AFLOW 能夠自動發現和優化工作流,顯著提高了任務執行的性能,同時減少了對人工干預的依賴。
AFLOW 的動態演示。通過不斷迭代的選擇、擴展、評估和反向傳播實現工作流的自動化生成和優化
AFLOW 首先將工作流優化問題重新構建為一個搜索問題,其中工作流被表示為代碼化的節點序列,每個節點代表 LLM 的一個具體操作,節點之間的邊定義了操作的邏輯、依賴關系和執行流程。這種表示方法將工作流轉化為一個可以搜索和優化的圖結構。具體來說,工作流 W 被定義為一個 LLM 調用節點序列,其中每個節點
包含模型 M,提示 P,溫度,輸出格式 F(如 xml、json、markdown、raw)四個參數。節點通過邊連接,邊可以由各種結構表示,如圖,神經網絡,代碼。
自動化工作流優化的目標是在給定任務 T 和評估函數 G 的情況下,發現一個工作流 W ,使得 G(W,T) 最大化。這可以被表述為一個搜索過程,其中算法 A 探索搜索空間 S 來確定最優的工作流配置。搜索空間 S 包括所有可能的節點參數和邊結構的配置。
Node、Operator 和 Edge 示例。此處展示 Node 的可選參數、Operator 常見結構和 Edge 的常見表示
AFLOW 如何自動優化工作流?
AFLOW 利用蒙特卡洛樹搜索(MCTS)來自動化地生成和優化 Agentic Workflow。在 AFLOW 框架中,Operator 扮演著至關重要的角色,它們是預定義的、可重用的節點組合,代表常見的智能體操作(比如審查,投票,生成)。這些 Operator 作為構建工作流的基礎構件,被集成到搜索空間中,確保探索過程可以利用已知的有效智能體操作模式。引入 Operator 能夠顯著提升 AFLOW 框架的搜索效率和工作流的優化效果,減少在龐大搜索空間中的盲目探索。
AFLOW 的目標是在給定任務和評估函數的情況下,發現一個能夠最大化任務性能的工作流。AFLOW 算法開始于初始化模板工作流,這個模板提供了一個基本的工作流框架,包括 LLM 節點的調用和 Operator 的使用。然后,算法通過 MCTS 的四個主要步驟進行迭代:選擇(Selection)、擴展(Expansion)、評估(Evaluation)和反向傳播(Backpropagation)。
AFLOW 整體框架:通過設置一個由僅具有靈活 prompt 參數的節點、給定的運算符集和表示邊的代碼組成的搜索空間,AFLOW 在此空間內執行基于 MCTS 的搜索。通過為工作流優化而設計的 MCTS 變體,AFLOW 迭代執行軟混合概率選擇、基于 LLM 的擴展、執行評估和經驗反向傳播的循環,直到達到最大迭代次數或滿足收斂標準
選擇階段 AFLOW 使用軟混合概率選擇機制來選擇一個節點進行擴展。這種機制結合了均勻概率分布和基于分數的加權概率分布,以平衡探索和利用,避免陷入局部最優解。選擇過程中,AFLOW 會考慮候選節點的得分和探索的需要,從而選擇一個既有可能帶來性能提升又具有探索價值的節點。
擴展階段 AFLOW 使用 LLM 作為優化器來生成新的工作流。優化器利用選定工作流的經驗來生成新的提示或通過修改代碼來改變節點連接,從而產生新的工作流變體。這些新的工作流變體是通過對現有工作流的微小調整來實現的,例如添加、修改或刪除節點和邊。
評估階段 AFLOW 直接執行生成的工作流以獲得反饋。由于推理任務具有明確的評估函數,AFLOW 可以通過在驗證集上多次運行工作流來計算平均分和標準差,從而獲得更準確的優化器反饋。
反向傳播階段 工作流的性能信息被反向傳播到 MCTS 的樹結構中,用于更新節點的得分,并指導未來的搜索迭代。這些信息包括工作流的執行結果和相對于其父工作流的優化成功與否。通過這種方式,AFLOW 能夠從每次迭代中學習,并逐漸改進工作流的性能。
為了避免在優化達到極限后繼續執行的不必要成本,當連續幾輪中分數優先的前 k 個工作流沒有改進時,AFLOW 將停止上述迭代過程。
AFLOW 帶來的 Agentic Workflow 變革
顯著的性能優勢 AFLOW 選取了六個文本推理的任務,覆蓋了代碼(HumanEval, MBPP),數學(GSM8K, MATH),知識問答(HotpotQA, DROP)三個場景。相比現有手動方法平均提升 5.7%,較其他自動化方法更是提升了 19.5%。在所有六個任務中,AFLOW 展現出全面的領先優勢,證明了其在不同任務類型上的穩定性和適應性。
與其他方法的性能比較。為了評估該方法的性能,我們在不同的數據集中采用了各種指標:Math 和 GSM8K 的求解率、HotpotQA 和 DROP 的 F1 分數以及 HumanEval 和 MBPP 的 pass@1。我們的 AFLOW(以黃色突出顯示)在所有六個基準測試中始終優于所有自動工作流程優化和手動設計的方法
顯著成本降低 AFLOW 為 Agent 領域帶來的最大變革在于其顯著的成本降低。較小尺寸的模型通過 AFLOW 找出的工作流,僅需 GPT-4o 推理成本的 4.55% 就能實現同等性能。這一突破意味著企業可以用更小的模型實現大模型的效果,為 AI 應用的規模化部署提供了經濟可行的解決方案。
成本(Cost)指執行分割后 HumanEval 測試集的總費用。AFLOW(模型)指 AFLOW 使用該模型執行工作流,獲得反饋。圖例中的顏色代表在測試數據集中執行工作流所使用的不同 LLM
自動化的效率提升 AFLOW 徹底改變了傳統的人工調試模式。通過自動化的工作流生成與優化機制,顯著減少了人工參與的需求。開發者不再需要花費大量時間進行反復調試和優化,系統能夠自動發現最優的工作流組合,大幅縮短了開發周期。
廣泛的適用性 實驗結果表明,AFLOW 展現出優秀的遷移能力。它不僅支持多種主流 LLM 模型,還能適應不同類型的任務需求。在問答、代碼生成、數學問題求解等多個領域的測試中,AFLOW 都表現出色,證明了其作為通用優化框架的價值。此外,用戶可以通過簡單的提供數據集與 Evaluation Function 來將 AFLOW 使用在自己的任務上。
展望
AFLOW 提出了一種有效生成 Agentic Workflow 的方法,并全面展示了其在降低人力與推理成本上的驚人能力。這一研究成果有望加速 Agent 在各個領域落地的速度,將 Agentic Workflow 的構建過程從專家手工構建轉變為小白自動構建。
使用
目前,作者已在 GitHub 上開源了完整代碼。用戶可通過自定義 Benchmark 與數據集,快速為個性化任務搜索最佳性能或性能成本平衡的工作流方案,幫助個人和企業節省大量時間。
AFLOW 的 Github 指南。可以參照分步指南配置和運行 AFLOW,高效生成和優化工作流