原创 孔某人 2025-06-21 21:41 广东
对Agent学习和记忆能力的最新判断
标题称为“再谈”,是因为在2024年初曾讨论过Agent的学习能力,在2025年1月讨论过Agent的记忆能力。
本文是对上述文章的更新。
1、讨论的基础
学习和记忆都是相对模糊的词,在正式讨论之前,先明确一下本文中的一些概念。
首先本文讨论的Agent能力是着眼于中长期的,也就是大家期望的最理想的那种类人Agent。从目前的技术方案来看,其实LLM/Agent和人脑本身有非常多的共性,很多讨论同时适用于双方。
在这个目标下,学习能力和记忆能力的边界其实是很模糊的,这也是本文将它们一起讨论的原因。
对于学习能力这个概念的相关讨论,我在2024年初的 谈LLM与Agent是否有学习能力【2023Q4】就已经写了一个较长的论述,而现在1年半之后,我仍然觉得这篇文章不需要修订。即使是曾看过此文的读者也建议现在再去重看一遍。
该文包括以下内容:
学习能力
可持续学习的标准:学习过程不应损害已有的能力,也不应该损害后续的学习能力,甚至应该提升后续的学习能力。
学习的主动性
In-context learning能力的容量界限
概念的学习与新概念的创造
2、Agent的学习能力如何构建
在2024.3我在 2024Q1对自主探索能力Agent设计的思考中讨论了从当时的技术状态对于学习能力构建方式的展望,而目前来看这部分变化是最大的。
与当时的判断不同,现在我认为信息和经验的记忆方式可以是一样的,例如说都可以通过prompt的方式进行注入。
当时认为成功经验的具象化表达应该是可执行的workflow,但我现在认为在大部分场景的早期,可以直接使用文字性的 prompt workflow+tools指定来表达成功经验,并且也可以用类似的方式表达失败经验。而且这种方式还有更好的泛化性。这和当时的判断是不同的,这种workflow并不是当时说的“可执行”的workflow。
当时强调workflow中应该包括失败情况的应对,但现在推理模型已经在逐渐把这部分工作接手过去。观察一下Claude Code解决问题的方式,它可以很自然地在遇到问题时切换实现方式。
当时还提到预判模型,在不调整模型参数的情况下,预判模型似乎还不是主要的卡点,而且可以通过in-context learning的方式来实现预判模型。
总的来说,以上的方式都类似于迭代prompt,这是一种可以few-shot/one-shot learning的方式。这类似于之前传过一阵的system prompt learning,以及有了Claude Chatbot system prompt这个实例。目前还没有看到很好的system prompt自动迭代方案,但这个的可行性至少比之前大了不少。
在当时我就已经在强调RL视角的重要性,但当时还是拘泥于显性的分解步骤和想办法自动优化中间步骤的思路。但推理模型在另一条路线上实现了更快的突破。
实际上,如何切分步骤、评判每个步骤执行结果的好坏,如何把总体reward分配给每个环节都是比较困难的问题。而在一个CoT trace上端到端地进行RL则可以绕过这些问题。
相对于1年半之前,虽然现在还没有很成熟的方案解决了这些问题,但实现路径已经相对明确,我们对它们的信息也比当时强了很多。
3、记忆能力
对于推理模型来说,理论上可以在训练过程中同时对于不同目标的任务分别进行学习,来实现尽量低损失的将不同能力融合在一起。但目前前沿的推理模型仍然会出现跷跷板的情况,优化了一些能力,但以略微牺牲其他能力为代价,这个牺牲的程度是用户可见的。Gemini 2.5 Pro最近就验证了这一点。
对于纯prompt的方案,记忆的容量问题就变得更加显著,模型能够良好处理的context是有限的,越来越多的经验和记忆消耗着未来的学习能力。
目前这两路的方案都还没达到可持续性学习的标准,相对来说在模型训练过程中的融合距离这个目标更近一些,但成本太高。
3.1、从Claude Code看通用Agent的记忆
我之前就提到Claude Code现阶段是一个通用Agent产品构建的开发板。在Claude Code中,记忆是通过当前目录中存储的文件实现的,并且使用grep、rg、awk等传统文本工具进行文本检索。当然实际还需要用户进行一些目录内容的规划,构建一些中间层的表达,方便Agent进行模糊检索。
例如说,在考虑一个代码仓库,那么基于这个代码仓库反向构建出详细设计文档、高层设计文档再存储在项目目录中,并在CLAUD.md中引导Agent去参考这些文档时,这实际上就是一种语义检索的索引。而且它更加符合人的记忆习惯。这是一种用户设计的Memory方式,并且依赖于手动更新,或手动要求Claude Code进行生成。
需要特别强调的是,Claude Code没有使用大家习惯的各种传统RAG方案,例如:embedding、Elasticsearch、text2SQL+DB。(当然读者可以把LLM+grep tool叫做RAG方案,但我不会采用这种叫法。我不否认这仍然可以算成是某种广义RAG,但这已经无法用于人与人之间的有效沟通,听到RAG这个词的人一般不会理解你是在指LLM+grep tool。)
从长期来说,Agent的记忆未必要使用传统RAG的方案,Claude Code已经给了我们一个案例。可能训练LLM使用各种存储和检索类tool来作为记忆可能是更好的路径,如果要记忆的内容就是类似数据库的需求,那么让LLM去使用读写数据库似乎才是正途。
3.2、小节
在我看来,Memory的读写实际上是业务逻辑的一部分,很难有通用又高效(无法通过场景特化优化来大幅降低成本)。
而现在通过RL训练LLM来使用各种读写工具来实现Memory的成本又很高。现阶段仍然还没有很好的memory的方案(兼顾通用性、效果和成本)。
4、揣摩用户的意图/偏好
除了学习和记忆之外,其实还有一类需求是揣摩用户的意图/偏好,或者说“熟悉这个人”。标准是能预测这个人对未来一件事、一个信息的判断。
不少人把这当作是一个个性化记忆的问题,或者是用户画像分析的问题。但实际上这都无法在很高概率上成功预测。预测人性的共性需求相对容易,但预测每个用户的个性化偏好、他熟悉的领域的看法则非常困难。
实际上这对人来说也相对困难。你随便找一个持续写作或录播客1年以上的作者,尝试预测他的后续内容,看看准确率如何。这需要很熟悉的熟人之间,才能大概有个较为准确的预测。
仅凭用户(尤其是短期)的行为,要较为准确地重建其认知方式非常困难。知人知面不知心,说的就是这个。
当然也并不是说毫无希望,把用户的行为作为RL的reward model目标,应该也是可以实现一定程度的建模用户。但这种方式的成本就较高了。
5、结语
虽然本文长度比我预估的短,但主要内容都已经包括了。
本文的观点其实都不算新鲜,但我选择为什么观点站台至关重要。现在是一个想法爆炸的时代,什么观点都有人提过。但听过一个观点和相信一个观点有着本质区别。
A、附录,考古指引
我的历史相关文章:
关于学习:
从高等动物的学习过程展望 RL post-training之后的可能路径
关于Memory:
交流与合作
如果希望和我交流讨论,或参与相关的讨论群,或者建立合作,请加微信,联系方式请点击 -> 专栏简介 及 联系方式 2024。
本文于2025.6.21 首发于微信公众号和知乎,知乎链接: