mcpField
C
continuous-learning

continuous-learning

github.com/rohitg00Agent 工作流2.8k193 次安装24 周前更新
代码仓库

关于 continuous-learning

用于在编码会话后记录纠正经验、有效做法和反模式的技能,并为条目标注置信度。它帮助开发者和编码 Agent 将重复经验整理到项目记忆文件及按领域划分的知识文件中。

主要功能

  1. 01分类记录学习条目
  2. 02评估并更新置信度
  3. 03追踪纠正并提炼通用经验
  4. 04按领域组织知识文件
  5. 05追踪模式频率与状态
  6. 06提供记忆文件整合指引

适用场景

  1. 01记录编码会话后的经验
  2. 02将用户纠正转化为可复用指引
  3. 03应用前检查已有模式
  4. 04维护并清理项目经验

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rohitg00/awesome-claude-code-toolkit --skill continuous-learning

安装后在 Claude Code 中输入/continuous-learning确认已加载。

详细介绍

持续学习

模式提取框架

每次重要的编码会话结束后,提取并将经验归入以下三类:

  1. 纠正 - 在审查过程中或由用户指出的错误
  2. 成功做法 - 效果良好、值得重复使用的模式
  3. 反模式 - 导致问题、应当避免的做法

学习条目格式

pattern:
  id: "LEARN-2025-0042"
  category: "error-handling"
  type: "correction"         # correction | success | anti-pattern
  confidence: 0.85           # 0.0 to 1.0
  language: "typescript"
  context: "API error responses"
  observation: "Returning raw error messages from database exceptions exposes internals"
  lesson: "Always map database errors to application-level error codes before returning"
  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               # times this pattern has been observed
  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.md 或 LEARNED.md
## Session Learnings (2025-06-15)

### Corrections Applied
- [0.85] TypeScript: Use `satisfies` instead of `as` for type narrowing with object literals
- [0.90] Next.js: Server Actions must be async functions, even for synchronous operations

### Successful Patterns
- [0.80] PostgreSQL: Partial indexes on status columns reduced query time by 60%
- [0.75] React: Extracting data fetching into Server Components eliminated 3 useEffect hooks

### Anti-Patterns Identified
- [0.70] Avoid: Nesting more than 2 levels of Suspense boundaries (causes waterfall)
- [0.65] Avoid: Using `any` to suppress TypeScript errors in catch blocks (use `unknown`)

知识库组织方式

按领域组织知识库:

knowledge/
  error-handling.md      # Error patterns across languages
  testing.md             # Test patterns and anti-patterns
  performance.md         # Optimization learnings
  api-design.md          # API design decisions
  deployment.md          # Infrastructure learnings
  project-specific.md    # Current project conventions

每个文件都采用相同的条目格式。通过递增 frequency 并更新 confidence,对 observation 字段相同的条目进行去重。

纠正追踪

用户纠正代码或做法时:

  1. 记录最初的产出
  2. 记录纠正内容
  3. 找出根本原因(错误假设、缺少上下文、模式过时)
  4. 创建或更新学习条目
  5. 搜索可能需要相同纠正的类似模式
### Correction Log
- **Original**: Used `useEffect` to fetch data on mount
- **Correction**: Moved data fetching to Server Component
- **Root cause**: Applied client-side SPA pattern in Server Component context
- **Generalization**: In Next.js App Router, prefer server-side data fetching for initial page data
- **Confidence**: 0.90 (confirmed across 4 components)

模式强化

追踪模式的应用频率,以及模式是否有效:

Pattern: "Use zod for API input validation"
  Applied: 12 times
  Confirmed: 11 times
  Corrected: 1 time (edge case with file uploads)
  Confidence: 0.92
  Status: ESTABLISHED

状态:

  • EMERGING(频率 < 3)- 新模式,需要验证
  • GROWING(频率 3-7)- 证据逐渐增多,应用时需说明
  • ESTABLISHED(频率 8+,置信度 > 0.85)- 自动应用
  • DEPRECATED - 曾经有效,但现已被更好的做法取代

与记忆文件集成

将经验存储在项目的记忆文件中(CLAUDE.md 或同类文件):

  • 高置信度经验(>0.85)放入主要说明部分
  • 中等置信度经验(0.60-0.84)放入专门的“经验”部分
  • 低置信度经验(<0.60)保留在会话笔记中,直至得到验证
  • 将已弃用的模式及其弃用原因移至归档部分

每月审查并精简知识库。删除 90 天内未被引用且置信度低于 0.70 的条目。

评论

支持 Markdown