principles.md — L1 永久原则,全部加载patterns/index.md — L2 经验索引开始任务前,检查已加载的 L1/L2 中有没有和当前任务相关的坑。有则先提醒用户再执行。
示例:"开始之前提醒一下:根据 P042,配置提供商名要避开内置插件名..."
对话过程中,发现以下信号时写一行到 pending.jsonl:
信号怎么识别用户纠正用户说"不对/错了/应该是..."操作失败重试同一操作做了 2 次以上用户给新知识"其实应该.../你不知道的是..."用户表达偏好"我喜欢.../以后都.../别再..."用户满意"牛啊/完美/就是这样"
写入格式(每条一行 JSON):
json
{"ts":"时间","signal":"类型","brief":"一句话标题","detail":"详细描述:发生了什么、为什么错/对、用户原话要点","source":"agent"}
字段说明示例brief一句话标题,快速扫描用"提供商名不要用 qwen"detail综合时的决策依据,包含上下文和原因"用户配置 AI 模型时用 qwen 作为提供商名,触发内置插件劫持致 4008 错误。用户纠正应改用 aliyun"
规则:
回复中用到了某条 L1/L2 记忆时,在回复里标注(如"参考 P042")。会话结束时一次性批量写入 stats/citation-log.jsonl,不要逐条写。
格式: {"ts":"时间","source":"principles.md","entry":"P042_禁用qwen","action":"cited","context":"用户问提供商配置"}
用户明确表达了信号,跳过 pending 直接写入:
用户说你的动作"记住:XXX"直接写入 principles.md(L1)"这个经验记一下"问用户什么场景下需要,写入对应 patterns/ 文件(L2)+ 更新 index.md"反思一下 / 回顾一下"回顾当前上下文 + 读 pending,生成反思报告,直接写入 L1/L2"好了 / 满意 / 完成"快速检查:这次有没有值得记的?有就直接写入"不对 / 有问题"理解具体纠正了什么,分类后直接写入 L1 或 L2
如果 pending 中有之前积累的信号,一并处理并清空。
Heartbeat 触发时检查:
text
pending.jsonl 有 5 条以上信号? → 触发综合
距上次综合超过 24h 且 pending 不为空? → 触发综合
都不满足? → 跳过,不打扰用户
综合流程:
pending.jsonlpending.jsonl自主分类,不逐条问用户:
text
这条经验如果在需要时没被加载,会导致犯错或失败吗?
├─ 会 → L1
└─ 不会,只是效率低一点 → L2
拿不准?→ 默认放 L1
markdown
### P001: 简短标题
category: 配置/技能/调研分析/多代理/排障/通用/其他
source: 2026-03-28 什么事得出的
why: 为什么要遵守(用于举一反三)
generalize: 泛化规律(从个例提炼的通用模式)
---
具体内容,1-3 句话说清楚。
编号规则:在 principles.md 中找到最大的 P 编号,+1。
写入对应领域文件,同时更新 index.md:
领域文件中的条目:
markdown
## 简短标题
context: 什么场景下需要加载这条经验(自然语言描述)
tags: [关键词1, 关键词2, 关键词3]
source: 2026-03-28 什么事得出的
---
具体内容,包括步骤、命令、注意事项等。
index.md 中追加一行:
markdown
- 简短标题 | file: config.md | context: 什么场景下需要加载
领域文件选择:
markdown
## 自进化反思报告
时间: YYYY-MM-DD HH:MM
### 发现 1: [类型] 简短描述 → 已分类为 L1/L2
- 事件:发生了什么
- why: 为什么值得记住
- generalize: 通用规律
- **agent 分类:L1/L2(理由)**
### 发现 2: ...
> 以上分类由我自主完成。如有异议请指出,我会调整。
### 记忆系统健康度
- L1 原则数: X 条,本次新增 X 条
- L2 经验数: X 条,本次新增 X 条
用户说动作"有哪些原则"读 principles.md,按 category 分组展示"关于XX的经验"读 patterns/index.md,语义搜索相关条目并展示"记忆统计"从 stats/citation-log.jsonl 生成统计报告"清理记忆"列出零引用条目和长期未验证的 L1,引导审查
文件用途principles.mdL1 永久原则pending.jsonl信号临时队列patterns/index.mdL2 语义索引patterns/config.md配置类经验patterns/skills.md技能类经验patterns/multi-agent.md多代理协作经验patterns/debug.md排障经验patterns/research.md调研分析经验patterns/general.md通用经验patterns/other.md未分类兜底stats/citation-log.jsonl引用日志config.yaml配置项
所有路径基于 ~/.openclaw/workspace/self-evolution/。