Claude Code泄露51万行源码:记忆系统才是AI工具的真正壁垒
Claude Code源码泄露了51万行TypeScript源代码,里面藏了一套从未官宣的记忆系统设计。一个越用越懂你的AI,和一个每次从头开始的AI,差距靠换模型弥补不了——它靠的是时间积累。
3月底,Claude Code因一个配置失误,59.8 MB的Source Map文件被发到了npm上。4点发布,4点23分Twitter上已有直接链接,GitHub最热仓库2小时冲到5万星,4.2万个Fork。我在当晚也去搜索了各方技术分析——没有下载源码,但社区的深度解读已足够看清里面的设计含量,这次泄露最让圈子里震动的,是一套被分析得最透彻的记忆系统设计。
Claude Code的记忆系统有两层。
第一层叫CLAUDE.md,是项目级指令文件,你手动写进去的,告诉它你是谁、项目是什么、代码规范是什么。源码里有硬编码的加载优先级:公司统一下发的在最外层,个人全局配置在第二层,仓库里的在第三层,本地私有在第四层。越近你越优先,你的个人偏好多半会覆盖公司规范。这套优先级逻辑解决了一个实际问题:同一件事在不同项目里有不同的处理方式,本地配置永远优先,团队共识作为兜底。
第二层叫memory/目录,是Claude Code自动写入的,有四种类型。
第一种user,记录你是干什么的、你的专长在哪、你的偏好。
第二种feedback,这是最精密的一种——不只是记你纠正了什么,还记你认可了什么,格式固定是三段:规则本身、Why(当时为什么这样决定)、 How to apply(什么场景该触发)。「记错误,也要记认可。只记纠正的话,AI会越来越缩手缩脚,远离那些你已经验证过有效的做法。」这句话的道理和管理团队一模一样——不能天天只批评下属,也要记得认可有效的工作方式,AI也是一样的。
第三种project,记目标、截止、决策,把所有相对时间转成绝对时间。「下周四」必须写成「2026-04-10」,不然三个月后这条记忆会失效。
第四种reference,记外部系统指针,比如「API文档在docs/api-v2.md」。
还有一个硬性限制:MEMORY.md最多200行、25KB,因为每次session启动都要注入context,超了会被截断并提示AI「下次写精简点」。这个限制不是偷懒,是有意识地控制成本——context里的每一行都是钱。
比CLAUDE.md和memory/更精密的,是两套自动机制。
第一套叫Auto-Compact,管的是session内的上下文满了怎么办。Claude Code有个触发线:context总量减去13000 Token缓冲。触发之后不是粗暴截断,是分三层精细处理——先删图片(信息密度最低)、再按API轮次分组生成摘要、然后恢复最重要的文件引用(50K Token预算)和当前活跃的skills(25K Token预算)。压缩掉的是噪音,保留的是干活必需的东西。
每天有1279个session连续压缩失败超过50次,最严重的单次session失败了3272次,浪费了约25万次API调用。修复方案是三行代码:连续失败3次就停止重试。Token就是钱,这个细节才是真正的产品意识。
第二套叫Auto-Dream,管的是session结束后的长期记忆整合。触发条件是距离上次整理至少24小时、且期间至少完成了5个工作session。它分四个阶段:定向——先搞清楚自己现在知道什么;收集——扫描今天的日志找值得留下来的新信息;整合——把新信息写进记忆,相对时间全部换成绝对时间,如果发现新发现和旧记忆矛盾,直接修正而不是留两条互相干扰的记录;修剪——更新索引,删掉过时的,保持MEMORY.md不超过200行。
整合阶段有一个专门的概念叫「记忆漂移」——某条记忆写的时候是对的,但现在情况变了,它已经不准了,Auto-Dream负责把这类记忆找出来修正。「你在做一个梦,对记忆文件做一次反思性回顾。」Claude Code在认真模拟人类睡眠时的记忆整理过程。
Auto-Dream和KAIROS是连在一起的。KAIROS每5分钟跑一次cron,监控文件系统变化,可以在session边界之外独立触发记忆整合。所以能做到周五关电脑、周一回来它已经自己工作了一整个周末。
看完Claude Code的这套设计,我重新审视了OpenClaw现有的记忆机制。OpenClaw每次会话启动时确实会读取USER.md,我在里面写了我是干什么的、偏好什么、做什么业务——这其实已经对标了Claude Code的user类型记忆。
但真正让我意识到差距的,是这两件事:
第一,OpenClaw的memory/里没有分类。我做咨询和培训时,大量的反馈——”这个方向对”、”这个方案太复杂”、”这个客户应该推标准版”——全是原始日志,没有分类,没有格式,更没有结构化为”规则+Why+应用场景”。Claude Code的feedback记忆让我意识到,每一次有价值的判断,都是一条潜在的记忆资产,如果只是存着不用,AI下次遇到同类问题还是不知道。
第二,OpenClaw的记忆整合是我自己在配置,不是AI在驱动。我每天凌晨跑memory-extractor,是我主动配置的cron任务。Claude Code的Auto-Dream是AI自己驱动、自己执行——它自己判断什么时候该整理记忆、整理什么、保留什么。这两个看起来效果差不多,但本质不同:我配置的方案,换一个不会配置的AI新手就失效了;AI自驱动的方案,换谁用都一样积累。我现在打算在cron里加一个每日22:00的主动提炼任务,让OpenClaw每天睡前自己过一遍今日最重要的判断和决策。
Claude Code的护城河不是模型,是工程。把这套记忆系统、主动性设计、子Agent架构、安全校验、Feature Flag等等工程细节全部整合在一起,让它稳定运行、持续积累、真正越用越好用——这是需要大量时间和用户基础才能做到的事情。
对AI应用开发者来说,最大的启示是:不需要等某个产品官方发布某个功能,OpenClaw已经给了我们搭这套系统的框架。USER.md已经记录了我是谁,memory/里已经有每次会话的原始记录,cron已经配置了凌晨自动提炼——这些是真正有价值的东西,不是因为它复杂,是因为它解决了AI助手最核心的问题:如何让AI主动起来,而不只是被动响应。
如果你觉得文章对你有所帮助,请关注公众号
我们下期再见!
夜雨聆风