Skip to content

Latest commit

 

History

History
113 lines (82 loc) · 5.61 KB

implementation.md

File metadata and controls

113 lines (82 loc) · 5.61 KB

实现细节:从模板到可运行的机制

本文件说明如何把仓库里的模板落地到你的 Agent 环境,以及日常如何维护。 按"你的平台有没有记忆系统"分两种情况,都无需安装任何依赖。


1. 两层文件分别放哪

层 文件 位置 加载方式
常驻层 AGENTS.md(或 CLAUDE.md / REASONIX.md) Agent 工作区根目录(或平台用户全局目录) 每个相关 turn 自动加载
记忆层 lessons.md,或平台长期记忆 工作区任意处 / 平台记忆库 按需检索(搜索关键词命中后读取)

模板逐行说明(以 templates/AGENTS.md 为例)

## 元规则:写之前先查错题本(防错优先,不做事后纠错)
- 每次执行 shell/PowerShell 命令、写代码、安装包**之前**,先检索错题本 ...
  • 元规则必须放在文件最前:指令文件的靠前内容优先级更高、更不易被长上下文稀释。
  • 用行为指令("每次……之前先……")而不是知识陈述("错题本很有用")—— Agent 对祈使句的执行率远高于描述句。
  • 高频铁律区:放你真实踩过的坑(从错题本里挑出现频率最高的 3-5 条), 不要放网上抄来的通用建议——"自己的痛"才会被认真对待。

2. 平台适配

情况 A:平台有长期记忆系统(如 Reasonix)

  • 错题本存为一条全局记忆(type=feedback)作指针,正文只放高频铁律; 完整禁则全文外置到独立文件(如 %APPDATA%\reasonix\self-improvement-lessons.md), 记忆正文写文件路径指针 + 高频铁律,指令文件(REASONIX.md)每轮加载时指向全文文件。
  • 为什么要文件化(2026-08-13 实测):部分平台的 pinned(置顶)记忆有字符预算 (如 Reasonix 1500 字符),禁则清单随沉淀增长后,无法再更新该记忆——写入被 「pinning 预算超限」拒绝,等于错题本被冻结。全文外置文件后:更新走文件 (无预算/权限限制,直接追加/扩充单条),记忆只留指针,指令层负责引导检索。
  • 记忆的 description 仍写成触发词友好的检索索引,例如:

    bash/命令报错、exit code 非 0、工具报错后:把预防性写法沉淀成「禁止X——因为会Y」禁则

  • 主题特定经验(部署备忘等)留在对应主题的记忆里,错题本只放通用禁则 + 链接指针。

情况 B:平台只有指令文件(如 Claude Code / Codex / Cursor)

  • 错题本就是一个 lessons.md 文件,放在工作区;
  • 常驻指令里的元规则保证"写之前"会去读它;
  • 无记忆检索时,可以退化:每次会话开始时(或写命令前)直接读一遍 lessons.md—— 文件几十行时成本可接受,几百行时把"最高频铁律"同步进常驻文件即可。

情况 C:什么平台都不能放指令文件

  • 退化为"会话内固定动作":每次会话开头先读 lessons.md;
  • 或封装成一个 skill/playbook(把 lessons.md 作为它的数据文件),触发即核对。 注意:这仍是被动触发,防错效果弱于常驻指令,但好于没有。

3. 沉淀与维护流程

3.1 沉淀时机(三种,均按「禁止 X —— 因为会 Y」格式)

① 自己命令报错 / exit code 非 0 / 工具 failed 后
② 用户直接纠正你的时候(不等犯错)
③ 用户给你看他处发生的案例(如贴一段别处的报错)

3.2 沉淀步骤

  1. 诊断根因(确认是可复现、可预防的模式,一次性环境噪音不存);
  2. 写禁则:[领域] 禁止 X —— 因为会 Y;预防性写法 Z;
  3. 检查错题本是否有同领域条目:
    • 有 → 扩充那一条(加示例/变体/备注),不新建;
    • 无 → 追加新条目;
  4. 如果这条够痛(预期高频出现)→ 顺手同步到常驻文件的高频铁律区(保持 ≤5 条, 多出来的要挤掉旧的)。

3.3 修剪(建议每 1-2 周或每 100 条做一次)

  • 合并描述同一问题的多条;
  • 删除已不适用的(平台升级/环境变化后);
  • 把"再也不会踩"的条目移出(归档,不删除——历史案例是检索时的好语料)。

3.4 使用时的行为协议(Agent 侧)

时机 行为
准备执行命令/写代码/装包 先检索错题本(关键词:操作对象,如 bash 安装 路径)
命中禁则 立即换用预防性写法,并在回复里显式说明"按错题本禁则改用 X"(形成习惯回路)
报错后 先按 3.1-3.2 沉淀,再修复(沉淀优先,防止遗忘)
同类第二次 扩充单条,不新建

4. 常见问题

Q:错题本条目多了,检索会不会漏? 会,但双层结构兜底:最高频的 ≤5 条已常驻,漏掉的低频条目即使偶尔重犯, 代价也小。真正常犯的会自动升格进铁律区。

Q:用户纠正和报错沉淀有什么区别? 没有区别,都是禁则来源。用户纠正通常更值得沉淀——因为它发生在"还没报错"之前, 正是我们要的前置信号。

Q:会不会和现有记忆/文档体系冲突? 不冲突。错题本只承担"防错禁则"这一种职责;部署备忘、工作流、偏好等仍放各自 主题记忆。错题本里用链接指针引用主题记忆,不复制内容。

Q:需要装 MCP / 插件吗? 不需要。本方案只用 Agent 平台自带的指令文件 + 记忆/文件能力,零依赖。 (这也意味着它几乎可以在任何 Agent 上原样复刻。)