主动学习
核心定位:让 AI 主动学习未知领域,并将知识内化为自己的记忆、第一反应、直觉。
⚠️ 铁律:无实践,无记忆
禁止:直接从网络搜索整理成知识存入 .claude/memory/
必须:每个写入 memory 的知识点都必须有实践验证记录
❌ 错误:搜索文档 → 整理要点 → 写入 memory
✅ 正确:搜索文档 → 实际操作验证 → 记录验证过程 → 写入 memory
Core Principle
学习 = 实践循环,不是理论积累
遇到未知 → 实践 → 验证 → 内化 → 沉淀为记忆
↑___________|
循环
关键认知:
- 知识只有经过实践验证才有价值
- 内化后成为第一反应,不需要查阅
- 只沉淀稳定、可复用的知识
- 验证记录是知识的"出生证明"
学习深度
根据任务需求和知识缺口判断:
| 深度 | 目标 | 时间 | 适用场景 | 验证要求 | |------|------|------|----------|----------| | 快速 | 借助文档完成任务 | 10-20 min | 一次性任务 | 任务完成 = 验证 | | 实用 | 不查文档独立工作 | 30-60 min | 项目中反复使用 | 多次使用成功 | | 深度 | 处理边界情况 | 1-2 hours | 核心技术栈 | 解决过真实问题 |
默认:快速(除非明显需要更深入)
判断依据:
- 任务完成后是否还会用到?→ 实用/深度
- 是否是项目的核心技术?→ 深度
- 只是用一次的工具?→ 快速
临时笔记 vs 正式记忆
临时笔记(可放项目目录,不入 memory):
- 搜索到的文档链接
- 复制的命令参考
- 未经验证的信息
- 格式:随意,标记
[未验证]
正式记忆(入 .claude/memory/):
- ✅ 实际操作验证过
- ✅ 包含 Verification 记录
- ✅ 可作为"第一反应"使用
临时笔记 → 实践验证 → 正式记忆
↑________________|
未验证可丢弃
目录结构
学习成果存储在项目当前目录的 .claude/memory 下,可提交到 Git 方便团队协作:
<项目根目录>/.claude/memory/
├── MEMORY.md # 索引(自动加载)
└── knowledge/ # 内化的知识
├── zig.md # 每个领域一个文件
├── docker.md
└── webgl.md
为什么放在项目目录:
- 提交到 Git,团队成员共享知识
- 新成员 clone 后立即可用
- 知识与项目绑定,跟随项目演进
工作流程:
- 遇到不熟悉的技术 → 判断学习深度
- 搜索文档 → 实际操作验证
- 积累验证过的理解 → 保存到
.claude/memory/knowledge/<name>.md - 必须包含 Verification 部分(无验证记录 = 不写入)
- 在
.claude/memory/MEMORY.md添加索引
验证机制
写入 memory 前必须回答:
□ 我实际运行/测试了什么?
□ 结果是什么?符合预期吗?
□ 有什么出乎意料的情况?
验证形式(至少一种):
- 运行了命令并观察输出
- 写了测试代码并执行
- 在项目中实际应用并成功
- 修复了真实问题
禁止的"验证":
- ❌ "文档这么说" — 这是理论,不是验证
- ❌ "网上都这么写" — 这是复制,不是验证
- ❌ "逻辑上应该对" — 这是推测,不是验证
快速学习 (10-20 min)
目标:借助文档完成当前任务,可选保存简要参考
流程
-
搜索核心文档
- 用 WebSearch 找官方文档
- 聚焦 "Getting Started" 或具体 API
-
边做边学
- 读相关章节
- 立即应用到当前任务
- 记录什么有效、什么无效
-
保存简要参考(可选)
- 只在项目中可能再用到时保存
- 存到
.claude/memory/knowledge/<name>.md - 保持精简:What、1-2 个 Patterns、Gotchas
无需正式评估 — 任务完成即是验证。
实用掌握 (30-60 min)
目标:不依赖文档独立完成项目任务
流程
-
收集资源
- 2-3 个权威来源
- 优先级:官方文档 > 教程 > 博客
-
通过项目任务学习
- 用真实项目需求练手
- 边做边记录发现
- 注意模式和反模式
-
创建知识文件
.claude/memory/knowledge/<领域>.md内容:
- What(一句话)
- Patterns(怎么用)
- Gotchas(避免什么)
- 项目特定笔记
-
更新 MEMORY.md 索引
自检:
□ 不查文档能完成典型任务吗?
□ 理解核心概念了吗?
□ 记录了重要的坑吗?
有缺口 → 针对性搜索 → 更新知识
深度精通 (1-2 hours)
目标:处理边界情况、调试问题、做出好的架构决策
仅在知识是项目核心时使用。
流程
-
全面学习
- 官方文档 + 进阶指南
- 边界情况和坑
- 最佳实践和反模式
-
通过真实工作练习
- 多个项目任务
- 遇到并解决真实问题
- 记录解决方案
-
创建完整知识文件
.claude/memory/knowledge/<领域>.md内容:
- How It Works(原理/架构)
- Patterns + 为什么有效
- 边界情况及处理
- 调试策略
- Gotchas(提炼的失败教训)
- 项目特定决策
-
更新 MEMORY.md 索引
自检:
□ 能解释核心概念吗?
□ 不查文档能工作吗?
□ 能处理边界情况吗?
□ 能调试问题吗?
□ 能做出好的设计决策吗?
有缺口 → 搜索 → 练习 → 更新知识。循环直到有信心。
工作流总结
遇到未知 → 判断深度 → 边做边学 → 沉淀为知识/记忆
↓
快速 ← 实用 ← 深度
↓ ↓ ↓
任务完成 独立工作 处理边界情况
使用示例
场景1:用户要求用 Zig 写一个工具(AI 不熟悉 Zig)
快速:搜索 Zig 基础语法 → 边做边学 → 完成任务 → 如果后续还用,保存简单笔记
场景2:项目用 Docker 部署(AI 需要反复操作)
实用:学习 Docker 基础 → 通过实际部署任务练习 → 保存常用命令和配置模式
场景3:项目核心是 WebGL 渲染引擎
深度:系统学习 WebGL → 边做项目边积累 → 保存架构理解、调试策略、最佳实践
核心原则
- 边做边学 — 在实际任务中学习,不是为了学习而学习
- 按需深入 — 一次性任务快速过,核心知识深入学
- 内化为记忆 — 学到的知识要成为第一反应
- 保持精简 — 只沉淀稳定、可复用的知识
知识文件模板
快速 / 实用 模板
# [知识领域名称]
## What
[一句话描述]
## Verification ⚠️ 必填
[我做了什么来验证这些知识]
- 操作:[具体执行了什么命令/代码]
- 结果:[输出是什么,符合预期吗]
- 日期:YYYY-MM-DD
## Patterns
1. [模式名称]
[代码示例]
## Gotchas
- [要避免什么]: [为什么]
## Project Notes
[本项目特定的决策]
无 Verification = 不写入 memory
深度模板(追加以下部分)
## How It Works
[原理/架构 - 理解本质帮助调试]
## Debugging
- [现象]: [原因和修复方法]
## Edge Cases
- [特殊场景]: [如何处理]
## Verification Log ⚠️ 必填
多次验证记录:
| 日期 | 验证操作 | 结果 | 发现 |
|------|----------|------|------|
| 2024-01-15 | 运行 `docker compose up` | 成功启动 | 端口冲突需先清理 |
| 2024-01-16 | 构建多阶段镜像 | 镜像大小减少 60% | 多阶段效果显著 |
MEMORY.md 索引格式
## Knowledge
AI 内化的知识(成为第一反应):
- [zig](knowledge/zig.md) - 系统编程语言
- [docker](knowledge/docker.md) - 容器化部署
- [webgl](knowledge/webgl.md) - 3D渲染API
术语说明
| 术语 | 含义 | 示例 | |------|------|------| | Patterns | 成功的做法 | "用 async/await 处理异步" | | Gotchas | 失败的教训(提炼后) | "忘记 await 会导致 Promise 未 resolve" | | Edge Cases | 边界情况 | "空数组时 reduce 会报错" | | Debugging | 调试经验 | "Promise pending → 检查是否忘记 await" | | Knowledge | 内化的知识 | 成为第一反应,不需要查阅 |
微信扫一扫