AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
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,高效生成和最佳化工作流