深度解析AI的记忆机制,Hermes的自我进化机制和Skill是记忆的延伸。

记忆 AI 上下文 Skill L4
发布于 2026-06-11
3

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读
AI 到底有记忆还是没有记忆呢?记忆又是怎么产生的?
这周看了很多的资料,结论是AI有记忆,但不是我们人类的模式。
它不是在像人一样记住你,它是在每次对话里重新认识你。
记忆是 AI 产品都必须面对的工程难题:如果 AI 不能可靠地"记住"用户,那它的"懂你"就只是一次性的表演,而不是可持续的体验。
所有 AI 助手、编程 Agent、客服机器人的个性化能力,都建立在这个基础上。搞不清它的机制,你连龙虾、爱马仕为什么突然"失忆"可能都很难排查。
记忆的本质还是工程。

记忆,到底是怎么产生的?

记忆,从工程的角度至少覆盖了四件不同的事情,但我们在不同场景下都叫它记忆,所以也会产生一些误解。
就像我们手机里的聊天记录、备忘录和身份证,虽然都算是存着你的信息,但它们的保存方式、使用场景却完全不同。
记忆大致能够区分成这4个层级:
层级
名称
本质
L1
会话窗口
当前会话里的所有内容都在上下文里,对话不断,上下文不断
L2
压缩摘要
上下文快满时对历史内容做总结,再好的总结都会丢失细节
L3
可检索档案
过去所有的会话信息被存储下来,需要时按语义或关键词去检索相关片段
L4
长期记忆
用户主动要求记住的内容,或是系统从会话中提炼出来写入持久规则的信息
简单来说:L1 和 L2 管的是聊天窗口,也就是我们和豆包、龙虾聊天的地方,它解决的是在当前会话里AI能记住多少内容。
L3 负责的聊天历史,过去聊过了什么,又要查到什么。L4 则是核心信念,关于你这个人,最值得永远记住的是什么。AI又要永久的以什么方式运作。
它们解决的不是同一个问题,实现方式也完全不同。L1 是上下文工程,L2是上下文的压缩策略,L3 是存储和检索系统,L4 是记忆、规则的形成与筛选机制。
它们共享了记忆这个名字,但却不能够混为一谈。

这四层分别是怎么工作的

L1 会话窗口及L2 压缩摘要

在查看 AI 的接口文档时,能看到模型的上下文长度,它的意思是模型一次能够处理的总Token量。
只要不新开对话窗口,你说的每一句话、模型的每一次思考、工具调用、模型的输出,全部都留在这个窗口里。
这就是最原始的AI记忆机制,非常的简单直接,模型能工作的窗口越长,注意力机制越好,那它就能记住我们的对话。
但缺点是我们新建一个对话就没有了,而且这个窗口是有上限的,超出上限或者用量达到 50-80% 时,早期的消息就可能会丢失或者截断。
更关键的是窗口里内容越多,模型受到的干扰越大,理解你当前问题的能力就越差。
所以对上下文窗口的管理策略变得重要:什么时候压缩、压缩什么、丢弃什么,这些决策直接决定了 AI 能不能在长对话里保持清醒。
例如最近爆火的 Hermes,它的策略是:当上下文使用量到 50% 就触发压缩机制。不是等到上下文爆炸了再去救火,而是提前把旧对话进行结构化的总结,让模型始终工作在干净的上下文里。
这个设计的逻辑是:与其让模型在满载状态下艰难工作,不如主动牺牲一部分历史细节,用来换取AI提升对当前任务的理解。
但压缩是有代价的,当上下文达到阈值,系统会对历史内容生成一份概括性的总结。你和 AI 讨论了 X 项目的架构,决定用 Y 方案。但总结之后它只记得结论,不记得推导过程,你再追问细节,它很可能答不上来。
不是它忘记了,而是那段信息在压缩总结的时候已经被丢弃了。

L3 可检索档案

所有的对话历史都可以被存储下来,变成可检索的档案。这一层要解决的问题是:存什么内容,以及什么时候、用什么方式检索
OpenClaw龙虾的做法除了直接存储原始对话,而是基于每一天的对话生成一份记录。
当需要回忆某件事时,可以先通过时间缩小搜索范围,再通过理解你的意思去查询相关的内容,最后把查到的内容重新让AI看一遍。
所以当你发现 AI 失忆了,可以先排查这三个环节
  • 内容有没有被存下来,或者存储的格式是否完整。
  • 内容存下来了,但检索的时候有没有查到
  • 内容被查到了,但没有被允许放进当前会话的上下文,因为窗口空间有限,系统可能判断这条信息对当前对话不够重要。
这三个环节是一条完整的工程链条,任何一个断裂都会导致AI 的失忆。

L4 长期记忆或规则

长期记忆,是需要持久存储的最核心的记忆。
AI 在这一层做的事情是提炼:从大量对话里挑出真正值得永远记住的东西,写进用户偏好、项目规则或者系统提示里。
编程类的 Agent,比如 Claude Code,会把规则结构化地写入全局的 CLAUDE.md;豆包、ChatGPT 等通用 AI 则是单独的记忆记录,承载用户让它记住或者系统提炼出来的内容。
L4 的信息极少,也是最稳定的记忆形式。它不需要被动检索才能触发,每次启动都被自动加载,相当于 AI 的出厂设置,额外写进去了关于你的核心认知、你要求的规则。
但它的代价是:每一条长期记忆都永远占用一部分上下文空间。
所以长期记忆的核心挑战不是能存多少,而是该存什么。
什么都记住和什么都没记,结果是一样的,无关的信息挤占了窗口空间,反而让 AI 在处理当前任务时更迟钝。
这四层是彼此独立的。
L2 压缩出了语言偏好的总结,不等于它会自动进入 L4 成为长期记忆。L4的信息太少,也支撑不了完整的历史回忆。
我们在设计Agent的时候,不能指望一层解决所有问题,每一层都有自己的职责和局限。

记忆是怎么重新出现的

理解了四层记忆各自的机制,那下一个问题是:既然模型本身没有持久记忆,那它每次对话时看起来"记得你"的体验,到底是怎么产生的呢?
大模型不会自己学习你的行为,不会在你没告诉它的情况下理解你的偏好。
它在每一轮接收到你的信息时,重新读取一遍和你有关的内容。而它读到什么,是由工程的来决定。
这里会包含两类内容:
一、每次都能看见的内容
系统提示词、长期记忆(L4)、环境变量、Skill 定义等等——这些属于无论如何都往上下文里注入的内容。
每一家 Agent 的策略不同:Claude Code 有一整套上下文注入的机制,包括你是谁、CLAUDE.md、工具列表、环境说明。
它的默认注入量不会太多,因为每多注入一条,就多占一点空间。
第二个部分是按需检索的。
我们问AI:"你还记得我上周说的那个方案吗?"
系统会触发 L3 的检索流程:先根据时间范围缩小目标会话,再用语义或关键字匹配那段聊天,把找到的内容给模型看一遍,让模型在这个基础上回答你的问题。
而 Skill、MCP 也是 AI 通过匹配用户的问题和工具的描述进行调用,同样属于按需加载的范畴。
这两类机制组合在一起,让模型产生了"它记得我"的体验。

Skill是记忆的延伸,是AI的另一种自我进化

爆火的 Hermes,GitHub 的 Star 达到了 14.8 万,接近 OpenClaw 的一半。
它当时爆火的原因之一是:自我进化
它会评估完成得不够好的任务,自动生成一个 Skill,在未来遇到同类任务时调用那个 Skill 来提高表现。于是你会觉得它越用越好用,因为同类任务的出错概率被系统性地降低了。
这其实符合 LangGraph对记忆的分层抽象:它把 memory 拆成短期的 checkpoint 和长期的 store,再将长期记忆细分为 semantic(事实)、episodic(经验)、procedural(说明)。
三者分工不同:semantic 类似所有发生过的事,需要时可以回忆。episodic 类似 Skill,把不常用但需要的东西变成可加载的技能,保证记忆的干净和效率。
procedural 类似系统提示词或 CLAUDE.md,是全局不可违背的规则,通过自我改进持续优化。
Skill 的出现不是偶然。它解决的是长期记忆(L4)的一个核心矛盾:规则太多、太长尾,有的可能只用一次。
在以前,我们会把所有规则都塞进 CLAUDE.md。但规则多了,上下文就会特别臃肿。有些规则只会在特定场景下用到,全局加载会很浪费。
我们的人生经验也不会全部写到日记里随身携带,信息太多反而找不到重点。

Skill 把经验从规则里分离了出来。规则是全局生效的禁令和约束,Skill 是按需加载的专项能力。需要的时候再进行使用,不需要的时候不会浪费上下文的空间。
这么看来,系统提示词是 Agent 的核心行事本能,全局规则是在这套机制上的约束,而 Skill 则是按需使用的经验。
对于构建 Agent 真正的挑战是对这些记忆进行分层治理
对于上下文(L1/L2),你要进行存储和压缩的策略设计。
对于长期记忆(L4),你需要决定是几条精炼的规则,还是类似 OpenClaw 的 User.md 式结构化记录。
而到了运行规则层面,系统提示词、全局的 CLAUDE.md、Skill 三者的边界在我们自己构建的 Agent 里又该怎么划分呢?
在决定把一条信息放在哪里之前,我们可以先问自己:这是一个应该全局禁止的教训,还是一个只对某一类任务有价值的经验?
如果是后者,把它写成 Skill,不要把它塞进规则。
如果我们希望更改 AI 的思维方式、优先级比规则更高的东西,那就应该放在系统提示词里。

最后

下一次当你遇到 AI 忽然失忆了,其实不是它变笨了。
如果用工程来解读记忆:注意力机制是一种计算架构,上下文窗口是信息边界,记忆的写入是提取规则,记忆的检索是索引和排序。
人类替 AI 设计了一整套系统,让它知道什么时候该记忆、什么时候又该遗忘。
AI:很高兴重新认识你,我的朋友。

Becomewiser