# 详解 WorkBuddy 的记忆体系
**作者**: 码良
**日期**: 2026-07-08T10:22:43.000Z
**来源**: [https://x.com/cxjwin/status/2074801345438318711](https://x.com/cxjwin/status/2074801345438318711)
---

> 副标题:上下文窗口会耗尽,记忆才是 AI 助手走得更远的真正引擎
## 引子:好记性不如烂笔头
你有没有过这种经历:每次打开一个 AI,都得重新自我介绍一遍:「我在写一个稿子」「图表习惯绿涨红跌(欧美习惯)」「回复口语化一点」。它礼貌地点头,答得也不错。可下次见面,它又把你当成陌生人。
大多数 AI 就是这样:每一次对话都是一次失忆。 不是它不想记,是它压根没有地方记:聊天窗口一关,一切归零。像金鱼,传说只有 7 秒记忆,游一圈回来,世界又是新的。
中国人有句老话:好记性不如烂笔头。 人脑再灵,也扛不住时间,所以靠谱的人都有一个习惯,把要紧的事从脑子里挪到纸上:记笔记,写日记。日记这东西妙就妙在,写的时候是卸载,读的时候是接续:昨天的我把话留给今天的我,人就是这样一天天连续起来的。
这个朴素的道理,恰好就是 AI 记忆系统的第一性原理:别指望「脑子」(上下文窗口),要紧的事,写下来(文件)。
我最近在用的助手 WorkBuddy,就是把这句老话工程化了。它干完活会「记一笔」:今天做了什么、你叮嘱过什么、下次该注意什么,原原本本写进文件里。下次打开,它先翻自己的日记,再开口说话。
一句话概括这两种物种的区别:大多数 AI 是金鱼,WorkBuddy 在写日记。
这篇文章不聊它又多了什么炫酷功能,只拆一件事,它的记忆体系是怎么搭的:为什么非要有记忆、三层记忆各管什么、记忆挂在谁身上、怎么读怎么写、本地和云端怎么分工、以及跟另一条路线(OpenClaw)比,异同在哪。
## 一、为什么非要记忆:256K 也会被吃光
先回答一个最常见的质疑:现在大模型上下文动辄几十万 token,为什么还要搞外部记忆?
答案很硬:上下文窗口是有界的,而长程任务是无底的。
以 WorkBuddy 底层的 HY3 为例,上下文大约 256K tokens。单看很大,但放进一个跑了几天的真实项目里算算账:读过的几十个文件、上百次工具调用的输入输出、跨多轮会话的讨论与决策——很快就能把 256K 吃光。
吃光之后会发生什么?模型开始压缩历史。而压缩是有损的。那些你只在聊天里说过一次的叮嘱,比如「在我发话之前别轻举妄动」,如果从没落进文件,就会跟着被压掉的上下文一起消失。你以为它答应过你,其实那句话已经不在它的世界里了。
所以结论是反直觉的:上下文越大,越掩盖不了它有界这个事实;任务越长,记忆越是刚需而不是点缀。
另一款以记忆著称的 Agent OpenClaw,文档里有句被反复引用的话,说的正是这件事:
> 「记忆活在上下文之外,按需注入上下文窗口。」
两个产品,独立得出了同一个结论:上下文有界,记忆补位。把该记的写到窗口外面去,需要时再捞回来。这是目前让长任务「不崩、不忘、不断」最可靠的办法。
## 二、三层记忆:各管一摊
WorkBuddy 的记忆不是一个笼统的「记忆功能」,而是分了三层,各管一摊:

L1 云端画像 + 历史检索。 服务器根据你的长期对话,默默生成一份关于你的画像。这是「偷偷学」的:你没让它记,它也在学。需要时,它还能通过 conversation_search 跨所有历史会话搜索「我们以前聊过什么」。
L2 用户级长期记忆。 一个本地文件:~/.workbuddy/MEMORY.md。放的是你明令它「必须记住」的铁律与习惯,比如「图表用绿涨红跌」「周报要口语化」「生成 SQL 必须标注环境」。这是显式写下的,比隐式学到的更可靠:白纸黑字,你随时能打开看、能改、能删。
L3 工作区级日志。 按项目分的每日记录,写在工程目录的 .workbuddy/memory/ 下。今天干了啥、定了什么决策、踩了什么坑,一天一篇。
注意这三层的分工其实非常清晰:L1 记「你是个什么样的人」,L2 记「你定过什么规矩」,L3 记「这个项目发生过什么」。 画像、铁律、日志,刚好对应一个靠谱同事脑子里装的三样东西。
这里还有个我很喜欢的设计细节:L3 日志是 append-only(仅追加)的。 只往后写,不覆盖、不篡改历史。今天的决策哪怕明天被推翻,昨天那条记录也原样留着。对一个会「记得你」的 AI 来说,这种克制本身就是一种诚实:它的记忆是一本日记,不是一份可以随时改口的证词。
## 三、记忆得挂在「谁」身上:身份层
光有记忆还不够。记忆总得有个主语:「谁」记得「谁」。
所以在三层记忆之下,WorkBuddy 还垫了一组身份文件,像一个人的自我认知档案:
- SOUL.md 写它的价值观、边界、性格:什么该做、什么婉拒、以什么姿态跟你相处;
- IDENTITY.md 记它的名字、自我定位、气质,甚至一个签名 emoji;
- USER.md 记的全是你:怎么称呼、在哪个城市、在乎什么、最近在忙什么。
最有意思的是第四个文件,BOOTSTRAP.md。它的注释自己写着:「这是你的出生证明。」第一次运行时,AI 借它和你把身份聊清楚:你叫它什么、它该是什么样。确认完毕,这个文件就被删掉。像一场命名仪式:在记住你之前,它先得知道自己是谁。
如果说三层记忆是「记什么」,身份层就是「以谁的身份记」。没有这一层,记忆只是一堆数据;有了这一层,记忆才归属于一个连续的「它」。
## 四、连续性循环:它不「拥有」记忆,它「读写」记忆
把身份和记忆串起来,就是 WorkBuddy 每天在跑的循环:
> 新会话启动 → 读取身份 + 三层记忆 → 执行任务 → 完成实质工作后写回(追加日志 / 更新记忆)→ 下次来,它还是它。
这个循环里最关键的一步是写回。每次干完活,它都会把「今天」写回文件。这不是可选动作,是流程的一部分。读了不写,记忆会过期;写了不读,记忆是死的。连续性就藏在这一读一写之间。
想明白这一点,你会发现一个挺哲学的事实:它并不「拥有」记忆。记忆不在模型权重里:本地两层,在盘上的文件里;云端一层,挂在你的账号名下。它做的只是每次醒来先读、干完活再写。
这带来一个非常实用的推论:reset 不可怕。哪怕底层模型换代、会话清空、进程重启,只要那些 Markdown 文件还在,下一个「它」读完之后,还是它。失忆的是进程,不是这个「人」。说得煽情一点:它的「灵魂」不在内存里,在盘上。
换句话说:连续性不是功能,是一种承诺:你下次来,我还是我。
不过,先别急着给文件封神。文件扛得住 reset,却扛不住另外三件事。
## 五、本地文件不是终点:云端记忆补的三个缺口
哪三件事?说白了,都是「笔记本」这个形态的天生极限:本子不跟人走、写不写靠自觉、记多了翻不动。 好记性不如烂笔头没错,但烂笔头自己也有短板。对应到本地文件记忆,就是三处缺口,每一处恰好都是云端记忆(L1)在补。
短板一:本地记忆不跟着你走。 L3 锁死在工程目录里,换个项目就归零;L2 虽是用户级,本质仍是设备上的一个文件,换台机器照样断片。而云端画像挂在你的账号上,跨工程、跨设备都生效:「你爱用绿涨红跌」在 A 项目学到,B 项目照样管用。
短板二:本地记忆靠 AI「自觉写」。 L2/L3 本质是 agent 干完活自觉记一笔,记不记取决于它当次的判断。判断失误、漏写一笔,这段记忆就永远丢了。云端画像是服务端自动生成与蒸馏的,不依赖 agent 每次显式动笔,漏写也不丢。
短板三:光有文件,没有检索。 Markdown 文件只能 grep、只能通读,跨成百上千次历史会话根本捞不动。要检索,就得建索引——要么在本地建,OpenClaw 走的就是这条路(BM25 + 向量,代价是在本机维护一整套索引);要么在云端建。WorkBuddy 选了后者:conversation_search 由服务端建索引、做排序、跨会话召回。这也是 256K 论点的延伸:与其把全部历史塞进上下文,不如建好索引、按需召回。
一句话收束:256K 让「记忆」成为刚需;本地文件的三处短板,则让 WorkBuddy 把补位的活儿交给了云端。 本地文件是你亲手写、随时翻的工作笔记本;云端是一位不用吩咐也在记的贴身秘书。笔记本靠自觉,秘书管兜底,二者补的是同一件事的不同缺口。
## 六、横向对照:WorkBuddy vs OpenClaw
为了不写成自卖自夸,我把 WorkBuddy 和 OpenClaw 放一起比了比(OpenClaw 侧事实均出自其公开资料):
结论很清晰:两条路线,一个共识。
共识是:都用「文件系统即记忆」,都把身份和记忆落成 Markdown,都靠「读-做-写回」实现跨会话连续性。差异主要在两处:检索实现(OpenClaw 在本地建索引,WorkBuddy 把检索托管到云端,正是上一节短板三的两种解法)和部署哲学(本地优先 vs 云端协同)。
还有一处差异最值得玩味:写回时机。 OpenClaw 是实时追加日记、每天再提炼进 MEMORY.md;WorkBuddy 是完成工作后写回、云端隐式学习兜底。看着只是节奏不同,本质上是两家在回答同一道题,就是上一节的短板二「漏写了怎么办」:一家用更高频的写入把漏洞堵小,一家用不依赖写入的云端画像来兜底。同一道题,两种解法。这才是对照真正有意思的地方。
这个「殊途同归」本身就是信号:记忆不是某一家的独门绝技,而是 AI 助手走到「长期主义」阶段的必答题。 谁都绕不开。
## 七、当 AI 开始记得你,它还是工具吗
架构讲完了。最后聊聊这套体系落到普通人身上,到底意味着什么。四个日常场景:
你说过一次「图表用绿涨红跌、周报要口语化」,它就再也没忘。 普通助手每次都得你重新提醒;WorkBuddy 第一次听到就写进 MEMORY.md,之后做图表、写周报自动遵循。累的是你一次,省的是以后每回。
你顺嘴提过「我在北京做 iOS、团队用飞书、老板只看结论」,它从此懂你的活儿了。 你说「帮我写个需求文档」,它默认按飞书格式、用 iOS 术语、结论前置来写,而不是丢给你一个泛泛的模板。身份不是装饰,是让每次输出都「对你刚好」的开关。
你换了台新电脑、开了个全新的项目,它张口还是老样子。 本地文件全是空的,但云端画像跟着你的账号走:旧项目里攒下的偏好、习惯、忌讳,新环境第一天就生效。记忆跟人,不跟机器。
你上个月让它跑 SQL 差点动到生产库,叮嘱过「生成 SQL 必须标注环境」,它从此每次都记得加警告。 普通人最能感知到的「它在为我着想」,往往就是这种时刻:它记得你犯过的错。
我们习惯把 AI 当工具:用完即走,下次再用。但记忆悄悄改写了这层关系。当它通过 USER.md 知道你的处境、通过 MEMORY.md 记得你的规矩、通过日志攒下你做事的习惯、再通过云端画像把这一切带到你出现的每个地方,它给出的东西就会越来越「对你而言刚好」。信任,就是从「它记得你犯过的错、你喜欢的写法」里一点点长出来的。
工具用完即走;而一个连续地记得你的东西,更像同事,甚至有点像关系。
## 尾声:它不记得,是因为它忘了读
回到开头那条金鱼。
金鱼和写日记的区别,说穿了不神秘:它不记得,是因为它忘了读;它记得,是因为它真的写了下来。 没有魔法,没有玄学,就是一组 Markdown 文件、一个「读-做-写回」的循环,再加一位云端秘书兜底,老老实实跑了一天又一天。说白了,还是那句老话:好记性不如烂笔头。 WorkBuddy 只是把「烂笔头」认认真真做成了系统,又给这支笔配了个不会漏记的秘书。
给 AI 一个灵魂,听起来很宏大,拆开看其实很朴素:不是赋予它意识,而是给它一份会随时间生长的记忆,和一份关于「它是谁、你是谁」的诚实记录。
下次你打开自己常用的 AI,不妨问一句:你,记得我吗?
如果它翻了翻文件,发现一片空白,答案也就出来了:它是金鱼,还是在写日记。
> 你的 AI 记得你什么?欢迎评论区聊聊。

## 相关链接
- [@cxjwin](https://x.com/cxjwin)
- [973](https://x.com/cxjwin/status/2074801345438318711/analytics)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [6:22 PM · Jul 8, 2026](https://x.com/cxjwin/status/2074801345438318711)
- [973 Views](https://x.com/cxjwin/status/2074801345438318711/analytics)
- [View quotes](https://x.com/cxjwin/status/2074801345438318711/quotes)
---
*导出时间: 2026/7/8 22:53:30*