持续学习框架 continuous-learning

这个技能是一个持续学习框架,用于自动从编码会话中提取模式、跟踪修正并构建可重复使用的知识库,带置信度评分。它帮助开发者提高代码质量、优化开发流程,并推广最佳实践。关键词包括:持续学习、编码模式、错误处理、置信度评分、知识管理、软件开发、最佳实践、代码优化。

架构设计 0 次安装 0 次浏览 更新于 3/8/2026

name: 持续学习 description: 自动从编码会话中提取模式,跟踪修正,并用置信度评分构建可重复使用的知识

持续学习

模式提取框架

在每个重要的编码会话之后,将学习内容提取并分类到三个类别中:

  1. 修正 - 在审查或由用户捕获的错误
  2. 成功方法 - 表现良好并应重复的模式
  3. 反模式 - 导致问题并应避免的方法

学习条目格式

pattern:
  id: "LEARN-2025-0042"
  category: "error-handling"
  type: "correction"         # correction | success | anti-pattern
  confidence: 0.85           # 0.0 到 1.0
  language: "typescript"
  context: "API 错误响应"
  observation: "从数据库异常返回原始错误消息会暴露内部信息"
  lesson: "始终将数据库错误映射到应用级错误码后再返回"
  example:
    before: "catch (e) { res.status(500).json({ error: e.message }) }"
    after: "catch (e) { logger.error(e); res.status(500).json({ error: 'INTERNAL_ERROR' }) }"
  frequency: 3               # 该模式被观察到的次数
  last_seen: "2025-06-15"

置信度评分

分数 含义 行动
0.95+ 在多个项目中验证 自动应用
0.80-0.94 在此代码库中确认 应用并提及
0.60-0.79 观察到但未完全验证 建议并附带说明
0.40-0.59 基于有限数据的假设 应用前询问
<0.40 推测性,需要验证 记录但不应用

基于以下因素更新置信度:

  • +0.10 当模式被用户确认正确时
  • +0.05 当模式在不同上下文中再次观察到时
  • -0.15 当模式导致修正时
  • -0.20 当模式被用户明确拒绝时

会话总结协议

在每个会话结束或上下文压缩前:

  1. 审查所做的更改 - 扫描差异以查找模式
  2. 识别修正 - 初始实施后更改了什么?
  3. 记录成功的首次尝试 - 什么在没有修订的情况下工作?
  4. 记录环境详情 - 框架版本、配置细节
  5. 更新置信度分数 - 根据会话结果调整
  6. 写入知识库 - 将新条目追加到 CLAUDE.mdLEARNED.md
## 会话学习 (2025-06-15)

### 应用的修正
- [0.85] TypeScript: 使用 `satisfies` 而不是 `as` 进行对象字面量的类型缩小
- [0.90] Next.js: 服务器操作必须是异步函数,即使对于同步操作

### 成功模式
- [0.80] PostgreSQL: 状态列上的部分索引减少了查询时间 60%
- [0.75] React: 将数据提取提取到服务器组件中消除了 3 个 useEffect 钩子

### 识别的反模式
- [0.70] 避免:嵌套超过 2 层的 Suspense 边界(导致瀑布效应)
- [0.65] 避免:使用 `any` 抑制 TypeScript 错误在 catch 块中(使用 `unknown`)

知识库组织

按领域构建知识库:

knowledge/
  error-handling.md      # 跨语言的错误模式
  testing.md             # 测试模式和反模式
  performance.md         # 优化学习
  api-design.md          # API 设计决策
  deployment.md          # 基础设施学习
  project-specific.md    # 当前项目约定

每个文件遵循相同的条目格式。通过递增 frequency 和更新 confidence 来去重具有匹配 observation 字段的条目。

修正跟踪

当用户修正代码或方法时:

  1. 记录最初产生的内容
  2. 记录修正内容
  3. 识别根本原因(错误的假设、缺少的上下文、过时的模式)
  4. 创建或更新学习条目
  5. 搜索可能需要相同修正的类似模式
### 修正日志
- **原始**:使用 `useEffect` 在挂载时获取数据
- **修正**:将数据提取移动到服务器组件
- **根本原因**:在服务器组件上下文中应用了客户端 SPA 模式
- **泛化**:在 Next.js App Router 中,优先选择服务器端数据获取用于初始页面数据
- **置信度**:0.90(在 4 个组件中确认)

模式强化

跟踪模式应用的频率以及它们是否成立:

模式:"使用 zod 进行 API 输入验证"
  应用:12 次
  确认:11 次
  修正:1 次(文件上传的边缘情况)
  置信度:0.92
  状态:已建立

状态:

  • 新兴(频率 < 3) - 新模式,需要验证
  • 增长中(频率 3-7) - 积累证据,应用时提及
  • 已建立(频率 8+,置信度 > 0.85) - 自动应用
  • 已弃用 - 曾经有效,现被更好的方法取代

与记忆文件集成

将学习存储在项目的记忆文件(CLAUDE.md 或等效文件)中:

  • 高置信度学习(>0.85)放入主要指令部分
  • 中等置信度(0.60-0.84)放入专门的“学习”部分
  • 低置信度(<0.60)保留在会话笔记中,直到验证
  • 已弃用的模式移动到存档部分,并注明弃用原因

每月审查和修剪知识库。移除 90 天内未引用且置信度低于 0.70 的条目。