← 返回资料站  /  AI for AI
论文 Agent 自动设计 ★ 必读

Automated Design of Agentic Systems (ADAS)

Agent 系统的自动设计:让 Meta Agent 用代码发明新 Agent
一句话Jeff Clune 组正式定义了 ADAS(Automated Design of Agentic Systems)这个子领域,并给出首个在完整代码空间搜索的算法 Meta Agent Search:让 GPT-4 当 meta agent,基于一个不断增长的 archive 迭代编写新 agent 的 forward() 函数。在 DROP 上比手工 baseline 高 13.6 F1、MGSM 高 14.4%;但第三方复现(Google 的 MASS 论文)发现换到 Gemini 1.5 上收益变得很小,ARC 结果的方差也大到有用户复现不出来。

这是什么

2024 年中,大家已经积累了一堆手工设计的 agent 积木:Chain-of-Thought、Self-Refine、LLM Debate、工具调用、RAG……但把这些积木组合成对某个任务有效的 agentic system,仍然靠人肉调。这篇论文援引 ML 史上'手工设计终被学习取代'的规律(HOG 特征→CNN、手工架构→NAS),提出一个问题:agent 系统本身的设计能不能也被自动学出来?作者把这个方向命名为 Automated Design of Agentic Systems(ADAS),并按 AutoML 的套路把它形式化为三件套:search space(能表示哪些 agent)、search algorithm(怎么探索)、evaluation function(怎么打分)。

论文的核心主张是:search space 应该直接用编程语言(Python 代码)。因为代码是图灵完备的,理论上能表示任何 agent(prompt、工具、workflow 及其任意组合),而此前的自动化工作要么只优化 prompt(OPRO、PromptBreeder),要么把 agent 限制在图/网络结构里(GPTSwarm、DyLAN)。演示算法 Meta Agent Search 非常简单:meta agent(GPT-4)读着一个存放历届发现的 archive,每轮编写一个'有趣的新 agent'(一段 forward() 函数),在 validation 集上跑分后连同成绩存回 archive,循环 25-30 轮。

这篇是 ICLR 2025 论文 + NeurIPS 2024 Open-World Agent Workshop 杰出论文,S2 引用 293 次,GitHub 1.6k stars。它的实际影响主要在'定义问题'而非'给出最优解法':AFlow、MASS、AgentSwift、Darwin Gödel Machine 等后续工作都以它为共同起点,同时也几乎都把 Meta Agent Search 当作被超越的 baseline。

Meta Agent Search 总览:meta agent 从 agent archive 读取历史设计,生成'下一个有趣的 agent'(动机+名字+forward() 代码),经反思修错后在任务上评测、写回 archive。下方是三个搜出来的 agent 示例——注意它们清一色是多路专家/评审/集成结构。
Meta Agent Search 总览:meta agent 从 agent archive 读取历史设计,生成'下一个有趣的 agent'(动机+名字+forward() 代码),经反思修错后在任务上评测、写回 archive。下方是三个搜出来的 agent 示例——注意它们清一色是多路专家/评审/集成结构。

机制与做法

搜索空间:一个 forward() 函数

作者提供了一个不到 100 行的小框架,内置 LLM 查询、prompt 格式化等基础函数(做法参照 FunSearch)。meta agent 每轮只需要产出三样东西:新设计的动机说明、agent 名字、一段 forward(taskInfo) 的 Python 实现——输入任务信息、输出答案。所有 prompt、多角色协作、投票、反思循环都写在这段代码里,所以理论上任何 agent 设计都可以被表示。

ARC(easy 子集)上的搜索曲线:25 轮内最优 agent 从约 6% 爬到 13.7%,超过五个手工 baseline(虚线)。文本框标注了关键'垫脚石':第 3 轮出现多路 COT+refine+ensemble 模式,之后逐步加入 dynamic memory 和多 critic。注意阴影置信区间非常宽——issue #21 里用户复现同一 agent 只得到 3.3%。
ARC(easy 子集)上的搜索曲线:25 轮内最优 agent 从约 6% 爬到 13.7%,超过五个手工 baseline(虚线)。文本框标注了关键'垫脚石':第 3 轮出现多路 COT+refine+ensemble 模式,之后逐步加入 dynamic memory 和多 critic。注意阴影置信区间非常宽——issue #21 里用户复现同一 agent 只得到 3.3%。

搜索算法:archive + '有趣性'启发

算法本体是个线性循环:(1) archive 用 COT、Self-Refine、LLM Debate 等 5-7 个手工 baseline 初始化;(2) meta agent 以完整 archive(所有历史设计的代码+分数)为条件生成新设计,先过两轮 self-reflection 确认'新颖且有趣';(3) 在 validation 集上评测,报错则再反思修复,最多 5 次;(4) 连同分数写回 archive,进入下一轮。没有显式的探索-利用平衡,也没有淘汰机制,靠 prompt 里鼓励'interestingly new'来维持多样性——这是后续工作(AFlow 用 MCTS、MASS 分阶段优化)集中攻击的软肋。

分工上,meta agent 用 GPT-4,被评测的 agent 和 baseline 统一跑 GPT-3.5(省钱)。搜索预算:ARC 25 轮,四个推理 benchmark 各 30 轮。

ARC 上最终搜出的最优 agent(Structured Feedback and Ensemble Agent)结构:5 路 COT 生成答案,效率/可读性/简洁性三个 expert 加一个 human-like critic 给反馈,refine 3 轮后评估所有答案、取 top-3 集成。直观展示了'搜出来的 agent'实际长什么样:本质是重型推理时集成。
ARC 上最终搜出的最优 agent(Structured Feedback and Ensemble Agent)结构:5 路 COT 生成答案,效率/可读性/简洁性三个 expert 加一个 human-like critic 给反馈,refine 3 轮后评估所有答案、取 top-3 集成。直观展示了'搜出来的 agent'实际长什么样:本质是重型推理时集成。

实验:ARC 案例 + 四个推理 benchmark + 迁移

ARC 案例研究:从'Public Training Set (Easy)'里只取网格 ≤5×5 的题,采样 20 题做 validation、60 题做 test(注意:这是极简化子集,和 ARC 官方 eval 不可比)。搜索过程展示了'垫脚石'式演化:第 3 轮出现'多路 COT→refine→ensemble'的模式,第 5/11/12 轮分别出现多样反馈、专家评审、模拟人类反馈,最终的 Structured Feedback and Ensemble Agent 把三者组合起来,test 准确率 13.7%,超过最好的手工 baseline COT-SC(8%)。

四个 benchmark(DROP 阅读理解、MGSM 多语言数学、MMLU、GPQA):搜出的 agent 全面超过 7 个手工 baseline 和 OPRO,其中 DROP 79.4 F1(最好 baseline 65.8)、MGSM 53.4%(最好 baseline 39.0%)提升最大;MMLU 69.6% 和 GPQA 34.6% 提升就很小(baseline 约 66%/32%)。作者自己的解释:数学/阅读题错在幻觉和算错,workflow 能救;知识不够的题 workflow 救不了。

迁移性是卖点:MGSM 上搜出的 agent 直接搬到 GSM8K(+25.9%)和 GSM-Hard(+13.2%)仍大幅领先,搬到非数学域(DROP、MMLU)也不垮;ARC 上用 GPT-3.5 搜出的 agent 换 Claude-Sonnet 执行能到 48.3%(仍是那个 easy 子集)。

安全与展望

论文和 README 都明确警告:这个系统在执行模型生成的未经审查的代码,作者称做了容器化隔离和人工检查。讨论部分列了一串后续方向,其中'higher-order ADAS'(meta agent 自己也被 ADAS 改进,自指式自我改进)正是同组 2025 年 Darwin Gödel Machine 的伏笔。

关键结果

实证核查

有水分问题定义和'代码即搜索空间'的思路被广泛接受、代码全开源,这部分扎实;但主表数字建立在 GPT-3.5 执行 + 弱 baseline 之上,换更强模型后第三方复现只见微弱收益,ARC 结果方差大到官方 archive 里的最优 agent 都难以复现出报告数字。
论文:发现的 agent '大幅超越 state-of-the-art 手工设计 agent'(DROP +13.6 F1、MGSM +14.4%)。
Google 的 MASS 论文(arXiv 2502.02533,§B.2)用 Gemini 1.5 完整复现了 ADAS(30 轮、同样以手工 baseline 初始化):在 Gemini 1.5 Pro 上 8 个任务平均 69.72%,还略低于 Multi-Agent Debate 的 70.26%;Flash 上 64.75% vs Debate 65.91%。其结论原话是 'ADAS only brings subtle gains'、'gets trapped in discovering over-complex topologies'。即论文的大幅优势和执行模型是 GPT-3.5、baseline 未调 prompt 强相关。
ARC 案例:最优 agent 在 held-out test 上 13.7%,搜索曲线稳步爬升。
GitHub issue #21:有用户直接评测官方 results/arc_gpt3.5_results.json 里的最优 agent,得到中位数 3.3%(95% CI 1.3%-5.7%);自己重跑 search.py 最好 8.0%。作者回复承认'个别运行方差确实很大',且自己重评该 agent 也低于论文数字(称仍在误差界内)。后续 issue #22 中两位用户跟帖表示未能复现。另外 test 集只有 60 道 easy 题、每题重复 5 次,统计功效本身就弱。
README:python {DOMAIN}/search.py 即可复现,args.model 指定模型。
代码确实全开源(_arc/_drop/_mgsm/_mmlu/_gpqa/_transfer_math 各域自含,results/ 里带完整实验 log,这点做得规范)。但 issue #5、#22 揭示一个坑:args.model 只控制 meta agent,被评测 agent 的执行模型硬编码在 search.py 的函数默认参数里(_arc/search.py L76),有用户以为自己在测 GPT-4o 实际没换模型;作者承认设计混乱但表示不改。issue #24 还显示 Azure/代理配置稍有不对就全程 0.0% 且异常被静默吞掉(异常打印默认被注释)。
论文:'搜索代码空间理论上能发现任何可能的 agentic system'。
图灵完备性论证成立,但实践中发现的设计全落在'角色扮演 + 多路采样 + 反馈 + 集成'这一小片空间(见论文 Fig. 附录 agent 代码与 AFlow 附录 B.2 的分析)。AFlow(arXiv 2410.10762)指出 ADAS 把全部历史 workflow 原样塞进 prompt、经验粒度最粗,导致'更像无限可能性的探索者而非设计者',并报告在 MATH-lv5 和 MBPP 上比 ADAS 搜出的 workflow 高 57%。理论上界与实际搜索效率之间差距很大。
ICLR 2025 接收、NeurIPS 2024 workshop 杰出论文,开创 ADAS 子领域。
属实且影响可查:S2 引用 293 次,AFlow、MASS、AgentSwift、W4S、Darwin Gödel Machine 等都以其为问题定义的出处;GitHub 1631 stars。但值得注意:后续工作引用它多是作为'第一个提出问题但方法可被超越'的 baseline。

与我们方向的关系

对 ai4ai 方向,这篇的价值在'问题的形式化'而不是算法本身:search space / search algorithm / evaluation function 三件套现在是这个子领域的标准分析框架,读后续任何 agent 自动设计论文(AFlow、MASS、DGM)都要先对齐到这套语言。'用代码做搜索空间 + 用 LLM 的代码先验做搜索算子'的论证也直接影响了 Darwin Gödel Machine 的自指路线(同组、共同作者)。

可借鉴的教训有两条:一是评测设定的敏感性——用弱执行模型(GPT-3.5)+ 未调优 baseline 能把提升放大好几倍,我们自己做 agent 搜索实验时必须在至少两档模型上验证收益是否保留(MASS 的复现就是标准做法);二是简单线性 archive 搜索的天花板——不做经验压缩、不做探索-利用平衡,搜索会收敛到'更复杂的 ensemble',这正是 AFlow 用 MCTS + 操作符库、MASS 用分阶段 prompt/topology 优化改进的点。

阅读笔记

复现注意:执行模型硬编码在各域 search.py 的 evaluate 默认参数里,args.model 只管 meta agent(issue #5/#22);异常打印默认被注释,配置错误会表现为全程 0% 而无报错(issue #24)。ARC 数字是 easy 子集(≤5×5 网格、60 题),别拿去和 ARC-AGI 榜单比。项目页 shengranhu.com/ADAS 只是论文门户,无额外材料。

材料清单

TeX 源码
已存档:Raw/automated-design-of-agentic-systems-adas/source/
代码仓库github.com/ShengranHu/ADAS
1631★ · 最近推送 2025-01-28
项目主页 / 报告www.shengranhu.com/ADAS/
MASS 论文(第三方复现)arxiv.org/abs/2502.02533
Google 的 Multi-Agent System Search,附录 B.2/C 用 Gemini 1.5 复现 ADAS,结论是收益微弱、易陷入过复杂拓扑,并给出 token 成本测算(23M 输入/13M 输出)。
AFlow 论文(后续改进)arxiv.org/abs/2410.10762
MCTS + 预定义操作符的 workflow 搜索,附录 B.2 有对 ADAS 搜索机制缺陷的逐条分析,报告在 MATH-lv5/MBPP 上大幅超过 ADAS。
ARC 复现讨论github.com/ShengranHu/ADAS/issues/21
用户评测官方最优 agent 只得 3.3%(论文报 13.7%),作者承认方差大;#22、#24 有更多复现失败记录。
官方实验 loggithub.com/ShengranHu/ADAS/tree/main/results
每个域完整的搜索过程 JSON(所有生成的 agent 代码 + 分数),做二次分析或复现对照很有用。

同类条目