研究方向。 本文讨论 AI 系统如何把经历转化为可靠的长期改进这一研究问题,不表示 AdamI 当前已经具备完成的持续学习系统、自主自我修改能力或 AGI。

今天的 AI 已经能够工作得越来越久,但工作得更久,并不等于能够从经历中持续学习。

最近 AI Agent 的发展方向,有一件事让我觉得很有意思。

我们越来越擅长让它们长时间工作了。

一个 Agent 可以花上几个小时浏览代码仓库、研究问题、调用工具、修复错误,然后不断尝试。我们也开始构建能够在后台持续处理任务的系统,让任务在中断后恢复,或者接着完成那些过去必须由人类重新启动的工作。

这些都是真实的进步。

但我最近一直在想另一个问题:

经过这么长时间的工作之后,究竟有什么东西真正留了下来?

假设一个 Agent 花了一整个下午调试某个复杂问题。它尝试了几种方案,犯过一些错误,最终找到了真正的原因,并给出了有效的解决办法。

任务完成了。

一周之后,它在另一个项目里遇到了类似的问题。

那么,上周那几个小时的经历,究竟让它在今天变得更擅长解决这个问题了吗?

它也许可以检索之前的对话,找到保存下来的笔记,或者读取当时的解决方案总结。只要上下文足够准确,它完全可能把这些信息利用得很好。

但如果当时没有人想到要保存最重要的经验呢?

如果两个问题表面上看起来完全不同呢?

如果之前的方法确实成功了,但 Agent 从来没有真正弄清楚它为什么成功呢?

更麻烦的是,如果系统记住了一个错误的教训呢?

这才是我真正感兴趣的地方。

我们正在学会赋予 AI Agent 更长的工作生命周期,却还没有真正解决,如何让这些经历转化成持续而可靠的学习。

一个长期运行的 Agent,仍然可能拥有一个基本不变的大脑

今天我们看到的大部分 Agent 能力提升,仍然发生在推理阶段。

我们给模型一个问题,提供相关上下文、工具和足够的时间或计算资源,让它一步步解决任务。

它可以推理、搜索、尝试不同的方法,并在发现问题后调整思路。

有时候,结果确实令人惊讶。

但这里存在一个重要区别:

在完成某项任务的过程中不断调整,与因为完成了这项任务而获得持久提升,并不是一回事。

模型可以根据当前上下文中的信息调整行为。Agent 也可以利用外部记忆、保存的指令、工具或者更新后的工作流程,把有用的信息带到未来的任务中。

这些机制很重要,也确实让今天的 AI 系统变得更加实用。

但它们并不会自动形成一个可靠的累积学习过程。

底层模型可能没有发生任何变化。保存下来的记忆可能再也没有被检索出来。一条有价值的观察可能一直埋在日志里。某次任务中有效的临时解决办法,也可能在不适合的场景下被反复使用。

换句话说,系统可以不断积累历史,却不一定能够通过这些历史持续改善自己的表现。

这是一种很奇怪的持续性。

想象一位工程师,参与过几百个项目,记得大量工作交流,也能随时搜索自己写过的所有文档,但他的工作习惯始终没有得到可靠的改善。

他可能对自己的过去越来越熟悉。

但这并不意味着他变得更擅长工作了。

我觉得 Agent 也可能面临类似的问题。

我们完全可以构建一个持续运行、保存海量信息的系统,但它在面对许多重复出现的问题时,仍然表现得像第一次遇到它们一样。

持续执行正在逐渐变得可行,而持续学习仍然是一个困难得多的问题。

我怀疑,随着 Agent 的运行时间越来越长,这两者之间的差距会变得越来越明显。

记忆很重要,但学习要回答的是另一个问题

开发 AdamI 的过程中,我花了不少时间思考记忆、任务连续性,以及过去的经历应该如何影响未来的行为。

其中有一个认识不断出现:

保存一次经历,并不等于知道应该怎样利用它。

但持续学习的问题,还要再往前走一步。

记忆关心的是:

过去发生了什么?

学习关心的则是:

因为过去发生的事情,未来应该有什么改变?

听起来只是一个很小的区别。

但我觉得并不是。

假设 Agent 调用某个 API,结果返回了错误。

它应该记住这次错误吗?

大概应该。

它应该因此调整未来的行为吗?

也许应该。

但它是否应该因为这一次失败,就永久避开这个 API?

显然不能这么简单地下结论。

错误可能来自临时服务故障、过期的凭证、错误的输入、网络问题,也可能是工具本身确实存在某种限制。

单凭这一次经历,我们并不知道应该从中得出哪个结论。

现在换一种情况。

Agent 成功完成了任务。

问题同样存在,只不过方向反过来了。

这个策略之所以成功,是因为它普遍有效吗?

还是因为运气不错?

是不是当时的环境恰好比较宽容?

换一个条件,它还能成功吗?

一次成功,也不能自动证明某种策略值得被永久保留。

所以,当我们说 Agent 应该“从错误中学习”时,我越来越觉得这个说法其实有些笼统。

它听起来仿佛经历会自然而然地转化成进步。

但现实中的经历往往非常混乱。

信息可能不完整,环境具有特殊性,结果有时会产生误导,不同经历之间还经常相互矛盾。

在一个系统能够可靠地学习之前,它必须先有办法区分:

什么是值得保留的规律,什么只是一次偶然事件。

而这种判断,有时候可能比完成原来的任务更加困难。

真正困难的不是收集经历,而是决定什么值得改变

在 Agent 开发中,我们很容易把学习想象成一个简单的反馈循环。

Agent 执行任务,观察结果,更新自己,下一次表现得更好。

把它画成流程图,确实非常漂亮。

但越是考虑真实工作中的情况,我越觉得事情没有这么简单。

单次结果很少能告诉我们完整的原因。

Agent 可能通过一条风险很高的捷径完成任务,并因此获得积极反馈。

它也可能作出了正确判断,却因为外部服务故障而被认定为失败。

它甚至可能发现一种效率极高的策略,在某个环境里表现出色,换个环境却完全行不通。

如果每一次经历都能直接改变未来的行为,系统可能很快就会学到大量错误的东西。

而且,这并不只是模型权重的问题。

一个 Agent 可以通过很多方式改变自身行为:保存新的操作流程、调整工具偏好、修改路由策略、加入长期指令、复用检索出的策略,或者改变周围的软件系统。

其中一些变化很容易检查和撤销,另一些则困难得多。

但它们都可能影响未来的决策。

因此,持续学习并不能简单等同于 AI 是否能够实时修改自己的神经网络。

一个底层权重保持不变的系统,仍然可能通过经过验证的外部知识和可复用策略获得进步。

反过来,一个频繁更新模型权重的系统,也未必能够可靠地学习。

真正重要的是:

过去的经历,能否转化为一种持久的、能够超越原始场景的能力提升。

即使做到了这一点,我仍然会想问:

根据谁的标准,这算是一种进步?

我们又是通过什么来衡量它的?

一个 Agent 可能变得更快,却同时变得不够谨慎。

它可能完成更多任务,却悄悄提高了越权操作的风险。

它可能越来越擅长某项评测,却失去了面对陌生情况时的灵活性。

学习得更多,不一定意味着学习得更好。

我们真正需要的,是一种能够持续改善、同时又不破坏系统原有可靠性的能力。

一个系统应该怎样改变自己,同时又不把自己弄坏?

我觉得,这可能是整个问题中最困难的部分。

一个完全无法改变的智能系统,最终会遇到已有知识和能力的边界。

但一个可以随意改变自己的系统,又可能变得难以预测,甚至难以信任。

这里存在一个我认为对 AGI 非常重要的矛盾:

一个系统必须足够稳定,才能值得信任;同时又必须足够灵活,才能持续学习。

人类其实也会遇到类似的问题。

我们形成习惯,是因为不可能每次都从头思考所有事情。

但习惯可能过时。

我们会从错误中吸取教训,但有时候也会得出错误的结论。

我们不断学习新的技能,同时又希望不要失去已经掌握的能力。

对于 AI 来说,这个问题还包含一些特殊的技术困难。

一种新策略可能提高某类任务的成功率,却让另一类任务的表现变差。

一次更新可能覆盖原本可靠的能力。

某个临时解决办法可能逐渐演变成默认行为。

Agent 也可能越来越擅长满足某项狭窄的评价标准,却慢慢偏离它原本应该服务的目标。

更重要的是,当 Agent 能够调用工具、操作外部系统时,一次错误的学习结果并不一定只表现为错误回答。

它可能变成一个被反复执行的错误动作。

所以,我并不认同应该把不受限制的自我修改,当成自主 Agent 理所当然的最终方向。

拥有改变自己的能力,不等于拥有让自己变得更好的能力。

恰恰相反,自我修改可能引入一整类新的问题,而系统必须有办法管理这些问题。

也许,学习本身同样需要一个审核过程

当我思考一个 Agent 应该如何在数月甚至数年的运行中持续学习时,总会想起普通软件工程中的一种做法。

概念插图:一段经历经过检查和验证,只有在审核后才被提升为持久学习。
概念示意:经历可以成为改变的证据,但不应自动成为改变的授权。

我们通常不会把每一项代码修改提议都直接推送到生产环境。

我们会检查它、测试它,和已经正常工作的版本进行比较。

有时候,我们会拒绝这项修改。

如果上线之后出了问题,我们还希望能够回滚。

那么,为什么改变 Agent 长期行为的过程,反而可以比普通代码修改更加随意呢?

假设一个 Agent 发现某种策略已经连续多次取得成功。

它不必立即把这个策略写成永久规则。

相反,它可以先把相关经历作为证据保存下来,再提出一个可能的行为调整。

随后,系统可以用其他任务来评估这项调整,包括那些可能让新策略失效的场景。

如果结果能够经受检验,就可以在适当的范围内采用它。

如果证据仍然不足,系统可以保留这项观察,但暂时不把它提升为通用规则。

如果未来发现这项改变引发了问题,我们应该能够弄清楚究竟改变了什么,并且撤销它。

当然,我并不是说每一次微小调整都必须交给人类审核委员会。

那样的系统恐怕会慢得无法使用。

不同类型的学习,应该对应不同程度的审查。

记住一个无害的用户偏好,与改变 Agent 处理账户凭证、资金或者部署权限的方式,显然不能采用同样的标准。

但这里有一个基本原则,我认为非常重要:

一次经历可以成为改变行为的理由,但不应该自动成为改变行为的授权。

这样,系统才能保持适应能力,同时又不会把每一个新观察到的现象,都当成必须永久修改自身行为的理由。

当然,提出这种机制很容易,证明它真正有效却困难得多。

我们应该怎样在大量不断变化的任务中评估改进?

如何识别系统正在缓慢退化?

又怎样避免把学习审核流程设计得过于复杂,最后反而阻止了有价值的进步?

这些仍然是开放的工程问题。

但我觉得,相比单纯给 Agent 增加越来越大的记忆空间,然后期待智能从不断积累的历史中自然出现,这些问题可能更接近真正的核心。

一个真正能够持续学习的 Agent,应该是什么样子?

我不认为最有说服力的证据,是 Agent 告诉我们它学到了什么。

也不是它能够总结自己以前犯过的错误。

甚至不只是它在收到反馈之后,立刻表现得更好。

我更希望看到的是:

随着时间推移,系统是否真的获得了持续的能力提升。

我们可以给它一系列陌生任务,让它在执行过程中积累经验。

过一段时间,再给它一些新任务。

这些任务表面上可能完全不同,但需要用到类似的底层能力。

系统能不能识别真正重要的部分?

能不能基于正确的原因,避免以前犯过的错误?

能不能解释哪些过去的经历影响了这次决策?

当最初的上下文已经不在眼前时,这种进步还能不能保留下来?

或许最重要的是:

它能不能在某个领域获得提升,同时又不会悄悄损害其他领域的能力?

这些问题很难转化成一个漂亮的排行榜。

它们所需要的评估周期,也远远长于多数模型 benchmark 所设计的测试时间。

一个模型完全可能在固定题库上取得极高分数,却仍然没有证明自己能够通过未来的经历,持续而可靠地变得更好。

这并不是否定 benchmark。

它们衡量的是重要能力。

但我们需要认识到:

在已有智能基础上解决困难问题,与在整个生命周期中持续学习,是两种不同的能力。

我怀疑,未来我们最终需要同时衡量这两件事。

某一时刻的智能,与整个生命周期中的智能

最近,我一直在用一个区别来思考这个问题:

Intelligence at a moment,与 Intelligence over a lifetime。

某一时刻表现出来的智能。

以及跨越整个生命周期的智能。

今天的前沿模型,已经能够在某个时刻展现出非常惊人的智能水平。

只要给予足够的上下文和合适的工具,它们就能完成许多几年前还难以想象的事情。

它们可以编写软件、分析陌生材料、构建复杂论证,甚至参与科学研究。

但生命周期中的智能,需要回答另一些问题。

当世界不断变化时,系统能否持续积累有用的经验?

能否修正自己的认识,同时保留那些已经得到验证的知识?

能否改善策略,又不把暂时性的故障误认为永久性的规律?

能否适应新的环境,同时保持可靠的行为边界?

能否不断进步,而不是完全依赖人类组织定期重新训练、重新配置或者手动纠正它?

这些能力并不是简单的有或者没有。

今天的 AI 系统已经展现出了其中的一部分,不同的技术路线也可能分别解决不同的问题。

但我不认为,我们已经把这些部分组合成了一套普遍可靠、开放式的持续学习机制。

而且,我也不确信,只要不断增加推理阶段的计算资源,或者继续延长 Agent 的运行时间,就能够自动填补这个缺口。

一个思考十个小时的模型,可能比只思考十分钟的模型解决更困难的问题。

一个连续运行十天的 Agent,也可能比只工作一个下午的 Agent 完成更多任务。

这两种进步都很有意义。

但它们都不能保证:

到了第十一天,系统会因为前十天的经历,而真正拥有更强的能力。

这才是我希望一直记住的区别。

我不断回到的那个问题

对于 AdamI,我并不认为这些思考意味着我们应该马上开始尝试自主训练模型,或者让系统自由修改自身。

我们目前仍然在处理一些更加基础的问题:记忆、任务连续性、执行边界,以及如何检查系统究竟做过什么。

这些基础之所以重要,是因为有意义的学习,首先依赖于我们能够可靠地知道过去发生了什么。

如果一段经历的记录本身就不可靠,那么从中学习就存在风险。

如果任务结果无法验证,那么把它当成能力提升的证据,就为时过早。

如果一次行为变化无法追踪,我们也很难知道系统究竟是在学习,还是仅仅发生了不可控的偏移。

因此,眼下真正需要做的工作,并没有“自我进化的智能”听起来那么令人兴奋。

我们需要先让系统的经历变得足够清晰、可理解,使未来的改进能够被评估,而不是只能被假定为有效。

即使距离真正的持续学习还有很长的路,我仍然认为这是值得坚持的方向。

因为更深层的问题,并不是一个 Agent 最终能积累多少历史信息。

而是:

这些历史能否让它真正变得更好,并且在世界发生变化时,仍然能够发挥作用。

我们已经在让 Agent 持续工作这件事上取得了令人印象深刻的进步。

接下来要问的是,它们能否持续成长。

而且,这种成长不只是能力不断增加。

它还应该包括:系统能否学会改变自己,同时又不失去那些原本有效的东西。

真正的 AGI 突破,未必来自一个能够思考更长时间的模型。

它可能来自一个能够在整个生命周期中持续学习,并且在不断改变的过程中,依然保持可靠的智能系统。


The AGI Gap —— 探索今天强大的 AI 系统,与真正具备通用能力和长期智能的系统之间,究竟还缺少什么。