LESSONS.md——让技能越用越聪明
技能不是静止的
SKILL.md 定义了技能能做什么,但如果一个技能被用了 100 次——Agent 应该已经学到了一些经验教训:
- 「上次用户让我研究 Spring Boot 升级时,我还查了它依赖的库的兼容性,这个总是被忽略」
- 「公众号文章写作的字数最好控制在 1500-2500 字,太长了没人读」
- 「SQL 查询助手要注意不要在生产库上直接跑 UPDATE」
LESSONS.md 就是放这些经验的地方。
结构
LESSONS.md 是自由格式的 Markdown——没有强制 schema,但推荐几个实用的段落:
- 常见坑:哪些是容易犯的错误
- 最佳实践:经过多次使用验证的好做法
- 用户偏好摘录:Agent 从 PROFILE.md 里提炼的、与这个技能相关的用户偏好
- 版本相关:特定版本下有效的注意事项
Agent 怎么用
Agent 执行技能时,MateClaw 会在注入 SKILL.md 的 prompt 之前,先注入 LESSONS.md。Agent 读到这些经验,在执行过程中自动应用——不需要每次都手动提醒。
自动更新
MateClaw 会在每次技能执行完成后,自动向 Agent 询问「这次执行有没有什么值得记录到 LESSONS.md 的经验?」。Agent 给出建议,人类用户审核后可以选择是否采纳。这让 LESSONS.md 可以真正地从使用中生长,而不是写一次就放着不动。
一个实际例子
假设你有一个「代码 review」技能。用了几十次之后,LESSONS.md 里可能会积累出:
常见坑:不要只看代码风格,漏掉了性能问题最佳实践:先跑一下测试,再看代码用户偏好:用户 A 喜欢 inline comment,用户 B 喜欢 summary 后再给 detail版本相关:Spring Boot 3.5 之后自动配置有 breaking changes,review 时要特别注意