o1蒙特卡洛樹的風(fēng)又吹到了Agentic工作流!
?AFlow 是一個用于自動生成和優(yōu)化Agentic工作流的框架。它使用蒙特卡洛樹搜索(Monte Carlo tree search)在代碼表示的工作流空間中查找有效的工作流,用機器工作取代手動開發(fā)。在各種任務(wù)上都顯示出超越手工工作流的潛力,由MetaGPT開源。
AFLOW(以黃色突出顯示)在所有六個基準(zhǔn)測試中始終優(yōu)于所有自動化工作流優(yōu)化和手動設(shè)計的方法(IO、CoT、CoT SC、MedPrompt、MultiPersona、Self Refine、ADAS)
AFLOW在GSM8K上的樹狀迭代過程:突出顯示了從初始輪次(第1輪)到表現(xiàn)最佳的工作流的路徑,報告了每個節(jié)點的得分及其與前一個節(jié)點的修改。提示兩側(cè)的紫色部分代表了本輪迭代中的主要提示修改。
框架組件
- Operator:預(yù)定義 Node 組合,提升搜索效率。封裝了 Generate、Format、Review、Revise、Ensemble、Test、Programmer 等常用操作。參考metagpt/ext/aflow/operator.py。支持定制自己的 Operator。
- 工作流:通過邊連接的一系列 LLM 調(diào)用節(jié)點。可以表示為圖形、神經(jīng)網(wǎng)絡(luò)或代碼,以表達(dá)各種執(zhí)行結(jié)構(gòu)。參考metagpt/ext/aflow/workflow.py。
- 優(yōu)化器:使用蒙特卡洛樹搜索變體中的 LLM 來探索和優(yōu)化工作流程。根據(jù)性能迭代地選擇、擴展、評估和更新工作流程。參考metagpt/ext/aflow/scripts/optimizer.py。
- 評估器:評估給定任務(wù)的工作流程績效。提供反饋以指導(dǎo)優(yōu)化過程實現(xiàn)更有效的工作流程。參考metagpt/ext/aflow/scripts/evaluator.py。
FLOW的整體框架:通過設(shè)置一個由只有提示參數(shù)靈活的節(jié)點組成的搜索空間,給定的操作符集合,以及表示邊緣的代碼,AFLOW在這個空間內(nèi)執(zhí)行基于MCTS的搜索。通過為工作流優(yōu)化設(shè)計的MCTS變體,AFLOW迭代執(zhí)行一個周期的軟混合概率選擇、基于LLM的擴展、執(zhí)行評估和經(jīng)驗反向傳播,直到達(dá)到最大迭代次數(shù)或滿足收斂標(biāo)準(zhǔn)。
實驗數(shù)據(jù)集
對六個數(shù)據(jù)集(HumanEval、MBPP、GSM8K、MATH、HotpotQA、DROP)進行了實驗,并提供了它們的評估代碼。
- 經(jīng)AFLOW優(yōu)化的工作流平均超過所有手動設(shè)計方法5.7%,在自動化工作流優(yōu)化工作中超越了19.5%。
- 在QA、代碼和數(shù)學(xué)領(lǐng)域的六個數(shù)據(jù)集上,AFLOW實現(xiàn)了平均80.3%的性能,標(biāo)志著這種方法的能力和可用性。
- 值得注意的是,與類似工作相比,AFLOW在更具挑戰(zhàn)性的任務(wù)上表現(xiàn)更好,在MATHlv5*和MBPP任務(wù)上比ADAS提高了57%,展示了該模型在復(fù)雜數(shù)據(jù)集上的魯棒性。
https://github.com/geekan/MetaGPT/tree/main/examples/aflow
https://arxiv.org/pdf/2410.10762
AFLOW:AUTOMATING AGENTIC WORKFLOW GENERATION
本文轉(zhuǎn)載自??PaperAgent??
