你有没有过这样的崩溃时刻用 AI 写代码每次开新对话都像给新入职的外包做交接“我们项目用 pnpm不是 npm”“前端是 React不是 Vue”“上次我们聊到用户登录模块卡到了校验这里”“我习惯你先给结论再讲过程”说一遍不够下次开新会话你还得再说一遍。用了半年的 AI Coding 工具它对你的了解永远停留在 “你好我是新来的”。这不是 AI 不够聪明是它没有长期记忆。有记忆和没记忆的 AI体验差距是 10 倍不是 10%。我给 CodeBuddy 做了一套纯本地的记忆系统很多人一听到 AI 记忆就想到要搭向量库、要搞云端服务、要部署一堆复杂的基础设施。但我搞了一套纯本地方案—— 零外部依赖、不需要向量库、不需要后端服务纯靠 Markdown 文件和提示词规则就给 CodeBuddy 加上了长期记忆。现在它能记住你的项目背景你的协作偏好你们的历史决策之前踩过的坑下次开会话不用你重新交接它直接接着上次的活干。灵感来自 Knot但把它搬到了本地这套设计不是我凭空想的灵感直接来自 Knot 的记忆系统 —— 用过 Knot 的朋友都知道它的 AI 能跨会话记住你下次聊天不用重复交代体验特别好。我拆解了 Knot 的核心机制发现它的厉害之处根本不是什么复杂的向量检索而是信息治理的规则什么该存、存哪里、谁优先。所以我把这套设计原封不动地搬到了 CodeBuddy 里做成了纯本地的版本。不用云端所有数据都存在你自己的项目里安全又放心。装完之后你的项目长这样安装很简单装完之后你的项目里会多这么一套文件夹就像一个整齐的文件柜把不同的记忆分好类项目根目录/ ├── .codebuddy/ │ ├── rules/ │ │ └── memory-system/ RULE.mdc 启动规则系统驱动器 │ └── memory/ │ ├── INSTRUCTIONS.md 用户硬规则偏好/约束 │ ├── MEMORY.md 用户画像 topic 索引每轮必读 │ └── topic/ 单主题长期记忆 └── .gitignore 自动把memory加到忽略不会提交到仓库它是两层分离的规则是系统记忆是你自己的。装完的时候记忆是空的用着用着它就慢慢 “认识你” 了。三个核心设计让记忆真的好用很多人做记忆系统就是把聊天记录存起来结果越存越多最后上下文都被占满了AI 反而变笨了。这套系统不一样它有三个关键设计保证记忆好用又不占空间1. 权威性分层不是所有记忆都一样重要你有没有遇到过 AI 乱听指令一会儿听你说的一会儿听它自己记的搞混了。这套系统做了严格的优先级分层就像一个金字塔最高优先级 你主动说的硬规则比如 “我只用 pnpm”、“回答先给结论”这些永远是最高的AI 必须优先听中间优先级 你的用户画像、主题索引每轮都会读让 AI 知道你是谁有哪些主题可以查最低优先级topic/*.md各个主题的详细记忆只有需要的时候才会读不会随便占上下文。这样一来AI 永远不会搞混该听谁的你的硬规则永远不会被背景信息覆盖。2. 双轨写入主动记和自动沉淀分开记忆也分两种一种是你明确要它记住的一种是它自己观察到的。所以这套系统用了双轨写入的机制你主动说的 “记住 xxx”直接写到 里变成最高优先级的硬规则比如你说 “记住我只用 pnpm”那它永远都会记得AI 自己沉淀的比如你们聊了半天定下了项目的技术决策、踩过的坑这些它会自动写到 topic 文件夹里同时更新 MEMORY 里的索引。这样就不会乱你明确要求的它绝对不会忘它自己观察的也会好好存着需要的时候再拿出来。3. 每轮自检AI 自己管自己不用你催最厉害的是它有一套每轮自动执行的自检协议就像一个循环的工作流每一轮对话它都会自动做这几件事开始的时候先读你的 INSTRUCTIONS 和 MEMORY知道你的规则和画像然后判断这次的问题要不要读某个 topic 的详细记忆比如你问上次的登录模块它就自动把那个主题的记忆读出来回答完之后再自检这轮有没有产生什么值得存的长期记忆如果有就自动写到 topic 里更新索引。整个过程你完全不用管它自己就把读、判断、写的闭环跑通了。而且它控制了 token 预算总共也就 5000token 左右不会挤占你正常对话的空间。实际体验从 “新来的外包” 变成 “跟了你三个月的搭档”这套系统用上之后最直观的变化是什么没有记忆的 AI是每次都重新入职的外包你得从头教它 everything 有记忆的 AI是已经跟了你三个月的老搭档你不用说它都懂。它带来的不是 “少打几个字”而是连续性任务连续上次聊到哪、卡在哪、下一步要做什么它都记得判断连续之前为什么选 A 不选 B当时的约束和取舍它都记得协作连续你喜欢先看结论还是先看过程偏好稳妥还是试错它都记得。比如你说 “继续写上次那份方案”它知道你之前定下的受众、边界、表达风格不用你再讲一遍 比如你说 “帮我评估这个新需求”它会沿用之前的判断框架不会每次重新发明一套标准 比如你说 “这个问题上次踩过坑”它能找到当时的失败原因避免再走一遍弯路。开新会话不存在的就是接着上次继续干。云端还是本地你可以自己选很多人会问那我是用 Knot 的云端记忆还是用这个本地方案其实很简单看你的场景Knot 云端记忆开箱即用支持跨项目适合团队协作日常工作用它很方便本地 Markdown 方案纯本地零依赖所有数据都在你自己手里适合个人项目、敏感代码项目或者你想自己定制规则。而且这两个不是二选一你可以并行用工作上的团队项目用 Knot自己的私人项目用本地方案完全没问题。别提前优化够用就好很多人一上来就说我要搭向量库我要搞 RAG我要上最先进的检索。但其实大部分人根本用不到。这套系统有个很清晰的升级路径你不用一开始就搞全套V1topic 少于 10 个的时候纯提示词 文件读写就够了大部分人停在这就够用了V2topic 多了要跨项目了再加 MCP Server支持跨项目共享V3topic 超过 30 个了再加全文检索方便找东西V4topic 超过 100 个了再加本地向量库做语义检索。先跑通闭环等你真的需要了再升级。别还没开始用就先把一堆复杂的基础设施搭起来大部分时候都是浪费。怎么装一分钟搞定安装超级简单你不用改代码不用部署服务只要给你的 CodeBuddy 说一句话/CodeBuddy Markdown Memory帮我安装这一个memory系统它就会自动帮你把这套系统装好生成所有的文件把 memory 加到.gitignore防止你把个人记忆提交到仓库。装完之后新建个会话测试一下继续聊这个项目先读取我的记忆系统。如果 AI 回应了记忆相关的内容那就搞定了。接下来你正常用就行它会自己慢慢记住你的所有事。互动时间你有没有过每次开新对话都要重新给 AI 交代一遍项目的痛苦经历比如上次说过的技术栈下次又要再说一遍评论区聊聊你的崩溃时刻
给 AI加长期记忆:再也不用每次重新交接项目了
你有没有过这样的崩溃时刻用 AI 写代码每次开新对话都像给新入职的外包做交接“我们项目用 pnpm不是 npm”“前端是 React不是 Vue”“上次我们聊到用户登录模块卡到了校验这里”“我习惯你先给结论再讲过程”说一遍不够下次开新会话你还得再说一遍。用了半年的 AI Coding 工具它对你的了解永远停留在 “你好我是新来的”。这不是 AI 不够聪明是它没有长期记忆。有记忆和没记忆的 AI体验差距是 10 倍不是 10%。我给 CodeBuddy 做了一套纯本地的记忆系统很多人一听到 AI 记忆就想到要搭向量库、要搞云端服务、要部署一堆复杂的基础设施。但我搞了一套纯本地方案—— 零外部依赖、不需要向量库、不需要后端服务纯靠 Markdown 文件和提示词规则就给 CodeBuddy 加上了长期记忆。现在它能记住你的项目背景你的协作偏好你们的历史决策之前踩过的坑下次开会话不用你重新交接它直接接着上次的活干。灵感来自 Knot但把它搬到了本地这套设计不是我凭空想的灵感直接来自 Knot 的记忆系统 —— 用过 Knot 的朋友都知道它的 AI 能跨会话记住你下次聊天不用重复交代体验特别好。我拆解了 Knot 的核心机制发现它的厉害之处根本不是什么复杂的向量检索而是信息治理的规则什么该存、存哪里、谁优先。所以我把这套设计原封不动地搬到了 CodeBuddy 里做成了纯本地的版本。不用云端所有数据都存在你自己的项目里安全又放心。装完之后你的项目长这样安装很简单装完之后你的项目里会多这么一套文件夹就像一个整齐的文件柜把不同的记忆分好类项目根目录/ ├── .codebuddy/ │ ├── rules/ │ │ └── memory-system/ RULE.mdc 启动规则系统驱动器 │ └── memory/ │ ├── INSTRUCTIONS.md 用户硬规则偏好/约束 │ ├── MEMORY.md 用户画像 topic 索引每轮必读 │ └── topic/ 单主题长期记忆 └── .gitignore 自动把memory加到忽略不会提交到仓库它是两层分离的规则是系统记忆是你自己的。装完的时候记忆是空的用着用着它就慢慢 “认识你” 了。三个核心设计让记忆真的好用很多人做记忆系统就是把聊天记录存起来结果越存越多最后上下文都被占满了AI 反而变笨了。这套系统不一样它有三个关键设计保证记忆好用又不占空间1. 权威性分层不是所有记忆都一样重要你有没有遇到过 AI 乱听指令一会儿听你说的一会儿听它自己记的搞混了。这套系统做了严格的优先级分层就像一个金字塔最高优先级 你主动说的硬规则比如 “我只用 pnpm”、“回答先给结论”这些永远是最高的AI 必须优先听中间优先级 你的用户画像、主题索引每轮都会读让 AI 知道你是谁有哪些主题可以查最低优先级topic/*.md各个主题的详细记忆只有需要的时候才会读不会随便占上下文。这样一来AI 永远不会搞混该听谁的你的硬规则永远不会被背景信息覆盖。2. 双轨写入主动记和自动沉淀分开记忆也分两种一种是你明确要它记住的一种是它自己观察到的。所以这套系统用了双轨写入的机制你主动说的 “记住 xxx”直接写到 里变成最高优先级的硬规则比如你说 “记住我只用 pnpm”那它永远都会记得AI 自己沉淀的比如你们聊了半天定下了项目的技术决策、踩过的坑这些它会自动写到 topic 文件夹里同时更新 MEMORY 里的索引。这样就不会乱你明确要求的它绝对不会忘它自己观察的也会好好存着需要的时候再拿出来。3. 每轮自检AI 自己管自己不用你催最厉害的是它有一套每轮自动执行的自检协议就像一个循环的工作流每一轮对话它都会自动做这几件事开始的时候先读你的 INSTRUCTIONS 和 MEMORY知道你的规则和画像然后判断这次的问题要不要读某个 topic 的详细记忆比如你问上次的登录模块它就自动把那个主题的记忆读出来回答完之后再自检这轮有没有产生什么值得存的长期记忆如果有就自动写到 topic 里更新索引。整个过程你完全不用管它自己就把读、判断、写的闭环跑通了。而且它控制了 token 预算总共也就 5000token 左右不会挤占你正常对话的空间。实际体验从 “新来的外包” 变成 “跟了你三个月的搭档”这套系统用上之后最直观的变化是什么没有记忆的 AI是每次都重新入职的外包你得从头教它 everything 有记忆的 AI是已经跟了你三个月的老搭档你不用说它都懂。它带来的不是 “少打几个字”而是连续性任务连续上次聊到哪、卡在哪、下一步要做什么它都记得判断连续之前为什么选 A 不选 B当时的约束和取舍它都记得协作连续你喜欢先看结论还是先看过程偏好稳妥还是试错它都记得。比如你说 “继续写上次那份方案”它知道你之前定下的受众、边界、表达风格不用你再讲一遍 比如你说 “帮我评估这个新需求”它会沿用之前的判断框架不会每次重新发明一套标准 比如你说 “这个问题上次踩过坑”它能找到当时的失败原因避免再走一遍弯路。开新会话不存在的就是接着上次继续干。云端还是本地你可以自己选很多人会问那我是用 Knot 的云端记忆还是用这个本地方案其实很简单看你的场景Knot 云端记忆开箱即用支持跨项目适合团队协作日常工作用它很方便本地 Markdown 方案纯本地零依赖所有数据都在你自己手里适合个人项目、敏感代码项目或者你想自己定制规则。而且这两个不是二选一你可以并行用工作上的团队项目用 Knot自己的私人项目用本地方案完全没问题。别提前优化够用就好很多人一上来就说我要搭向量库我要搞 RAG我要上最先进的检索。但其实大部分人根本用不到。这套系统有个很清晰的升级路径你不用一开始就搞全套V1topic 少于 10 个的时候纯提示词 文件读写就够了大部分人停在这就够用了V2topic 多了要跨项目了再加 MCP Server支持跨项目共享V3topic 超过 30 个了再加全文检索方便找东西V4topic 超过 100 个了再加本地向量库做语义检索。先跑通闭环等你真的需要了再升级。别还没开始用就先把一堆复杂的基础设施搭起来大部分时候都是浪费。怎么装一分钟搞定安装超级简单你不用改代码不用部署服务只要给你的 CodeBuddy 说一句话/CodeBuddy Markdown Memory帮我安装这一个memory系统它就会自动帮你把这套系统装好生成所有的文件把 memory 加到.gitignore防止你把个人记忆提交到仓库。装完之后新建个会话测试一下继续聊这个项目先读取我的记忆系统。如果 AI 回应了记忆相关的内容那就搞定了。接下来你正常用就行它会自己慢慢记住你的所有事。互动时间你有没有过每次开新对话都要重新给 AI 交代一遍项目的痛苦经历比如上次说过的技术栈下次又要再说一遍评论区聊聊你的崩溃时刻