name: learn description: 从当前对话中提取并持久化见解到知识库 user_invokable: true
学习
从当前对话中提取见解,并将其持久化到项目的知识库中。
功能说明
分析对话上下文以识别:
- 模式:在此项目中运行良好的方法
- 特性:发现的特定于项目的怪异或非标准行为
- 决策:做出的架构或实现选择及其理由
这些见解会跨越会话边界并经受上下文压缩,从而随着时间的推移建立对项目的持久理解。
指令
-
分析对话,寻找:
- 可能再次适用的成功解决问题的方法
- 发现的关于代码库的异常行为或陷阱
- 做出的决策及其原因(架构选择、库选择、选择的模式)
-
对每个见解进行分类,分为模式、特性或决策
-
格式化并追加到
knowledge/learnings/目录下的相应文件:patterns.md- 哪些方法有效quirks.md- 意外行为decisions.md- 带有理由的选择
-
更新每个文件中的元数据(entry_count, last_updated)
-
更新
knowledge/state.json中的状态:- 将
last_extraction设置为当前时间戳 - 递增
extraction_count - 将
queries_since_extraction重置为 0
- 将
-
向用户报告学习到的内容
条目格式
模式条目
## 模式:[简短描述性标题]
- **发现日期:** [ISO 日期]
- **上下文:** [导致此发现的任务/问题]
- **见解:** [哪种方法有效以及原因]
- **置信度:** 高|中|低
特性条目
## 特性:[简短描述性标题]
- **发现日期:** [ISO 日期]
- **位置:** [适用的文件/模块/区域]
- **行为:** [异常或意外之处]
- **解决方法:** [如何处理它]
- **置信度:** 高|中|低
决策条目
## 决策:[简短描述性标题]
- **做出日期:** [ISO 日期]
- **上下文:** [促使此决策的原因]
- **选择:** [决定了什么]
- **理由:** [为何选择此方案而非其他]
- **置信度:** 高|中|低
置信度级别
- 高:清晰、已验证且有强有力证据的见解
- 中:合理的推断,可能正确
- 低:初步观察,需要验证
只有高和中置信度的见解会影响路由决策。
步骤
- 回顾对话以寻找可提取的见解
- 对于找到的每个见解:
- 读取目标文件(patterns.md, quirks.md, 或 decisions.md)
- 检查重复项(如果存在类似见解则跳过)
- 按上述格式追加新条目
- 更新元数据(递增 entry_count,设置 last_updated)
- 读取并更新
knowledge/state.json - 向用户报告摘要:
知识提取完成 ───────────────────────────── 已提取: [模式] "已学习的模式标题" [特性] "已发现的特性标题" [决策] "已记录的决策标题" 知识库现在包含: - X 个模式 - Y 个特性 - Z 个决策
提取示例
来自调试身份验证问题的对话:
提取的特性:
## 特性:身份验证令牌需要 base64 填充
- **发现日期:** 2026-01-08
- **位置:** src/auth/tokenService.ts
- **行为:** 此代码库中的 JWT 令牌使用非标准的无填充 base64,导致标准解码器失败
- **解决方法:** 使用自定义的 `decodeToken()` 辅助函数而非 atob()
- **置信度:** 高
注意事项
- 此命令从当前对话中提取见解
- 如需持续提取,请改用
/learn-on - 见解应特定于项目,而非通用编程知识
- 避免提取明显或琐碎的信息
- 对置信度不确定时,使用“中”