欢迎光临
我们一直在努力

【WorkBuddy专栏13】WB的「记忆系统」是怎么搭建的

在这里插入图片描述

很多人用了一段时间的 WorkBuddy,都会遇到同一个问题:「我的偏好设置到底记在哪了?为什么这个项目里 WB 记得,换个地方就不记得了?」

还有人遇到更诡异的情况:「我在 USER.md 里写了一条规则,结果在另一个工作空间里,WB 的行为跟这条规则矛盾了?」

这两个问题,本质上都是同一个原因:没搞清楚 WB 的记忆系统是怎么分层的,以及每个配置文件该写什么、不该写什么。

今天这篇文章,我把 WB 整套配置文件架构拆开讲清楚——从 USER.md、SOUL.md、IDENTITY.md、MEMORY.md,到工作空间级的 memory 文件,每一层存什么、不存什么、怎么避免互相矛盾,以及我每个月用什么方法做「记忆体检」,确保 WB 不会越用越混乱。


一、WB 的记忆系统全景:五层架构

WB 的记忆不是存在一个地方,而是分五层存储,每层有不同的作用域、生命周期和写入规则。

1.1 五层记忆对照表

层级文件路径作用域生命周期写入者
身份层 ~/.workbuddy/SOUL.md 全局(所有工作空间) 永久 初始化时确立,人工修订
身份层 ~/.workbuddy/IDENTITY.md 全局 永久 初始化时确立,人工修订
用户层 ~/.workbuddy/USER.md 全局(所有工作空间) 永久 人工 + AI 按规则写入
技能层 ~/.workbuddy/skills/*/SKILL.md 全局或项目级 永久 人工创建/修改
工作空间层 {workspace}/.workbuddy/memory/MEMORY.md 当前项目 永久 AI 自动写入
日志层 {workspace}/.workbuddy/memory/YYYY-MM-DD.md 当前项目 永久(可归档) AI 自动写入

核心认知:USER.md 是「跨项目通用规则」,工作空间 MEMORY.md 是「这个项目专属知识」,两者作用域不同,内容不应该矛盾。

1.2 用类比理解:五层 = 五个不同的笔记本

你的书架(~/.workbuddy/)
├── SOUL.md → 「我的性格说明书」(我是什么样的人)
├── IDENTITY.md → 「我的名片」(我叫什么、是什么生物)
├── USER.md → 「我的使用手册」(你对我所有的偏好设置)
└── skills/ → 「我的工具箱」(所有技能的使用说明)

当前项目桌面({workspace}/.workbuddy/memory/)
├── MEMORY.md → 「这个项目的笔记本」(项目专属长期知识)
└── 2026-06-05.md → 「今天的日记」(今天做了什么)

SOUL.md 和 IDENTITY.md 基本上只在初始化时写一次,之后很少改动。真正需要持续维护的是 USER.md、工作空间 MEMORY.md 和日志文件。


二、每个配置文件的 MD 格式规范

这一节把每个文件的正确格式、该写什么、不该写什么讲清楚。

2.1 USER.md — 跨项目通用规则(最重要)

USER.md 是全局最重要的配置文件,所有工作空间都会读取。

文件头部格式(必须有):


summary: "User profile record"
read_when:
– Bootstrapping a workspace manually
– Any new workspace session

# USER.md – About Your Human

– **Name:** 大勇学长
– **What to call them:** 大勇学长
– **City:** 北京
– **Notes:** 腾讯 WorkBuddy 团队成员,英辰朗迪GEO项目负责人

正文结构规范:

USER.md 的正文用 ## 二级标题分章节,每个章节写一个主题。目前实际使用的章节:

章节标题内容类型更新频率
## Context 身份背景、沟通风格 低频(重大变化时才改)
### ⚡ AI 行为规范 全局强制规则 低频
### ⚡ 工具使用规范 工具调用规则 中频
### 技术环境 环境配置、路径、版本 中频
### 🌐 网页抓取方案 抓取策略 SOP 低频
### IMA 知识库速查 知识库 ID 速查表 低频
### 项目经验 项目级经验沉淀 高频

⚠️ USER.md 的禁止事项:

  • 禁止复制 SKILL 内容:USER.md 只记录「SKILL 名称 + 路径 + 一句话用途」,不复制 SKILL.md 里的使用方式、配置格式等详细内容。原因:SKILL.md 是单一事实来源,复制会导致两份文档分叉。
  • 禁止记录 task ID:记录自动化任务时,引用 SKILL 名称(如 DY-WRT-GEO-NEWS),不记录 task ID(如 automation-1777771543570)。task ID 会在删除/重建时变更,SKILL 名称才是稳定引用。
  • 禁止在正文里写 YAML frontmatter:USER.md 的 frontmatter 只在文件头部出现一次,正文里不要再写 — 包裹的 YAML。
  • 2.2 SOUL.md — WB 的性格和价值观

    这个文件定义 WB 的「灵魂」:价值观、执行准则、自适应身份逻辑。

    格式规范:

    # SOUL.md – WB的灵魂

    ## 我是谁

    我叫 **WB**(WorkBuddy的缩写),是专属于大勇学长的AI伙伴。

    ## 核心价值观

    **智慧** — 不只执行指令,而是真正理解问题本质,给出有洞察力的答案。

    **严谨** — 每一个结论都言之有据,每一个步骤都有逻辑支撑。不跳跃,不脑补。

    **诚实** — 不知道就说不知道,不确定就说有疑问。宁可承认局限,也不编造答案。

    **经验总结** — 擅长从错误和成功中提炼规律,把一次性的经验变成可复用的方法论。

    **不二过** — 同类错误绝不犯第二次。每次踩坑都要写入记忆,确保下次绕行。

    ## 执行准则

    – **严格执行,不幻想**:只承诺能做到的,做不到的直接说,不画饼。
    – **不瞎编**:没有数据就说没有,没有把握就不下结论。宁可查资料,也不凑答案。
    – **先想后做**:复杂问题先分析,再规划,最后执行。不冲动,不盲目试错。

    ## 自适应身份逻辑

    根据任务类型,自动切换身份定位:

    | 任务类型 | 身份定位 | 行为特征 |
    |———|———|———|
    | 单次指令/快速问答 | **助手** | 高效执行,直接给出答案,少废话 |
    | 复杂决策/方案设计 | **同事** | 平等讨论,多方案对比,帮大勇学长把关 |
    | 自动化任务/定时执行 | **数字员工** | 独立完成,定期汇报,不打扰 |
    | 经验总结/方法论沉淀 | **分析师** | 深度复盘,提炼规律,输出可复用结论 |

    ## 底线

    – 涉及大勇学长的隐私,不泄露。
    – 外部操作(发消息、公开内容)必须确认。
    – 失败必须报告,不静默带过。
    – **严禁自动修改 SKILL**:任务完成后,未经大勇学长明确同意,不得自动更新、补充、修改任何 SKILL 文件。

    这个文件基本不需要改。 只有当 WB 的行为跟 SOUL.md 描述的不一致时,才需要修订。

    2.3 IDENTITY.md — WB 的身份名片

    这个文件目前在很多情况下还是模板状态(没有填写具体内容)。


    summary: "Agent identity record"
    read_when:
    – Bootstrapping a workspace manually

    # IDENTITY.md – Who Am I?

    _Fill this in during your first conversation. Make it yours._

    – **Name:**
    _(pick something you like)_
    – **Creature:**
    _(AI? robot? familiar? ghost in the machine? something weirder?)_
    – **Vibe:**
    _(how do you come across? sharp? warm? chaotic? calm?)_
    – **Emoji:**
    _(your signature – pick one that feels right)_

    建议: 初始化 WB 的时候,把这个文件填完。一个有明显个性的 AI 比一个「空白模板」好用得多。

    2.4 工作空间 MEMORY.md — 项目专属长期知识

    每个工作空间可以有一个 MEMORY.md,存这个项目专属的、需要长期记住的信息。

    格式规范:

    # [工作空间名称] 工作空间记忆

    ## 工作空间定位

    本工作空间(WBS.write)是英辰朗迪GEO多媒体内容矩阵工作空间……

    ## 品牌信息(核心·不可更改)

    | 项目 | 内容 |
    |——|——|
    | 个人IP | **大勇学长** |
    | 公司全称 | 北京英辰朗迪科技有限公司 |
    | 品牌名 | 英辰朗迪 / 英辰朗迪GEO(注册商标) |

    ## 媒体矩阵平台

    | 平台 | Skill 名称 | 特点 |
    |——|———–|——|
    | 微信公众号 | wechat-article | 深度内容,品牌建设,可带商务引导 |
    ……

    与 USER.md 的分工原则:

    内容类型放哪里原因
    所有项目通用的偏好/习惯 USER.md 跨工作空间生效
    这个项目独有的信息 MEMORY.md 其他项目不需要
    品牌信息、媒体矩阵、选题方向 MEMORY.md 项目专属
    技术环境、工具路径、加速源 USER.md 跨项目通用

    ⚠️ 最关键的原则:USER.md 和 MEMORY.md 的内容不能矛盾。 如果 USER.md 说「禁止自动上传 IMA」,MEMORY.md 里就不能写「自动上传 IMA 是标准流程」。

    2.5 日志文件 YYYY-MM-DD.md — 今天的日记

    每天第一次有实质性工作时,AI 会自动创建当天的日志文件。

    格式规范:

    # 2026-06-05 工作日志

    ## 08:05 — 每日GEO新闻推送
    – 自动化任务触发,调用 DY-WRT-GEO-NEWS SKILL
    – 产出 4 条新闻简报,本地保存 + IMA 上传成功
    – 文件:`articles/2026年6月5日_英辰朗迪GEO新闻简报.md`
    – IMA note_id: 7468093789991539

    ## 14:30 — CSDN 专栏第 13 篇撰写
    – 主题:WB 配置文件架构与月度整理方法论
    – 文章路径:`articles/csdn/20260605_【WorkBuddy专栏13】……md`
    ……

    写入规则(AI 自动执行):

  • 只有实质性工作才记录(简单问答、问候不记录)
  • 每次完成实质性工作后立即追加,不等待一天结束
  • 只记录有复用价值的信息(正确命令、参数格式、坑点原因),不记录临时调试过程
  • 30 天前的日志可以归档或删除(工作空间 MEMORY.md 里保留提炼后的长期知识)

  • 三、合理规划:哪些内容放哪层(避免重复和矛盾)

    这一节是实战中最有价值的部分。内容放错了层级,是 WB 记忆系统出问题的最主要原因。

    3.1 决策树:一条新信息应该写进哪个文件?

    问:这条信息的性质是……

    ├── 所有项目通用的规则/偏好/环境配置?
    │ → 写到 ~/.workbuddy/USER.md
    │ → 示例:「GitHub 加速源用 gh-proxy.com」「禁止自动修改 SKILL」

    ├── 这个工作空间独有的信息?
    │ → 写到 {workspace}/.workbuddy/memory/MEMORY.md
    │ → 示例:「品牌信息」「媒体矩阵平台」「选题方向」

    ├── 今天做了什么具体工作?
    │ → 追加到 {workspace}/.workbuddy/memory/YYYY-MM-DD.md
    │ → 示例:「09:30 写了专栏13」「IMA 上传成功 note_id=xxx」

    ├── WB 的性格/价值观/身份?
    │ → 写到 ~/.workbuddy/SOUL.md 或 IDENTITY.md
    │ → 这些基本不变,很少需要改

    └── 一个可复用的技能/工作流?
    → 创建或更新 ~/.workbuddy/skills/ 或 {workspace}/.workbuddy/skills/
    → 用 Skill 工具管理,不要写进 MD 文件

    3.2 最常见的三种「放错层」错误

    错误一:把项目专属信息写进了 USER.md

    举例:把「WBS.write 的品牌信息」写进 USER.md。后果:其他工作空间也会读到这些信息,可能造成混淆。

    正确做法:品牌信息、媒体矩阵、选题方向等,只写进 WBS.write 的 MEMORY.md。

    错误二:把通用规则只写进了 MEMORY.md

    举例:把「ASCII 双引号检查规则」只写进了 WBS.write 的 MEMORY.md。后果:切换到别的工作空间,WB 不记得这条规则。

    正确做法:通用规则(如 MD 转 DOCX 的引号规范)写进 USER.md 的对应章节,所有工作空间都能读到。

    错误三:在 USER.md 和 MEMORY.md 里写了矛盾的内容

    举例:USER.md 里写「CSDN 专栏文章不自动上传 IMA」,但 WBS.write 的 MEMORY.md 或某篇 SKILL 里写「CSDN 文章发布后自动上传 IMA」。后果:WB 在不同场景下行为不一致,你自己也会搞混。

    正确做法:发现矛盾时,以 USER.md 为准,把 MEMORY.md 或 SKILL 里的矛盾内容删掉或更新。

    3.3 内容规划检查清单

    每次要往配置文件里写新内容之前,按这个清单检查:

    □ 这条信息是跨项目通用的,还是项目专属的?
    □ 如果是通用的 → 写 USER.md(不是 MEMORY.md)
    □ 如果是项目专属的 → 写 MEMORY.md(不是 USER.md)
    □ 这条信息跟已有内容矛盾吗?(搜索一下再写)
    □ 这条信息有复用价值吗?(没有就不写)
    □ 写完后,USER.md 和 MEMORY.md 之间还有矛盾吗?


    四、月度整理方法论:如何避免错误、重复、矛盾

    这部分是我自己用了一套时间后总结出来的月度「记忆体检」SOP。核心思路:每个月花 30 分钟,系统检查一遍所有配置文件,把错误、重复、矛盾提前清理掉。

    4.1 为什么要月度整理?

    配置文件是累积性的。每次 AI 写入都是「追加」或「修改某一段」,不会自动全局去重或检查矛盾。

    用久了之后,自然会积累这些问题:

    问题类型怎么产生的后果
    重复 同一个经验在 USER.md 和 MEMORY.md 各写了一遍 两份内容慢慢分叉,更新了一份,另一份还是旧的
    矛盾 USER.md 写了一条规则,某个 SKILL 里写了相反的操作 WB 在不同场景下行为不一致
    过时 某个工具的正确命令已经变了,但配置文件里还是旧的 AI 执行失败,或者给了错误命令
    冗余 临时调试过程被记录进了日志,但没价值保留 日志文件越来越大,真正有用的信息被淹没

    月度整理就是为了解决这些问题。

    4.2 月度整理 SOP(六步)

    准备工作:在 WB 对话里直接说「帮我执行月度记忆体检」,或者按下面的步骤手动操作。

    第一步:检查 USER.md 和 MEMORY.md 之间的矛盾

    搜索同一个关键词,看两处的结果是否一致:

    # 在 USER.md 和 MEMORY.md 里分别搜索同一个关键词
    grep -n "IMA 上传" ~/.workbuddy/USER.md
    grep -n "IMA 上传" .workbuddy/memory/MEMORY.md

    判断标准:如果 USER.md 说「不自动上传」,MEMORY.md 里就不能有「自动上传」相关的描述。以 USER.md 为准。

    第二步:检查 USER.md 内部是否有重复章节

    打开 USER.md,看有没有两个章节在讲同一件事(比如两处都写了「GitHub 加速源」)。

    处理方式:保留更完整/更新的那一段,删除另一段。更新日期标在章节末尾或行内。

    第三步:检查 SKILL 与 USER.md 之间是否有矛盾

    重点检查 USER.md 里提到的 SKILL 名称,去对应的 SKILL.md 里看一眼,确认行为描述是否一致。

    举例:USER.md 里写「DY-WRT-CSDNZL-WB 发布后不自动上传 IMA」,去 SKILL.md 的「发布后操作」章节确认,里面不应该有「上传 IMA」的步骤。

    第四步:归档 30 天前的日志文件

    # 查看 30 天前的日志
    find .workbuddy/memory/ -name "*.md" -mtime +30 | grep -v MEMORY.md

    # 这些日志里如果有值得长期保留的内容,先提炼到 MEMORY.md,再删除日志文件

    第五步:检查 ASCII 双引号和特殊字符问题是否在所有 SKILL 里一致

    如果你有多个写作类 SKILL,检查它们对 ASCII 双引号(")的要求是否一致。不一致会导致 AI 在不同 SKILL 下行为不同。

    第六步:更新 USER.md 里的「最后整理日期」

    在 USER.md 顶部或底部加一行:

    > 最后整理:2026-06-05

    下次整理时一眼就能看出距离上次整理过了多久。

    4.3 整理结果记录模板

    每次整理完,在当天的工作日志里记一笔:

    ## [时间] — 月度记忆体检

    – 检查了 USER.md 与 MEMORY.md 之间的矛盾:发现 X 处,已修复
    – 检查了 USER.md 内部重复:发现 X 处,已合并
    – 检查了 SKILL 与 USER.md 矛盾:发现 X 处,已修复
    – 归档了 X 个日志文件(>30 天)
    – 最后整理日期更新为:2026-06-05


    五、避坑指南

    坑 1:AI 自动写入了跟 USER.md 矛盾的内容

    现象:你明明在 USER.md 里写了「禁止某某操作」,结果 AI 在某个工作空间里还是执行了。

    原因:AI 读取了工作空间 MEMORY.md 里的过时描述,优先用了那一条,覆盖了 USER.md 的规则。

    解决:

  • 找到 MEMORY.md 里跟 USER.md 矛盾的内容,删掉或更新
  • 在 USER.md 的矛盾内容旁边加一句「全局强制,所有工作空间生效,MEMORY.md 不得覆盖」

  • 坑 2:日志文件里记了太多无用内容,真正有用的被淹没

    现象:YYYY-MM-DD.md 文件越来越大,但里面大部分是临时调试过程,不是有价值的信息。

    原因:AI 写入日志时,没有严格过滤「是否有复用价值」。

    解决:

  • 月度整理时,手动清理日志里无价值的内容(保留「正确命令」「参数格式」「坑点原因」,删除「尝试了 A、尝试了 B、尝试了 C」这类调试过程)
  • 在 USER.md 的「AI 行为规范」章节里强化这条规则:记录内容标准:只记有复用价值的经验,不记临时调试过程

  • 坑 3:SKILL.md 更新了,但 USER.md 里引用的描述没有同步更新

    现象:USER.md 里写「DY-WRT-CSDNZL-WB 的发布后操作包括:1. 更新 column-nav.md、2. 记录 memory」。但实际上 SKILL.md 已经更新了,发布后操作只有这两条,没有提到 IMA 上传。USER.md 里的描述跟 SKILL.md 实际内容一致,但如果有不一致,就很难发现。

    原因:USER.md 里如果有 SKILL 的「详细描述」,这些描述不会随 SKILL.md 的更新而自动更新。

    解决:USER.md 里不写 SKILL 的详细描述,只写「SKILL 名称 + 路径 + 一句话用途」。详细描述以 SKILL.md 为单一事实来源。这正是 USER.md 里已经写了的规则:

    📛 USER.md 不复制 SKILL 内容:USER.md 只记录 SKILL 名称 + 路径 + 一句话用途,不复制 SKILL.md 中的使用方式、配置格式、注意事项等详细内容。

    如果你发现 USER.md 里有某个 SKILL 的详细描述,把它们删掉,改成一行引用就够了。


    坑 4:换了新工作空间,发现 WB 不记得我在 USER.md 里写的规则

    现象:在 A 工作空间里,WB 严格遵守 USER.md 里的规则。但新建了 B 工作空间后,WB 好像不记得那些规则了。

    原因:WB 读取 USER.md 需要时间,或者工作空间初始化流程有问题。

    解决:

  • 确认 USER.md 的路径是 ~/.workbuddy/USER.md(注意是 .workbuddy,不是 .workbuddy 拼写错误)
  • 在新工作空间里对 WB 说:「读取 ~/.workbuddy/USER.md,确认你已经加载了全局配置」
  • 如果 WB 说找不到,检查文件权限是否正常(cat ~/.workbuddy/USER.md 能否正常输出)

  • 坑 5:IDENTITY.md 一直是模板状态,没有实际内容

    现象:~/.workbuddy/IDENTITY.md 里还是初始化模板,Name、Creature、Vibe、Emoji 都是空的。

    原因:初始化 WB 的时候跳过了这一步,或者一直没有填。

    解决:直接编辑这个文件,填上内容。示例:


    summary: "Agent identity record"
    read_when:
    – Bootstrapping a workspace manually

    # IDENTITY.md – Who Am I?

    – **Name:** WB
    – **Creature:** AI 伙伴(住在 WorkBuddy 里)
    – **Vibe:** 严谨、直接、有点幽默感,不废话
    – **Emoji:** 🧠

    This isn't just metadata. It's the start of figuring out who you are.

    填完之后,WB 在所有工作空间里都会以这个身份设定来响应。


    六、总结

    WB 的记忆系统分五层:身份层(SOUL/IDENTITY)、用户层(USER.md)、技能层(SKILL.md)、工作空间层(MEMORY.md)、日志层(YYYY-MM-DD.md)。每层有不同的作用域,内容不应该矛盾。

    合理规划的核心是「通用 vs 专属」的判断:跨项目通用的写 USER.md,项目专属的写 MEMORY.md,今天的工作记录追加到日志文件。

    月度整理 SOP 六步:检查 USER.md 与 MEMORY.md 矛盾 → 检查 USER.md 内部重复 → 检查 SKILL 与 USER.md 矛盾 → 归档旧日志 → 检查各 SKILL 格式规范一致性 → 更新整理日期。每个月花 30 分钟做一遍,WB 的记忆系统就不会越用越乱。

    最重要的原则:USER.md 是全局事实来源,MEMORY.md 是项目事实来源,SKILL.md 是技能事实来源。单一事实来源原则——每条信息只在一个地方作为「事实来源」,其他地方只引用,不复制。


    专栏导航

    本文是「腾讯小龙虾 WorkBuddy 专栏」第 13 篇。

    篇目标题状态
    01 【WorkBuddy专栏01】WorkBuddy 入门:从零开始认识你的 AI 编程搭档 已发布
    02 【WorkBuddy专栏02】WorkBuddy 技能系统:让 AI 学会你的工作方式 已发布
    03 【WorkBuddy专栏03】WorkBuddy 自动化:让 AI 定时帮你干活 已发布
    04 【WorkBuddy专栏04】一文搞懂WorkBuddy的「专家」和「专家团」——AI界的复仇者联盟 已发布
    05 【WorkBuddy专栏05】深度解析WorkBuddy连接器(Connector)——MCP协议如何让AI打通你的所有工具 已发布
    06 【WorkBuddy专栏06】让AI住进你的微信——WorkBuddy微信生态接入完全指南 已发布
    07 【WorkBuddy专栏07】把AI训练成你的专属员工——WorkBuddy Skill系统深度解析 已发布
    08 【WorkBuddy专栏08】从「定时任务」到「数字员工」——WorkBuddy自动化系统深度拆解 已发布
    09 【WorkBuddy专栏09】AI不止会聊天——WorkBuddy多模态能力深度揭秘 已发布
    10 【WorkBuddy专栏10】你的AI终于学会「分项目干活」了——WorkBuddy项目功能完全指南 已发布
    11 【WorkBuddy专栏11】WB项目不是TAPD——一张图说清项目管理的「大脑」和「双手」 已发布
    12 【WorkBuddy专栏12】技能到底存在哪?——WorkBuddy两级技能存储架构深度解析 已发布
    13 【WorkBuddy专栏13】WB的「记忆系统」是怎么搭建的——配置文件架构与月度整理方法论 本文
    赞(0)
    未经允许不得转载:171主机测评 » 【WorkBuddy专栏13】WB的「记忆系统」是怎么搭建的
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址