大语言模型天生是"无状态"的——每次对话都是一张白纸。但在实际工作中,我们需要 AI 记住:你的编码风格偏好、项目的目录结构、上次讨论的架构决策、团队的命名规范……WorkBuddy 的三层记忆系统正是为此而生,它让 AI 跨会话、跨项目、跨用户保持上下文,真正成为"了解你的数字员工"。
WorkBuddy 的记忆系统分为三个层级,从全局到局部逐层细化:
范围:全局共享
内容:产品文档、技术规范、通用知识
存储:云端向量数据库
特点:所有用户可见,由管理员维护
范围:个人专属
内容:偏好、习惯、常用命令
存储:本地文件系统
特点:跨项目生效,仅本人可见
范围:项目专属
内容:目录结构、技术栈、配置
存储:项目 .workbuddy/ 目录
特点:同项目自动加载,可提交到 Git
三层记忆的优先级为:项目级 > 用户级 > 云端。当存在冲突时,更具体的层级覆盖更通用的层级。例如,项目级的"使用 Tab 缩进"会覆盖用户级的"使用 2 空格缩进"。
云端记忆是组织级共享知识库,通常由团队管理员维护,所有成员可读:
{
"memory": {
"cloud": {
"enabled": true,
"sources": [
{
"type": "confluence",
"space": "TECH-DOCS",
"syncInterval": 3600
},
{
"type": "git",
"repo": "org/knowledge-base",
"branch": "main",
"path": "/docs"
}
],
"maxContextTokens": 8000
}
}
}
云端记忆通过向量检索(RAG)机制工作:当用户提问时,系统自动从云端知识库中检索相关片段,注入到上下文中。管理员可以设置同步间隔,定期从 Confluence/Git 等源拉取最新内容。
用户级记忆是个人专属的偏好和习惯,存储在本地文件系统中,跨项目生效:
# macOS / Linux
~/.workbuddy/memory/
# Windows
%USERPROFILE%\.workbuddy\memory\
用户级记忆以 Markdown 文件存储,支持自由组织:
# ~/.workbuddy/memory/preferences.md
## 编码风格
- Python:使用 Black 格式化,行宽 88
- JavaScript:使用 Prettier,2 空格缩进
- 注释:使用中文注释,函数必须有 docstring
## 常用操作
- 项目启动:`pnpm dev`
- 运行测试:`pytest -v --cov`
- 部署:`make deploy STAGE=staging`
## 工作偏好
- 日报格式:按项目分组,每项标注完成百分比
- PR 描述:必须包含"变更原因"和"测试方法"两节
- 分支命名:feature/JIRA-ID-简短描述
WorkBuddy 会自动学习你的偏好并写入用户级记忆:
自动学习的记忆会标记为 [auto-learned],你可以随时审查和修改:
查看我的所有记忆
删除记忆中关于"注释风格"的条目
修改记忆:我的 Python 行宽偏好改为 120
项目级记忆是最具体、最动态的记忆层,存储在项目目录中,与项目绑定:
项目根目录/
└── .workbuddy/
├── memory/
│ ├── project.md # 项目基本信息
│ ├── architecture.md # 架构决策记录
│ ├── conventions.md # 项目规范
│ └── context.md # 当前工作上下文
├── skills.json # 项目技能配置
└── automations/ # 项目自动化任务
# .workbuddy/memory/project.md
## 项目信息
- 名称:WorkBuddy 官网
- 技术栈:Hugo + Tailwind CSS
- 部署:Vercel
- 仓库:github.com/org/workbuddy-site
## 目录结构
- content/:Markdown 内容文件
- layouts/:Hugo 模板
- assets/:CSS/JS/图片资源
- data/:JSON/YAML 数据文件
## 关键约定
- 所有页面必须有 meta description
- 图片使用 WebP 格式,懒加载
- CSS 遵循 BEM 命名规范
当你首次在项目中打开 WorkBuddy 时,它会自动扫描项目结构并生成初始记忆:
package.json / pyproject.toml / go.mod 识别技术栈.editorconfig / .eslintrc / pyproject.toml 提取编码规范README.md 提取项目描述项目级记忆可以提交到 Git,让团队成员共享项目上下文:
git add .workbuddy/memory/
git commit -m "chore: update project memory with architecture decisions"
建议将 .workbuddy/memory/project.md 和 architecture.md 提交到 Git(团队共享),而 context.md(个人工作上下文)加入 .gitignore。
三层记忆的检索采用分层 RAG(Retrieval-Augmented Generation)机制:
# 查看记忆
查看我的所有记忆 # 列出用户级记忆
查看项目记忆 # 列出项目级记忆
搜索记忆中关于"部署"的内容 # 关键词搜索
# 编辑记忆
在项目记忆中添加:我们使用 pnpm 作为包管理器
修改用户记忆:Python 格式化改为 ruff
# 清理记忆
清理30天未使用的记忆条目 # 按时间清理
删除记忆条目 #42 # 按编号删除
# 导入导出
导出我的记忆到 memory-backup.json # 备份
从 memory-backup.json 导入记忆 # 恢复