现在的 AI 智能体有点“娇气”。
你给它们部署一套工作流,只要稍微改个库,或者调整一下代码结构,它们立马就“罢工”。
这时候,你不得不像个保姆一样,手把手去修。
这就是目前企业落地 AI 最头疼的问题:太脆弱,太静态,离不开人。
但加州大学圣塔芭芭拉分校(UCSB)的研究员们,刚刚搞出了个大新闻。
他们开发了一个叫 GEA(Group-Evolving Agents,群组进化智能体)的新框架。
这东西不简单,它能让一群 AI 智能体像团队一样“抱团进化”,共享经验,甚至能自己改代码修 Bug。
最狠的是,在复杂的软件工程任务里,这套系统进化出来的智能体,性能已经能跟人类专家精心设计的框架打得有来有回,甚至更强。
“独狼”进化的死胡同
为什么以前的智能体这么笨?
不是模型不够强,是进化的路子走窄了。
大多数现有的智能体系统,都是工程师写死的架构。这就好比给天才套上了枷锁。为了打破这个限制,科学家们一直想让 AI “自我进化”,也就是自己改自己的代码。
听起来很美,做起来全是坑。
目前的“自我进化”方法,几乎都在模仿生物进化。
这就是问题所在。
AI 智能体又不是生物个体,为什么要死守生物学的老规矩?
这种传统的“个体中心”进化,就像一棵树。一个“父代”智能体生出“子代”,分支之间老死不相往来。
这就造成了严重的孤岛效应。
如果某个分支的智能体发现了一个超好用的调试工具,或者一种更高效的测试流程,但这个分支不幸在进化中被淘汰了,那么这些宝贵的创新也会随之彻底消失。
隔壁分支的智能体一无所知,还得从头开始摸索。
浪费算力,也浪费生命。
既然是 AI,就别学生物了
UCSB 的研究团队看不下去了,他们决定打破这个树状结构。
他们提出的 GEA 框架,核心逻辑就一句话:进化的基本单位不是个体,而是群体。
GEA 会从现有的档案里选出一组“父代”智能体。
选谁很有讲究,不光看谁干活快(性能),还得看谁脑洞大(新颖性)。
这一步,保证了既有稳扎稳打的,又有搞怪创新的。
接下来才是重头戏:共享经验池。
以前是单线传承,现在是全组共享。每个智能体都能看到组里其他成员的进化痕迹,包括代码怎么改的、任务怎么解的、工具怎么调的。
这就像把全组的“工作日志”都扔到了一个公共盘里。
然后,一个由大模型驱动的“反思模块”会站出来,像个精明的项目经理一样分析这些日志。
它会发现:“哎,智能体 A 发明的调试工具不错,智能体 B 的测试流程很稳。”
基于这些分析,系统生成高层的“进化指令”,指导下一代智能体的诞生。
于是,下一代生下来就集成了上一代所有人的优点,而不是只继承了某一个爹妈的基因。
有意思的是,论文作者也坦诚,这种“蜂群思维”在写代码这种有客观标准的事情上效果炸裂。
如果是搞艺术创作这种主观性强的领域,盲目共享经验可能会引入噪音,效果反而不好。
吊打基准,甚至能自我治愈
这套理论听起来很玄,那实战效果到底咋样?
研究团队把 GEA 拿去跟目前最先进的自我进化基线 Darwin Godel Machine (DGM) 刚了一下正面。
结果简直是降维打击
在 SWE-bench Verified 这个包含真实 GitHub Bug 和功能需求的硬核基准测试中,GEA 拿下了 71.0% 的成功率,而基线只有 56.7%。
这 14 个百分点的差距,在工程领域意味着巨大的效率提升。
更夸张的是在 Polyglot 代码生成测试中,GEA 干到了 88.3%,基线是 68.3%。
我个人觉得,最牛的功能还不是高分,而是它的自愈能力。
研究人员故意往智能体代码里注入 Bug,模拟“中毒”场景。
基线系统(DGM)平均需要迭代 5 次才能修好。而 GEA 平均只需要 1.4 次。
为什么这么快?
因为组里总有健康的成员,它们能迅速诊断问题,把修复方案共享给“病号”。这就好比你身边坐着一群全科专家,稍微有点毛病马上就被围起来治好了。
人类工程师的饭碗还稳吗?
GEA 进化出来的智能体,在 SWE-bench 上的表现,已经追平了 OpenHands——目前顶级的、由人类专家设计的开源框架。
而在 Polyglot 上,它更是碾压了流行的编程助手 Aider(52.0%)。
这意味着企业以后可能不需要养一大帮“提示词工程师”去没日没夜地调优智能体框架了。AI 可以自己“元学习”,自己优化自己。
而且,GEA 还能造出一种“超级员工”。
研究发现,表现最好的那个 GEA 智能体,集成了来自 17 个不同祖先 的特质,占了群体的 28%。而传统的基线智能体,最多只能整合 9 个祖先的特质。
这就是集体的力量,
且这种进化出来的能力是可迁移****的
参考链接:
https://venturebeat.com/orchestration/new-agent-framework-matches-human-engineered-ai-systems-and-adds-zero