本文件说明如何把仓库里的模板落地到你的 Agent 环境,以及日常如何维护。 按"你的平台有没有记忆系统"分两种情况,都无需安装任何依赖。
| 层 | 文件 | 位置 | 加载方式 |
|---|---|---|---|
| 常驻层 | AGENTS.md(或 CLAUDE.md / REASONIX.md) |
Agent 工作区根目录(或平台用户全局目录) | 每个相关 turn 自动加载 |
| 记忆层 | lessons.md,或平台长期记忆 |
工作区任意处 / 平台记忆库 | 按需检索(搜索关键词命中后读取) |
## 元规则:写之前先查错题本(防错优先,不做事后纠错)
- 每次执行 shell/PowerShell 命令、写代码、安装包**之前**,先检索错题本 ...- 元规则必须放在文件最前:指令文件的靠前内容优先级更高、更不易被长上下文稀释。
- 用行为指令("每次……之前先……")而不是知识陈述("错题本很有用")—— Agent 对祈使句的执行率远高于描述句。
- 高频铁律区:放你真实踩过的坑(从错题本里挑出现频率最高的 3-5 条), 不要放网上抄来的通用建议——"自己的痛"才会被认真对待。
- 错题本存为一条全局记忆(type=feedback)作指针,正文只放高频铁律;
完整禁则全文外置到独立文件(如
%APPDATA%\reasonix\self-improvement-lessons.md), 记忆正文写文件路径指针 + 高频铁律,指令文件(REASONIX.md)每轮加载时指向全文文件。 - 为什么要文件化(2026-08-13 实测):部分平台的 pinned(置顶)记忆有字符预算 (如 Reasonix 1500 字符),禁则清单随沉淀增长后,无法再更新该记忆——写入被 「pinning 预算超限」拒绝,等于错题本被冻结。全文外置文件后:更新走文件 (无预算/权限限制,直接追加/扩充单条),记忆只留指针,指令层负责引导检索。
- 记忆的 description 仍写成触发词友好的检索索引,例如:
bash/命令报错、exit code 非 0、工具报错后:把预防性写法沉淀成「禁止X——因为会Y」禁则 - 主题特定经验(部署备忘等)留在对应主题的记忆里,错题本只放通用禁则 + 链接指针。
- 错题本就是一个
lessons.md文件,放在工作区; - 常驻指令里的元规则保证"写之前"会去读它;
- 无记忆检索时,可以退化:每次会话开始时(或写命令前)直接读一遍 lessons.md—— 文件几十行时成本可接受,几百行时把"最高频铁律"同步进常驻文件即可。
- 退化为"会话内固定动作":每次会话开头先读 lessons.md;
- 或封装成一个 skill/playbook(把 lessons.md 作为它的数据文件),触发即核对。 注意:这仍是被动触发,防错效果弱于常驻指令,但好于没有。
① 自己命令报错 / exit code 非 0 / 工具 failed 后
② 用户直接纠正你的时候(不等犯错)
③ 用户给你看他处发生的案例(如贴一段别处的报错)
- 诊断根因(确认是可复现、可预防的模式,一次性环境噪音不存);
- 写禁则:
[领域] 禁止 X —— 因为会 Y;预防性写法 Z; - 检查错题本是否有同领域条目:
- 有 → 扩充那一条(加示例/变体/备注),不新建;
- 无 → 追加新条目;
- 如果这条够痛(预期高频出现)→ 顺手同步到常驻文件的高频铁律区(保持 ≤5 条, 多出来的要挤掉旧的)。
- 合并描述同一问题的多条;
- 删除已不适用的(平台升级/环境变化后);
- 把"再也不会踩"的条目移出(归档,不删除——历史案例是检索时的好语料)。
| 时机 | 行为 |
|---|---|
| 准备执行命令/写代码/装包 | 先检索错题本(关键词:操作对象,如 bash 安装 路径) |
| 命中禁则 | 立即换用预防性写法,并在回复里显式说明"按错题本禁则改用 X"(形成习惯回路) |
| 报错后 | 先按 3.1-3.2 沉淀,再修复(沉淀优先,防止遗忘) |
| 同类第二次 | 扩充单条,不新建 |
Q:错题本条目多了,检索会不会漏? 会,但双层结构兜底:最高频的 ≤5 条已常驻,漏掉的低频条目即使偶尔重犯, 代价也小。真正常犯的会自动升格进铁律区。
Q:用户纠正和报错沉淀有什么区别? 没有区别,都是禁则来源。用户纠正通常更值得沉淀——因为它发生在"还没报错"之前, 正是我们要的前置信号。
Q:会不会和现有记忆/文档体系冲突? 不冲突。错题本只承担"防错禁则"这一种职责;部署备忘、工作流、偏好等仍放各自 主题记忆。错题本里用链接指针引用主题记忆,不复制内容。
Q:需要装 MCP / 插件吗? 不需要。本方案只用 Agent 平台自带的指令文件 + 记忆/文件能力,零依赖。 (这也意味着它几乎可以在任何 Agent 上原样复刻。)