做过的项目越来越多,可每次开新项目,AI都是从零开始。

我梳理过若干叶片零件的 BOM 清单,定过零件加工的工艺路线,选过要用的工艺设备。这些东西散在十几个文件夹里,是我真金白银花时间换来的。可它们没有积累——下次再遇到一个相似的工件,我没法把上次梳理过的 BOM、定过的路线直接调出来。每用一次,都是从零。

前阵子看到晓辉博士讲一个词,叫"AI复利":把所有工作内容建立起关联,让AI帮你记住、帮你串联,经验就不再线性流失,而是像复利一样越滚越多。

这个词戳到我了。我缺的不是更聪明的AI,是让记忆能积累、能复用的那套机制。钱存进账户才有复利;经验也是——你得先把它"存"进一个AI能反复取的地方,它才开始生息。

所以这段时间我干了一件事:把所有工作区的记忆接管了。

具体说三层。最上面,一份所有项目共用的通用规则——用什么语言、要什么格式、别说漂亮话、时间别瞎猜,只维护一份,每个工作区启动自动加载。中间,每个项目自己的工作区记忆——这个项目是什么、产出在哪、踩过什么坑,各管各的互不污染。最底下,一个总索引把所有项目串起来,我站在任何项目里都能跳到别的项目的经验。

三层搭好,AI就不再每次从零认识我了。它一启动就知道:这是 neulx,航空发动机工艺工程师,喜欢纯数据不要情绪,上次踩过PowerShell的编码坑。光这一步,就省掉每次开项目那十几分钟的"自我介绍"。

但我要诚实说一句,也是踩过坑才想明白的:

搭好结构,不等于有了复利。

复利公式是 本金 × (1 + 利率)^时间。本金,是真正存进去的、可复用的经验;利率,是每次复用又产生的新经验;时间,是复用的次数。钱放着不动不叫复利,叫死期。经验也是——你必须去"存"、去"取",它才会滚。我那套漂亮结构,不主动往里存、不主动取来用,就是一堆整齐的空文件夹,零复利。

这个认知,比那套结构本身重要得多。

想明白这点,我补上了真正让复利发生的动作——三件套。

第一件,写入。开新项目说一句"补全工作区记忆",AI扫一遍现有文件,给它生成项目说明、建好记忆目录、登记到总索引,骨架就立起来了。

第二件,审查。写完用另一个AI交叉审一遍,看合规不合规、有没有漏。两个AI一个写一个审,比单AI自查靠谱。

第三件,也是最关键的——提炼。前两件处理"这个项目里有什么",第三件处理"有什么下次还能用"。

举个例子,我做完一批叶片零件,事件流水里记了一堆"今天梳理了30项BOM""今天定了5道工序"。这些是"做了啥"。但真正值钱的是"怎么做":BOM清单怎么按叶片/盘/环件分层最清楚、工艺路线的工序和设备怎么对应、相似件之间哪些结构和路线能直接复用。"做了啥"是一次性的,"怎么做"是方法,下次做任何相似工件都能直接套。

所以项目收尾,我会让AI扫一遍过程记录,把"怎么做"单独提炼出来,存到一个所有项目都能取的经验库里。这一步,就是把一次性经验转成可复用资产——钱从口袋存进了账户,开始生息。

还有一个我特别得意的细节:空工作区怎么起步。以前面对一个空文件夹,我不知道第一步该干嘛——啥都没有补什么记忆?后来想通了:记忆是干活的副产物,不是干活的前提。

现在我的流程是:开空工作区,第一条消息就交代背景——"这是003报价项目,做一个机匣的工艺报价"。AI检测到是空工作区,主动帮我生成项目说明的骨架,顺便把"我是谁、我什么背景"这些通用信息引用过来(引用不是复制,避免每个项目都塞一堆重复身份信息)。骨架立起来,我开干。干完一段,过程记进事件流水。项目收尾,提炼出"怎么做"存进经验库。下次开类似项目,先去经验库取——本金就被复用一次,又生了一点息。

存、取、存、取……复利就这么滚起来了。

不过还是要说实话。到现在为止,我主要还是把机器建好了。经验库里其实还很薄,真正存进去的可复用方法没几条。复利要兑现,得靠接下来两件事的频率:新经验多提炼,用的时候多检索。建好账户不等于有了钱。但这套东西让我第一次觉得,我那些散落各处的经验,有希望真正攒起来了。

当一个AI开始帮你记住所有事,你和它的关系就变了。 它不再是每次都要重新介绍的聪明工具,而是一个越用越懂你的搭档。这种"越用越懂",大概就是普通人能摸到的、最实在的AI复利。

账户已经开了。第一笔本金,我打算今天就存进去。


附:记忆体系技术实现

以下整理了这套"三件套 + 冷启动"的技术细节,供想借鉴的读者参考。

一、三层架构

用户级底座  ~/.claude/CLAUDE.md
  └─ 通用规则(语言/输出/反谄媚/时间校验/安全/记忆写法),所有工作区自动继承

项目独立工作区  D:\WorkSpaces\<项目>\
  └─ 各自 CLAUDE.md(项目特有)+ docs/ + chat_memory/

枢纽索引  ClaudeLocalAgent/docs/projects-index.md
  └─ 所有项目总表,跨项目导航

关键:通用规则只维护一份,上移到用户级;各项目 CLAUDE.md 只放指针不复制(防污染)。

二、三件套命令

/init-workspace-memory   写入   扫描已有文件→生成CLAUDE.md+目录+登记总表
/check-workspace-memory  审查   只读对照规范→合规报告(CB写CC审闭环)
/distill-experience      提炼   收尾扫事件流→提炼"怎么做"→存总控经验库跨域共享

经验库统一存在总控 docs/experience/<domain>/(manufacturing / development / management / lessons / general),不存各工作区本地——因为 auto-memory 按工作区分库,存本地就跨项目检索不到了。

三、空工作区冷启动(hook自动 + 兜底)

UserPromptSubmit hook 检测三个条件:当前工作区无 CLAUDE.md + 在 D:\WorkSpaces 下 + 用户发了实质消息(≥8字、非斜杠命令)→ 注入一个标记,AI 主动建 CLAUDE.md 骨架。已有 CLAUDE.md 则静默(幂等,不会重复触发)。

骨架顶部只放指针(指向通用规则和用户背景文件),不复制背景内容本身——背景单点维护,避免每个项目都塞重复的身份信息。

四、踩的坑:PowerShell 中文乱码

bootstrap hook 第一版用了中文提示。结果一跑就崩——powershell.exe(Windows PowerShell 5.1)默认用 GBK 编码读取脚本,而我存的是 UTF-8,中文被解码成乱码,引号匹配错乱,整个脚本语法直接崩掉。

修复:hook 的提示全改成英文。这些提示本来就是给 AI 看的指令,英文不影响 AI 理解,还彻底避开了编码依赖。

教训:在 Windows PowerShell 5.1 下写带中文的脚本,要么存 UTF-8 with BOM,要么用 pwsh(7),要么干脆用英文。这种环境层的坑,光看代码看不出来,必须实跑一遍才暴露——所以我后来养成了习惯,hook 写完先跑几个边界用例验证再交付。

五、一个真实的经验提炼示例

机匣项目收尾,提炼出的可复用经验(存在 experience/manufacturing/):

场景:拿到一个新机匣/叶片零件,要快速摸清它的构成和怎么加工
问题:每个新零件都从头梳理,历史相似件的 BOM 和工艺路线调不出来
解决:梳理 BOM 清单(按叶片/盘/环件分层)
      + 工艺路线(工序 / 设备 / 工时)
      + 标注哪些结构和路线在相似件间可直接复用
心得:相似工件的结构清单和工艺路线是可复用资产,新件先查经验库再补差异

这条经验下次做任何相似件都能直接套——这就是一笔存进账户、会反复生息的本金。