--- name: memory-md-learning description: 学习模式技能,用于记录陷阱、教训和解决方案。支持自动触发(解决问题后)和用户主动触发(用户说"学习"时)。将学习内容分层存储到长期记忆,并在 MEMORY.md 中记录学习事件。 --- # memory-md-learning 技能 用于记录和沉淀学习成果,将经验转化为可复用的知识。 ## 触发模式 ### 模式1:自动触发 当 agent 翻过陷阱、学习了教训、解决了问题时,自动调用本技能。 **典型场景**: - 修复了一个难以发现的 bug - 解决了配置冲突问题 - 找到了更优的解决方案 ### 模式2:用户主动触发 当用户说"这个问题学习一下"、"记录下来"或类似表达时,调用本技能。 **触发关键词**: - "学习一下" - "记录下来" - "记住这个" - "总结经验" ## 学习输出 每次学习会产生三层记录: ### 1. 技术层(长期记忆) 存储到长期记忆,类别:**事实**,重要性:**≥ 0.8** 格式: ``` 陷阱:[现象描述]。原因:[根本原因分析]。修复:[解决方案]。预防:[如何避免] ``` 示例: ``` 陷阱:pip 安装包时出现 SSL 证书错误。原因:系统时间不正确导致证书验证失败。修复:同步系统时间后重试。预防:定期检查系统时间同步状态 ``` ### 2. 原则层(长期记忆) 存储到长期记忆,类别:**决策**,重要性:**≥ 0.85** 格式: ``` 决策原则([标签]):[行为准则]。触发条件:[何时使用]。行动:[具体做什么] ``` 示例: ``` 决策原则(依赖安装):遇到 SSL 错误时先检查系统时间。触发条件:安装包出现证书相关错误时。行动:执行 ntpdate 或 timedatectl 同步时间后再重试 ``` ### 3. 学习事件(MEMORY.md) 记录到 MEMORY.md 的【学习事件】区块: 格式: ``` - YYYY-MM-DD HH:MM | 一句话概要 | 关键词1,关键词2 ``` 示例: ``` - 2026-03-17 11:30 | 学习 pip SSL 证书问题解决方案 | 学习,pip,SSL,故障排查 ``` ## 文件定位 - **学习脚本**: `~/.openclaw/workspace/skills/memory-md-learning/scripts/learning.py` - **目标文件**: `~/.openclaw/workspace/MEMORY.md` ## 使用方法 ### 命令行调用 ```bash # 记录学习 python3 ~/.openclaw/workspace/skills/memory-md-learning/scripts/learning.py \ --trap "现象描述" \ --cause "根本原因" \ --fix "解决方案" \ --prevent "预防措施" \ --principle "行为准则" \ --trigger "触发条件" \ --action "具体行动" \ --tag "标签" \ --summary "一句话概要" \ --keywords "关键词1,关键词2" ``` ### Python 调用 ```python from skills.memory_md_learning.scripts.learning import record_learning result = record_learning( trap="现象描述", cause="根本原因", fix="解决方案", prevent="预防措施", principle="行为准则", trigger="触发条件", action="具体行动", tag="标签", summary="一句话概要", keywords="关键词1,关键词2" ) if result['success']: print(f"学习记录完成") print(f" - 技术层记忆: {result['technical_memory_id']}") print(f" - 原则层记忆: {result['principle_memory_id']}") print(f" - 学习事件: {result['learning_event']}") if result['recall_verified']: print(" - 记忆召回验证: 通过") ``` ## 学习事件区块 本技能会在 MEMORY.md 中维护一个【学习事件】区块: ```markdown ## 📚 学习事件 > 记录从陷阱和教训中学习的经验。 > 所有学习记录永久保留,可使用 memory-md-archive 技能归档瘦身。 - 2026-03-17 11:30 | 学习 pip SSL 证书问题解决方案 | 学习,pip,SSL,故障排查 - 2026-03-17 14:00 | 掌握 LanceDB 向量索引配置 | 学习,LanceDB,向量数据库 ``` ## 验证机制 每次学习记录后,会自动执行 `memory_recall` 验证: 1. 使用技术层关键词搜索,确认能召回刚记录的技术层记忆 2. 使用原则层关键词搜索,确认能召回刚记录的原则层记忆 3. 如果召回失败,会记录警告信息 ## 最佳实践 1. **即时记录**: 解决问题后立即学习,不要拖延 2. **简洁准确**: 现象、原因、方案要描述清楚 3. **可复用**: 原则层要抽象到可复用的程度 4. **关键词**: 选择能代表问题本质的关键词 5. **告知用户**: 记录完成后告知用户学习已完成 ## 故障排查 ### 记忆召回验证失败 - 检查关键词是否足够代表性 - 确认记忆存储是否成功 - 可能需要等待向量索引更新 ### MEMORY.md 未更新 - 检查文件权限 - 确认学习脚本路径正确 ### 长期记忆未存储 - 检查记忆系统是否正常工作 - 查看是否有错误日志