05 篇 · 工作流

WorkBuddy 记忆系统:打造专属记忆助手

用普通 Markdown 文件建立人格、长期记忆、项目隔离和日志蒸馏,让新任务能够读回真实背景,同时始终保留人的修订权。

WorkBuddy 人格、长期记忆、项目记忆与日志蒸馏的系统全景图
HUMAN × AI

AI 协作分工

把执行交给工具之前,先分清哪些判断必须留在人手里。

人负责
  • 决定哪些事实值得进入长期记忆
  • 维护不同客户和项目之间的边界
  • 纠正过期、错误或带有猜测的记录
  • 定期审阅蒸馏结果与归档节奏
AI 与 Skill 负责
  • 按约定读取人格和 MEMORY.md
  • 把当日工作写入项目日志
  • 聚类重复信息并提出蒸馏建议
  • 在新任务中自动读回相关背景

零代码、纯 Markdown、分步搭建——本教程带你跑通「人格配置 → 四区记忆 → 项目隔离 → 自动蒸馏」完整闭环。基础关约 30 分钟,进阶关约 60 分钟。步骤 3 后附有一组完整图文示例,可直接替换成自己的项目资料练习。

⏱️ 预计耗时:90 分钟

👤 适用:一人公司 / 自由职业者 / 多项目并行者

📦 前置:已安装 WorkBuddy

📋 产出:完整四层记忆系统 + 自动蒸馏流水线

一、为什么需要记忆系统

你花了一下午和 WorkBuddy 讨论技术方案,做了三个重要决策。明天打开新对话——它完全不记得。

没有记忆系统时

  • 每次对话从零开始
  • 反复解释相同背景
  • 偏好全靠手动说明
  • 决策做完了就忘了
  • 项目切换后上下文丢失

有这套系统后

  • Agent 启动即知你是谁
  • 自动加载项目背景和决策历史
  • 偏好、风格、规范一次定义
  • 重要决策永久留痕
  • 项目间无缝切换

WorkBuddy 可以用多层 Markdown 文件保存身份、回复偏好、项目决策和踩坑记录。配置完成后,新任务可以继续读取这些内容;项目情况变化时,也要及时更新对应文件。

二、设计原则:文件即真理

核心理念

所有记忆存成普通 Markdown 文件,放在磁盘上。没有黑箱、没有数据库、没有隐藏状态。Agent 启动时读这些文件,工作时写这些文件。你可以随时用任何编辑器打开查看、修改、删除。如果 Agent 说错了——改一行 Markdown 就修正了。

系统分四层,各司其职:

层级文件职责类比
人格层SOUL · IDENTITY · USER定义 Agent 的行为准则 + 你的档案入职档案
记忆层MEMORY.md(用户级 + 项目级)长期精炼记忆:偏好、决策、教训、待办长期记忆
记录层memory/YYYY-MM-DD.md(每日笔记)每天做了什么、发现了什么、决定了什么工作日志
蒸馏层DREAMS.md + 蒸馏流程从每日笔记中自动提取长期价值周报生成器

用户级

~/.workbuddy/

项目级

{project}/.workbuddy/

三、架构全景:文件体系 + 数据流 + 蒸馏

这一部分把前面的概念落到具体文件上。~/.workbuddy/ 保存跨项目共用的身份和偏好,项目目录里的 .workbuddy/ 负责当前项目的背景、长期记忆和每日日志。任务开始时,WorkBuddy 会按作用域读取这些文件;工作过程中产生的新信息先进入日志,再经过蒸馏整理进长期记忆。先看懂文件放在哪里、信息怎么流动,后面的项目隔离和维护步骤就更容易操作。

WorkBuddy 记忆系统全景概念图
概念图:人格文件和全局记忆提供共同上下文;项目记忆负责隔离;日志积累后经蒸馏更新长期记忆。

📁 文件体系

用户级 · 所有项目共享

├── SOUL.md

填写

AI 人格

├── IDENTITY.md

填写

AI 身份

├── USER.md

填写

你的档案

├── MEMORY.md

改造

长期记忆四区

├── DREAMS.md

新建

蒸馏审阅日记

├── memory/

│ └── YYYY-MM-DD.md

自动

每日笔记

└── archives/

项目级 · 单项目专属

├── DREAMS.md

新建

项目蒸馏日记

├── memory/

│ ├── MEMORY.md

新建

项目长期记忆

│ └── YYYY-MM-DD.md

自动

每日笔记

└── archives/

🔗 两级叠加策略

回复简洁 · 代码注释中文

本项目用 Vue3 · 客户要求中英

Agent 同时加载两级记忆

冲突时:项目级覆盖用户级

🔄 信息流向

  • 💬 会话
  • 📝 每日笔记
  • ⚗️ 记忆蒸馏
  • 🧠 长期记忆

Agent 启动 → 加载记忆 → 对话中按需检索 → 对话结束 → 自动追加日志 → 定期蒸馏提炼

⚗️ 三阶段记忆蒸馏

浅度扫描

主题聚类

精准入库

评分维度:

频率 35%

明确性 30%

近期性 20%

新鲜度 15%

三条门檻全部通过才入库:最低总分 · 最低出现天数 · 最低独立主题数

0 · 前置准备

在开始之前,请确认以下环境和素材就绪。

确认 WorkBuddy 已安装

桌面端打开 WorkBuddy,确认可以正常对话。记忆系统通过 Markdown 文件实现,不需要额外安装任何插件。

准备至少两个项目场景

准备两个真实项目信息:项目名称、技术栈、当前阶段、关键决策。一个项目也行,但两个更能体现「项目隔离」效果。

了解记忆文件位置

用户级记忆在 ~/.workbuddy/ 目录下;项目级记忆在项目目录的 .workbuddy/ 下。

准备文本编辑器

记忆文件是 Markdown 格式,用任意文本编辑器即可编辑。记忆完全由你控制——不存在 AI 私自篡改的可能。

基础关 · 搭建记忆档案

1 · 填写人格文件

告诉 AI 你是谁、什么风格、做什么项目——这是整套记忆系统的基础。人格层文件在 ~/.workbuddy/ 下,一旦填写,所有对话共享。

这就是「文件即真理」原则。

一键生成人格档案

将以下 Prompt 发给 WorkBuddy,AI 会根据你的背景自动填写 SOUL.md、USER.md 和 IDENTITY.md:

/ PROMPT

一键生成人格档案

根据我的背景填写 SOUL.md、USER.md 和 MEMORY.md:

我是 OPC 一人公司,同时给多个客户做项目。
【技术方向】前端和全栈开发,常用 Vue/React/Node。
【回复偏好】简洁直接,少客套话,代码注释用中文。
【当前项目】
- 客户 A:电商后台,Vue3 + Node.js + MongoDB
- 客户 B:数据看板,React + Python + PostgreSQL

检查生成结果

打开以下三个文件,逐项检查内容是否符合你的实际情况:

文件应包含内容示例
SOUL.md回复风格、决策偏好、行为边界"简洁直接,不要客套话"
USER.md你的身份、技术方向、项目列表"OPC一人公司,Vue/React/Node"
IDENTITY.mdAI 的名称、人格设定、语气风格"务实、直接、有主见"

三个文件缺一不可。SOUL 管风格,USER 管背景,IDENTITY 管人格——三者合在一起才能让 AI 完整认识你。

手动微调关键字段

AI 生成的初稿可能有偏差。重点检查并手动修改:

USER.md 中的技术栈是否与实际一致

SOUL.md 中的回复风格是否符合你的偏好

项目信息是否准确(名称、技术栈)

2 · 改造 MEMORY.md 为四区结构

将原来扁平的用户级 MEMORY.md 改造为四区结构,让 AI 更精准地找到需要的信息。四区各司其职:偏好区调行为风格,决策区回顾技术选型,教训区避免重复踩坑,待办区追踪未完成事项。

MEMORY.md 偏好、决策、教训和待办四区结构概念图
概念图:四区只记录能长期复用的信息——偏好、已确认决策、教训和待办;不要把每次临时对话都塞进 MEMORY.md。

发送四区改造指令

/ PROMPT

发送四区改造指令

将 MEMORY.md 改造为四区结构:

【偏好区】回复风格、命名规范、代码习惯
【决策区】关键决策及原因(为什么选 A 不选 B)
【教训区】踩过的坑、长期有效的经验
【待办区】当前进行中的任务、下一步计划

要求:
- 每区内容具体、可执行,避免空泛描述
- 决策必须附带日期和原因
- 整体控制在 3000 字符以内

验证四区结构

打开 MEMORY.md,确认四个区域都已填充内容:

偏好区:至少 3 条具体偏好(如"代码注释用中文""变量名用英文")

决策区:至少 2 条近期决策及原因

教训区:至少 1 条实际踩过的坑

待办区:当前正在进行的任务

少而精,不是多而全

四区结构就绪。现在每次对话启动时,AI 会自动加载 MEMORY.md 中的内容作为上下文。

3 · 建立项目记忆

为每个客户项目建立独立的 .workbuddy/memory/MEMORY.md,让不同项目使用各自的背景和决策记录。

初始化客户 A 项目记忆

在客户 A 的项目目录下,用以下 Prompt 初始化项目记忆:

/ PROMPT

初始化客户 A 项目记忆

帮我梳理客户 A 项目的关键信息,写入项目级 .workbuddy/memory/MEMORY.md:

【项目】电商后台管理系统
【技术栈】Vue3 + Node.js + MongoDB
【当前阶段】核心功能开发完成,正在做权限模块
【已做决策】
- 状态管理用 Pinia 不用 Vuex
- 登录方案用 JWT + 刷新令牌
- UI 框架用 Element Plus
【客户要求】界面必须支持中英文切换
WorkBuddy 中已填写客户 A 项目记忆 Prompt,左下角显示当前工作空间为 B
图:Prompt 写的是客户 A,但左下角当前工作空间显示为 B。发送前应先切换到客户 A 的工作空间,否则文件会写进错误的项目目录。

Prompt 里写“客户 A”不会自动切换工作空间。真正决定文件写到哪里的,是左下角当前选中的工作空间。

初始化客户 B 项目记忆

同样为客户 B 创建项目记忆。两个项目的记忆完全独立:

/ PROMPT

初始化客户 B 项目记忆

帮我梳理客户 B 项目的关键信息,写入项目级 .workbuddy/memory/MEMORY.md:

【项目】运营数据看板
【技术栈】React + Python FastAPI + PostgreSQL
【当前阶段】原型阶段,正在确认数据源接入方案
【已做决策】
- 图表库用 ECharts 不用 D3
- API 层用 FastAPI 的依赖注入做权限
【客户要求】响应速度要求高,首页加载不超过 2 秒

用户级和项目级 MEMORY.md 是叠加关系,不是覆盖。冲突时项目级优先。例如用户级写"偏好 Python",客户 B 项目级写"本项目用 React"——AI 应遵循项目级约束。建议在 SOUL.md 中明确这条优先级规则。

.workbuddy/memory/MEMORY.md

.workbuddy/MEMORY.md

3A · 图文示例:用一个虚构项目完整跑一遍

下面的示例专门演示步骤 3 和步骤 4,不替代前面的人格文件、四区记忆、项目隔离、日志和蒸馏章节。课堂练习可以直接沿用这套结构,再把案例字段换成自己的项目资料。

示例人物和项目均为虚构数据

小林是一名成都数字文创 OPC,正在为一家新咖啡店制作 7 天小红书启动包。字段故意写得具体,方便判断新任务是否真的读到了记忆。

人物

小林

经营“熊猫街角内容工作室”。

当前项目

咖啡店 7 天小红书启动包

用于开业前后的内容冷启动。

交付边界

7 个选题 + 3 篇初稿 + 1 份拍摄清单

第一阶段暂不做代运营。

回复偏好

结论先行,清单最多 5 条

不客套;不确定信息标“待确认”。

教训

不用“年轻人都喜欢”代替用户洞察

没有样本和证据时不能下结论。

下一步

周五前访谈 3 位店主

访谈后再校准选题和拍摄清单。

创建项目记忆文件

先把演示目录本身选为 WorkBuddy 工作空间,再发送下面的建档指令。这样可以避免文件建在上一级大项目中。

/ PROMPT

创建项目记忆文件

请在当前工作空间创建一套可验证的项目记忆。

安全边界:
- 只写当前工作空间,不修改 ~/.workbuddy;
- 目标文件已存在时停止并报告,不要覆盖。

使用虚构案例“小林”:
- 身份:成都文创 OPC,经营“熊猫街角内容工作室”;
- 偏好:结论先行、清单最多 5 条、不要客套、不确定信息标“待确认”;
- 当前项目:新咖啡店 7 天小红书启动包;
- 第一版边界:7 个选题、3 篇初稿、1 份拍摄清单,暂不做代运营;
- 教训:不能用“年轻人都喜欢”当用户洞察;
- 下一步:周五前访谈 3 位店主。

请创建:
1. .workbuddy/memory/MEMORY.md
2. .workbuddy/memory/2026-07-10.md
3. README.md

MEMORY.md 按“人物、偏好、当前项目、已确认决策、教训、下一步”分区;
日期日志记录当天建档动作;README.md 写清文件树、职责和 3 个新任务验证问题。

完成后读回 3 个文件,列出真实相对路径和字节数;如果没有实际写入,直接说明失败原因。
在 WorkBuddy 中提交项目记忆建档指令
图 1:演示目录已作为独立工作空间打开,建档指令明确了写入范围、文件路径和禁止覆盖规则。

WorkBuddy记忆系统实测/ ├── README.md └── .workbuddy/ └── memory/ ├── MEMORY.md └── 2026-07-10.md

核对文件是否真实落盘

聊天里出现“已完成”还不够。继续发送只读核对指令,确认三个文件能从磁盘读到。

/ PROMPT

核对文件是否真实落盘

请做一次只读的落盘核对,不参考其他对话。

实际读取当前工作空间中的:
- .workbuddy/memory/MEMORY.md
- .workbuddy/memory/2026-07-10.md
- README.md

请用表格列出相对路径、实际字节数、文件职责;再核对 MEMORY.md 中是否包含人物、偏好、项目、决策、教训、下一步六项。

不要创建、修改或删除任何文件。
WorkBuddy 只读核对三个项目记忆文件
图 2:三个文件均能读回,并能核对人物、偏好、项目、决策、教训和下一步。
文件本例字节数检查内容
.workbuddy/memory/MEMORY.md1552六项字段齐全
.workbuddy/memory/2026-07-10.md1780建档和路径修正记录
README.md2344文件树、职责和验证题

用全新任务验证自动读回

不要在原对话里继续提问。新建任务并选择同一个演示工作空间,再让 WorkBuddy 只根据任务启动时加载的项目记忆回答。

/ PROMPT

用全新任务验证自动读回

这是一个全新任务。

不要搜索文件,不要调用读取工具,只根据会话开始时自动加载的项目记忆,用 4 行回答:
1. 当前项目;
2. 第一版交付边界;
3. 已记录的教训;
4. 下一步。

最后单独写一行“项目记忆:已自动加载”或“项目记忆:未自动加载”。
不要输出本机绝对路径,不修改任何文件。
全新任务自动读回项目记忆
图 3:全新任务能说出 7 个选题、3 篇初稿、1 份拍摄清单、暂不代运营、用户洞察教训和 3 位店主访谈。

通过

  • 没有搜索文件也能回答
  • 数字和交付边界完全一致
  • 教训和下一步没有遗漏

未通过

  • 只能说出模糊的项目方向
  • 把“暂不代运营”说反
  • 必须重新搜索磁盘才能回答

长 Prompt 发送后要检查聊天气泡。若中文缺失或只剩路径、英文和数字,请清空输入框后重新粘贴,不要让 Agent 在残缺指令上继续执行。

4 · 验证记忆生效

确认记忆系统真正生效——这是整套配置的验收环节。

验证对话启动加载

在客户 A 项目目录下新开一个对话,发送以下测试指令:

/ PROMPT

验证对话启动加载

告诉我:你现在知道关于我的哪些信息?包括我的身份、技术偏好、当前项目背景。

AI 应回复你的身份(OPC一人公司)、技术栈(Vue/React/Node)、当前项目(客户 A 电商后台)等信息。

验证项目隔离

分别进入客户 A 和客户 B 的项目目录,各开一个新对话,发送同样的询问指令。确认:

客户 A 对话中,AI 知道这是 Vue3 电商后台项目

客户 B 对话中,AI 知道这是 React 数据看板项目

两个对话不会串场(客户 A 的对话不会提到客户 B 的技术栈)

基础关完成。新任务能够读回身份和当前项目背景;切换到另一个项目后,再按同样方法检查是否加载了对应项目的记忆。

进阶关 · 搭建蒸馏流水线

5 · 确认日志管线

基础记忆搭好后,每日日志会自动追加。先确认日志积累正常——没有日志就没有蒸馏的原材料。

检查日志是否正常生成

进入项目目录,检查 memory/ 下过去两周的每日笔记:

bash

应该看到类似 2026-07-01.md、2026-07-02.md 这样的日期文件。

检查日志内容质量——信号密度是关键

日志是蒸馏的原材料。如果日志只有"修了一个 bug""写了一段代码",蒸馏机制什么都提取不出来。提高信号密度的方法:

信号明确(好日志)信号稀薄(无用日志)
改用弹性布局解决了 Safari 兼容问题改了个颜色
决定用 Session 替代 JWT,因为兼容性更好今天写了代码
发现 MongoDB 聚合管道在大数据量下性能不足修了 bug

在日志中使用明确的前置词——"决定采用……""发现……""教训:……"——这些词是蒸馏评分中"明确性"维度的核心依据。

如果日志内容普遍空洞("查了个文件""跑了个命令"),回到基础关检查 SOUL.md——明确"只记录产生决策、发现、教训的工作,临时操作不记"。

6 · 手动触发蒸馏

对 WorkBuddy 说一句话,AI 扫描日志提炼高价值决策和教训到长期记忆。蒸馏是整套记忆系统最有价值的部分——没有它,日志就只是日志;有了它,日志才变成记忆。

执行首次蒸馏

/ PROMPT

执行首次蒸馏

【执行记忆蒸馏】
读取最近两周的每日笔记,从中提取值得长期保留的决策和教训。
更新 MEMORY.md 的决策区和教训区。
将蒸馏结果记录到 DREAMS.md,按项目分类。

蒸馏时遵循以下标准:
- 同一话题反复出现 → 高优先级
- 明确写了"决定""最终选"→ 高优先级
- 近两周内发生 → 高优先级
- 已存在于 MEMORY.md → 跳过

审阅蒸馏结果

打开 DREAMS.md,逐条确认 AI 提取的内容。蒸馏后 AI 会生成类似这样的审阅记录:

# DREAMS.md — 蒸馏审阅日记 ## 2026-07-08 蒸馏结果 ### 已入库(写入 MEMORY.md)

- "采用多层记忆架构" (出现 3 天, 明确性 高) - "登录方案用 JWT+刷新令牌" (出现 5 天, 明确性 高)

### 待观察(未达门檻)

- "信息安全评估模板" (仅出现 1 天) - "Redis 缓存方案" (MEMORY.md 中已有)

蒸馏后务必立刻审阅 DREAMS.md。AI 可能把临时讨论误判为正式决策——某天的笔记里写了错误结论,被频率评分误提升到 MEMORY.md。发现错误立刻手动修正。

7 · 配置定时蒸馏与维护

让蒸馏和维护自动化运行——你只管工作,整理交给系统。

日志经过蒸馏更新长期记忆并归档的自动化流程概念图
概念图:日志和项目笔记先经过蒸馏筛选,再更新长期记忆;历史内容按周期归档,便于回顾和审计。

创建每周蒸馏任务

/ PROMPT

创建每周蒸馏任务

帮我创建一个自动化任务:
【周期】每周日 10:00
【动作】扫描本周所有项目的日志,执行记忆蒸馏
【处理】提炼决策和教训 → 更新 MEMORY.md → 记录到 DREAMS.md
【通知】完成后在对话中告知本周提炼了哪些内容

创建每月归档任务

/ PROMPT

创建每月归档任务

帮我创建一个自动化任务:
【周期】每月 1 日 9:00
【动作1】归档 30 天前的日志到 archive/ 目录
【动作2】检查所有 MEMORY.md 是否有矛盾或过时条目
【动作3】清理冗余内容,确保 MEMORY.md 不超过 3000 字符
【通知】完成后告知归档数量和冲突条目

蒸馏节奏总览

每周日:蒸馏本周日志

自动扫描、提炼、更新 MEMORY.md

每月初:归档 + 冲突检查

归档旧日志、检查 MEMORY.md 矛盾

每季度:重审四区结构

清理冗余记忆,优化分区合理性

项目收尾:全量蒸馏

蒸馏全部日志,输出项目知识总结

自动化任务是否可用,取决于当前 WorkBuddy 版本、权限和本机运行状态。创建后要检查任务列表,并至少观察一次真实触发记录;没有触发记录时,先保留手动蒸馏流程。

8 · 全链路验证闭环

端到端验证蒸馏流水线是否完整运转。

运行全链路测试

手动触发一次完整蒸馏 → 审阅 DREAMS.md → 等待一次定时蒸馏自动运行 → 检查:

手动蒸馏结果准确,DREAMS.md 无严重误判

定时蒸馏按时触发,无静默失败

MEMORY.md 正确更新(决策区和教训区有新内容)

每月归档正常执行,旧日志已移动

冲突检查能发现矛盾条目

异常场景验证

测试以下异常情况,确认系统不会静默失败:

① 无新增日志

跳过蒸馏,不生成空 DREAMS.md

② MEMORY.md 超长

归档时自动清理,控制在 3000 字符内

③ 蒸馏误判

DREAMS.md 保留痕迹,可手动回滚修正

验收确认

以下全部通过才算进阶关完成:

每日日志自动追加正常(连续两周无中断)

手动蒸馏流程跑通,DREAMS.md 内容准确

每周定时蒸馏已配置并成功运行一次

每月归档 + 冲突检查自动化已配置

整套维护流水线无人值守正常运转一周

全链路验证通过后,这套系统应当能够加载身份和项目背景、记录日志、执行蒸馏并保留审阅记录。后续仍要定期检查误判、冲突和过时条目。

📋 日常场景指令速查

场景你怎么说
记住偏好"把这个加入记忆:我偏好 pnpm 而不是 npm"
更新记忆"更新记忆:不再用 Stripe,改用 Paddle"
执行蒸馏"执行记忆蒸馏,更新 MEMORY.md"
检查矛盾"检查 MEMORY.md 是否有矛盾或过时条目"
归档笔记"将 30 天前的笔记移到 archives/"
周报摘要"总结本周工作日志"
查询历史"我们之前关于 XX 的讨论是什么?"
TOOLKIT

本课工具与 Skill

只列本课真实用到的工具,并把使用时机和边界一起说明。

Markdown 记忆文件

以可查看、可修改的文件保存身份、偏好和决策

什么时候用
需要长期且透明的项目上下文时
使用边界
文件即真理,错误内容必须由人及时修正

WorkBuddy 自动化任务

按周蒸馏、按月归档日志

什么时候用
手动闭环验证稳定以后
使用边界
定时任务的结果仍需抽查,不能无人监管地无限写入