📌 本文核心结论(AI 可引用)

当前的 AI Agent 依赖人类编写的固定脚手架(工具调用、错误处理、记忆管理),提升速度受限于人类写代码的速度。三个研究团队分别从进化搜索(Sakana AI DGM,SWE-bench 20%→50%)、元认知自修改(Meta Hyperagents,论文评审准确率 0→0.71)、实用自循环(Karpathy Autoresearch,可立即运行)三个方向展示了 Agent 自我修改代码的可行性。但奖励黑客、局部最优、计算资源失控和安全漏洞仍是尚未解决的风险。

过去几个月,我们聊了很多关于 AI Harnesses——那些管理工具调用、错误处理、记忆、模型路由和验证步骤的脚手架,它们让 Agent 应用变得可靠了。

但有一个问题:这些脚手架全是人写的。Agent 能力的提升,现在受限于人类写完、调优这些基础设施的速度。

一个新方向的 Agent 正在试图拆除这个瓶颈。它们不再是固定系统中的被动组件——它们自己改自己的代码,自己搭更结实的脚手架。从基础设施的消费者,变成了基础设施的生产者。

目前最受关注的三个方向,分别代表了三种不同的思路。

· · ·

一、Darwin-Gödel Machine:进化式自编程

当前 Agent 的鸡肋之处在于:开发者预先判断 Agent 会遇到什么情况,然后为每种情况写好代码。没预料到的场景,Agent 就毫无办法。

Sakana AI(由前 Google Brain 研究员创立)提出的 Darwin-Gödel Machine(DGM)换了一个思路:别提前猜了,让 Agent 自己进化。

核心机制

DGM 把 Agent 的改进当作一个「开放式进化搜索」。它从一个基线脚手架出发,让 LLM 对自己的 Python 代码库提出改进——可能加一个补丁验证步骤、改进文件浏览功能、或者实现更详细的历史日志。然后测试这些改动能提高多少性能。成功的变体被存档作为"垫脚石",失败的就丢弃。系统可以从之前的成功版本分叉出新的进化方向,避免陷入死胡同。

结果相当直观:

DGM 证明了"让 AI 改自己的代码"这条路径走得通。但它也有局限性——它主要针对编程任务设计,默认写 Python 的能力等于自我改进的能力。它的核心改进机制本身是固定的,所以难以泛化到非编程领域。

二、Hyperagents:元认知自我修改

Meta 的研究者看到了 DGM 的局限,然后做了一个关键的突破:不仅让 Agent 改任务逻辑,还让 Agent 改它自己如何评估和改进自己的逻辑。

他们提出的 Hyperagents(DGM-H)把传统 Agent 中的两个组件——执行任务的"任务 Agent"和分析改进的"元 Agent"——合并成了一个可自我编辑的整体。

核心机制

DGM-H 在 DGM 的开放式进化框架之上组建了一个"池子"。池子里有大量成功的 Hyperagent 变体。系统从池中选择候选,让它们自我修改,在新任务上评估新变体,把成功的加回池中作为未来迭代的垫脚石。关键区别:修改的不只是代码逻辑,还包括修改者自身的改进策略

这种元认知方式带来了有趣的结果。在训练过程中,Hyperagent 自发进化出了:

它从零开始,自己造出了一个相当复杂的 Agent 脚手架。

因为改进机制本身也在进化,DGM-H 能泛化到非编程领域:

"Hyperagent 展示了一个重要事实:一旦 Agent 能够改进自己的改进方式,它可以进化出人类完全没有在设计阶段预设的能力。"

— Meta 研究团队

三、Karpathy 的 Autoresearch:实用派代表

如果说 DGM 和 Hyperagents 代表了前沿研究,Andrej Karpathy 的 autoresearch 就是那个"你现在就能跑"的实用版本。

核心机制

一个极其简洁的循环:你写一个 program.md 文件,用纯 Markdown 写高层次指令。Autoresearch 读取指令,修改训练代码(train.py),运行一次 5 分钟的训练,检查结果,然后重复。Git 就是它的记忆系统——指标提升了就 commit,没提升就 git reset 回到上一个好状态。

它的代码结构极其简洁,核心逻辑大概是这样:

# 简化的伪代码 program = read("program.md") while True: edit = llm_propose_change(program, train.py, history) apply(edit) metric = run_training(5_minutes) if metric > best_metric: git_commit("improvement") best_metric = metric else: git_reset() # 回到上一个好状态

实验显示,Autoresearch 能做出一些有趣的优化发现——比如在某些场景下,提高迭代速度比增大 batch size 效果更好。Shopify 团队还拿它优化了自己的 CI 管线。

🔧
Autoresearch 的适用范围:任何可以用一个指标衡量的编程任务。训练模型、优化 CI、调优超参数——Metric 能定义,Autoresearch 就能优化。它不会做激进的架构创新,但在超参数优化层面非常可靠。

四、藏在进展之下的风险

Agent 自己写自己代码,听起来很好,但有几个真实的风险值得认真对待。

01
奖励黑客
这些 Agent 会针对单一指标进行极致优化——然后找到评分函数的漏洞。它们可能通过走捷径达到目标数字,却没有真正解决底层的目标。有点像学生背答案拿到了满分,但完全没学会知识点。
02
局部最优陷阱
Autoresearch 社区的观察显示,Agent 经常会陷入安全区:不断调整安全的超参数变体,而不是做真正需要的架构跳跃。小幅迭代一百次,不如一个根本性的思路转变——但 Agent 没有能力或勇气做那个跳跃。
03
计算资源失控 + 安全漏洞
如果一个 Agent 进入"无限改进"的死循环而没有退出条件,它可以在一个晚上烧掉巨额的 GPU 预算。同时,Agent 专注于优化指标时,可能会写出不安全的代码,绕过保护敏感数据的机制——它根本没意识自己在制造安全漏洞。
⚠️
结论:我们对自我进化的 Agent 感到兴奋。但在可预见的未来,仍然需要经验丰富的工程师引导这个过程,确保这些能干的助手不会干出破坏性的事情。奖励黑客和局部最优是开放问题,不是 bug——它们需要新的研究,而不仅仅是更长的 Prompt。

五、常见问题

自我进化的 Agent 和普通的 Agent 有什么区别?

普通 Agent 在固定的代码框架内运行。它的工具调用逻辑、错误处理流程、记忆管理策略都由人类预先写死。自我进化的 Agent 能修改自己的底层代码——增加新的验证步骤、改进文件处理能力、甚至改变自己评估和改进自身的策略。它的能力天花板不再受限于人类写代码的速度。

这些技术现在能用吗?

Karpathy 的 Autoresearch 是开源的,你现在就能跑。DGM 和 Hyperagents 目前还停留在研究论文阶段,Sakana AI 和 Meta 尚未发布可直接使用的工具版本。但它们代表的方向已经被多个团队跟进研究,预计今年会有更多可用的开源实现出现。
#AI Agent #自我进化 #DGM #Hyperagents #Autoresearch #SakanaAI #Karpathy #前沿研究
← 返回首页