交流群
项目记忆:让代理记住你的约定
每次开新对话都要重新交代一遍背景——我是谁、这个项目干嘛的、有哪些规矩——既累又费额度。项目记忆解决的就是这件事:把跨对话都成立的约定写成一个文件,放在项目根目录,代理每次进入这个项目都会先读到它。
WorkBuddy 读取的项目约定文件是 CODEBUDDY.md,放在项目根目录即可生效。
该写什么
- 一句话介绍:这是什么、给谁用、当前处在什么阶段。
- 目录约定:哪个目录放什么,读写时该去哪找。
- 硬性规则:命名规范、禁止改动的文件、输出格式要求。
- 常用命令:怎么跑、怎么测、怎么清理。
- 不要做的事:比如「不要碰生产目录」「不要把密钥写进代码」。
不该写什么
- 某次任务的临时细节——那属于那次任务的 Prompt,不属于项目记忆。
- 明文密钥、令牌、密码。
- 会过期的信息,比如「明天要交差」。
一份文件控制在一两屏能看完。写成长篇文档,代理反而抓不住重点。
一份可用的骨架
markdown
# 项目:<项目名>
## 一句话介绍
<这是什么、给谁用、当前阶段>
## 目录约定
- `src/`:源码
- `docs/`:文档,只读,不要自动改写
- `output/`:产物,可以覆盖
- `archive/`:历史资料,只读
## 硬性规则
- 文件名统一 `日期-主题-版本`,例如 `20261112-周报-v2.md`
- 所有写操作先出 diff,确认后落地
- 中文文案用简体,标点用全角
## 常用命令
- 构建:`npm run build`
- 检查:`npm run lint`
## 不要做的事
- 不要修改 `src/config/` 下的任何文件
- 不要把 API Key 写进代码或文档,一律用环境变量
- 不要删除 `archive/` 下的文件怎么验证它真的读到了
改完不要假设它生效。新开一个对话,直接问:「这个项目的目录约定是什么?」如果它答得出来,说明文件被读到了;答不出来,检查文件名、位置,以及是否在项目根目录。
什么时候更新
项目规则变了就更新这份文件,而不是每次对话口头补充。口头补充的规矩只管一次,写进文件的规矩每次都生效——这是项目记忆唯一的价值,也是它容易被忽略的原因。