学习管理系统
如果你已经用过 AI 编程助手一周以上,可以直接读本文——不必严格按前置要求的顺序。
工具对照
文件夹约定与管线步骤对 Claude Code / Codex / Cursor 都成立。Claude 侧可用 Skill(如
/wiki、/sync-all)加速;Codex 侧用同一目录结构 +AGENTS.md里写「写笔记前先搜 learnings/」即可。没有 Skill 时,把步骤当 checklist 手动执行。
学完教程之后呢?
Section titled “学完教程之后呢?”只学会用助手写代码,等于学会了用锤子但没学怎么做家具。教程教的是“怎么用工具”,这篇教的是“怎么持续变强”。
AI 编程助手在这一点上很特别:它是你的学习对象(你在用它写代码的同时也在学习编程)、学习工具(你用它来理解你不懂的东西)、以及学习管理基础设施(你用它来记录和组织你的学习)。这三个身份同时存在。
大多数用户只用了前两个身份——拿它写代码,拿它问问题。第三个身份才是这篇文章要讲的核心:怎么把你的学习变成一个能自我增殖的系统,而不是每次学完就忘了,下次重来。
这个系统不是什么昂贵的第三方工具。就是几个文件夹、一些 markdown 文件、加上几条规则。成本几乎为零,但效果是把你和助手的每一次对话,从“用完就扔的一次性纸巾”变成“存进知识银行的复利资产”。
类比:学编程像逛森林
Section titled “类比:学编程像逛森林”想象你在逛一片森林。每走几步就发现一棵没见过的树、一条没走过的路、一株有意思的蘑菇。一个游客的做法是:看到有趣的东西,拍张照,继续走。一年后翻手机相册,照片还在,但完全不记得那棵树叫什么、那条路通向哪、那株蘑菇能不能吃。
一个植物学家的做法是:看到一棵新树,在本子上记下它的名字、特征、发现地点、和你已经知道的哪些树是近亲。每次回到营地,把今天的笔记归档到对应的文件夹。下次再逛这片森林,翻开本子,你上次走到哪了、学过哪些树了,一目了然。
学习管理系统的本质就是把“游客模式”升级为“植物学家模式”。 不是学得更多,而是每一次学都有痕迹,每一个痕迹都能被找到。
工件选择启发式
Section titled “工件选择启发式”每一次你学到新东西,面临的第一个决策是:记在哪?
这不是一个随便的决定。放错了地方,三个月后你就找不到了。下面是一条“命中即停”的工件选择规则,按顺序判断,第一个能匹配就记在那:
| 优先级 | 触发条件 | 记在哪里 | 为什么排这个位置 |
|---|---|---|---|
| 1 | mentor / 同事 / code review 的反馈 | feedback/inbound/ |
别人花时间给你的反馈是最稀有的输入,丢了最可惜 |
| 2 | 新概念 / 模式 / 技能,以后能复用 | learnings/ |
可复用知识是你最重要的资产,不记下周就忘了 |
| 3 | 排查超过 30 分钟,且找到了根因 | problems/ |
你投入了时间,根因有价值。下次踩同样的坑就是纯浪费 |
| 4 | 其他一切(杂事、todo、零星心得) | daily/ |
杂事也值得记,但用最简单的方式 |
这个排序的核心逻辑:
- 反馈排第一,因为 mentor 不会把同样的话说两遍。你今天听懂了,两周后你可能忘了。两周后你的 inbound 还在,随时能回看。
- 新概念排第二,因为可复用知识是你最重要的资产。“学会怎么配置 pre-commit hook”不是一个一次性的操作——你以后每次需要 hook 都可以回看这篇 learning。
- 排查 30 分钟以上的问题排第三,因为 30 分钟的阈值意味着你已经走完了“试这个、试那个”的阶段,真正找到了原因。10 分钟就解决的问题不值得专门记——写进 daily 就够了。
- 其他排最后,因为 daily 本来就是杂事收纳箱。不是贬义——收纳箱很有用。你不知道放哪的东西就放 daily。但先把有价值的放到它们该去的地方。
“命中即停”这四个字是关键:第一个匹配就停止,不要重复记。如果一条反馈值得记,它不该同时出现在 feedback 和 daily 里。如果一个问题找到了根因,它不该同时出现在 problems 和 learnings 里。一件事一个坑位。
真实场景举例:
- 同事在群里说“你这个 API 的返回格式不对,应该用 snake_case”——
feedback/inbound/ - Claude 跟你解释了一个你不懂的 Python 特性——
learnings/ - 你调一个配置调了 40 分钟才发现少了一个空格——
problems/ - 今天做了三个小任务但没什么值得单独记的——
daily/
知识捕获管线
Section titled “知识捕获管线”从对话中的灵光一闪到一篇永久笔记,完整的路径是七步:
1. 对话中的洞察
Section titled “1. 对话中的洞察”“哦,原来是这样。”——这个瞬间是管线的起点。它可能发生在 Claude 解释一个概念时、你排查出一个 bug 时、或者同事指出了一个你没想到的问题时。
关键:你不需要在这一刻就写笔记。你只需要意识到这是一个值得记的 moment。
2. 助手建议记录
Section titled “2. 助手建议记录”助手会注意到你学到了新东西,主动建议你写下来(若没有,你也可以主动说「帮我按工件规则记一条」)。这是助手作为“学习管理助手”的第一个身份切换——从“帮你做事”切换到“帮你记住学到的东西”。
3. 选对工件类型
Section titled “3. 选对工件类型”用上一节的启发式判断该记在哪。30 秒决策,不要犹豫超过 1 分钟。
4. 用自己的话写
Section titled “4. 用自己的话写”这是整条管线里最核心的一步,也是最容易被跳过的一步。
不要复制粘贴助手的解释。把它翻译成你自己的语言。如果你不能用你自己的话解释它,说明你没有真正理解它。
类比:你读了一本教科书,合上书,能不能用你自己的话讲给一个没读过这本书的人听?如果能,你懂了。如果不能,你只是在认字。
实际操作:看完解释后,把聊天窗口最小化,在笔记里先写一遍你自己的版本。写完了再跟原文对比,看看有没有遗漏或错误的地方。
5. 添加来源字段
Section titled “5. 添加来源字段”每一篇笔记都有一个 来源: 字段,指向原始对话、原始文档、或者给你反馈的人。这不是形式主义——三个月后你想回顾这篇笔记的上下文,来源: 就是你的时光机。
6. 更新索引
Section titled “6. 更新索引”写完笔记后,把它注册到知识库索引中(Claude 可用 /wiki index;没有 Skill 时手动在 learnings/index.md 加一行链接)。一篇没有被索引的笔记文件约等于不存在——你不会记得它的文件名,助手也不会主动搜索它。
7. 刷新渲染
Section titled “7. 刷新渲染”若你有 HTML 渲染管线,运行 /sync-all(或项目里的 build 脚本)重新生成可读视图。没有渲染步骤时,至少确认 markdown 文件已保存且索引已更新。这步是管线的最后一步:把“对话中的洞察”变成“能再次找到的成果”。
这七步管线的本质:把转瞬即逝的对话洞察,转化为可搜索、可引用、可复利的永久知识资产。
这个系统的物理形态极其简单——就是几个文件夹和一堆 markdown 文件:
intern-journal/ daily/ ← 每日记录(YYYY-MM-DD.md) learnings/ ← 新概念和技能(kebab-case 文件名) problems/ ← 排查记录(根因 + 解法) feedback/ inbound/ ← mentor/同事/CR 的反馈(原始记录) action/ ← 从反馈拆出的执行计划 sources/ ← 学习材料卡片(书、课程、文章) explorations/ ← 小项目和实验每个文件夹里有一个 _template.md,包含该类型文件的推荐结构。写新文件时先复制模板再填充,确保结构一致。
为什么用文件而不是数据库或 Notion?
Section titled “为什么用文件而不是数据库或 Notion?”这是一个值得认真回答的问题,因为大部分知识管理教程会教你用 Notion、Obsidian、或者自建数据库。文件系统方案看起来太“原始”了。
但文件系统有三个优势是其他方案无法同时提供的:
1. Git 能追踪 — 每一次修改都有 diff、有作者、有 commit message。这意味着你的知识库和你的代码享有完全相同的版本控制能力。你可以用 git log 回答“我四月份学到了什么”,用 git blame 回答“这条规则是什么时候加的、为什么”。Notion 做不到这一点(它有历史,但不如 git 精细和可搜索)。
2. 助手能直接读 — 本地 markdown 不需要 MCP、不需要第三方账号。你在 CLAUDE.md / AGENTS.md 里写一句“先 grep learnings/”就能让助手自动查找已有笔记。换成 Notion,你要么手动复制粘贴,要么搭 API——多了一整层复杂度。
3. 未来 10 年可读 — markdown 是纯文本格式,任何文本编辑器都能打开。Notion 可能 10 年后不存在了(或者改了定价你不想付钱),但你本地的 .md 文件永远是你的。这是最底层的可移植性。
这三个优势加起来,意味着文件系统方案不是“因为简单所以凑合用”,而是“正因为简单,所以反而是最坚固的方案”。
日常循环中的知识管理
Section titled “日常循环中的知识管理”学习管理系统不是独立运行的——它嵌入在你的日常节奏里。回忆一下日常节奏中的“记录”环节(Codex 用户把同一三问写进收工 checklist 即可):
每天收工前,问自己三个问题:
- 今天学到了什么? — 有没有值得写进
learnings/的新概念? - 今天踩了什么坑? — 有没有排查超过 30 分钟且找到根因的问题?值得进
problems/吗? - 今天收到了什么反馈? — 有没有 mentor 或同事给的意见?值得进
feedback/inbound/吗?
这三个问题是知识捕获的最低门槛。不管今天多忙,回答这三个问题只需要 3 分钟。
每周五:回顾
Section titled “每周五:回顾”检查知识库健康:有没有写了但没索引的笔记?有没有引了但没消化的来源?有没有互相矛盾的规则?(Claude 可跑 /wiki;否则手动扫一遍目录与索引。)
每月末:退一步看全局
Section titled “每月末:退一步看全局”打开 learnings/ 目录,浏览一遍文件列表。有没有一些主题你反复在学习?(那是你的兴趣方向正在成型)有没有一些早期笔记你已经看不懂了?(那是需要重新消化或更新的信号)
月维护的本质是从日常的“显微镜”视角切换到“望远镜”视角。你不需要在每天都关注这些趋势——一个月看一次就够了。
1. 所有东西写进 daily
Section titled “1. 所有东西写进 daily”这是最自然的错误——因为 daily 最方便打开,最没有心理负担。每天往里塞,三个月后 daily 文件变得很长,你想找一条三周前的关键信息,翻半天翻不到。
解法:严格使用工件选择启发式。有价值的东西花 1 分钟归类,剩下的才放 daily。
2. 笔记是复制粘贴助手的回答
Section titled “2. 笔记是复制粘贴助手的回答”看起来省时间,实际上在欺骗自己。你的脑子没有参与加工过程,信息没有真正进入你的知识网络。一个月后你再看这篇笔记,会发现“这段我好像没写过”。
解法:写完笔记后关掉对话框,问自己“我能用三句话给别人讲清楚这个吗”。讲不出来就重新写。
3. 笔记写了不索引
Section titled “3. 笔记写了不索引”一个新的 learnings/ 文件躺在目录里,既没有被 learnings/index.md 引用,也没有在任何 overview 页上出现。它物理上存在,但逻辑上是孤立的。你以后只会翻目录的前两个文件,永远翻不到它。
解法:写完笔记立刻更新索引(/wiki index 或手动加链接)。不是“等会再弄”,是立刻。
4. 追求完美结构,永远不开始
Section titled “4. 追求完美结构,永远不开始”花了一天设计“最完美的文件夹命名规范”和“最标准的 frontmatter 格式”,笔记本体一篇都没写。这是典型的“用整理代替学习”——看起来很忙,实际产出为零。
解法:先在 daily/ 里把想法写下来。当它积累了足够的实体内容,再花时间归档。先生产,后组织。
5. 只有输入没有输出
Section titled “5. 只有输入没有输出”记了大量 learnings,但从来不回看、不复习、不用。笔记变成了知识的坟场,而不是知识的复利机器。
解法:每周五的回顾就是你的“输出”环节。至少确认每条 learnings 你还记得是什么。记不清的重新读一遍。
约 15 分钟,从今天对话里挑一个你学到的点,走完捕获管线(对应上文第 3–7 步):
- 用工件表选坑位(feedback / learning / problem / daily)——命中即停
- 不看助手原文,用自己的话写一篇短笔记(至少:是什么、为什么重要、一个例子)
- 加上
来源:字段(对话日期或材料名即可) - 更新索引(Skill 或手动一行链接)
- 若有渲染脚本就跑一遍;没有则打开文件确认可读
成功标准: 笔记在正确目录;索引能点到它;你能不看屏幕口述三句话讲清内容。
Checkpoint
Section titled “Checkpoint”- □ 我能按优先级说出四类工件,并解释「命中即停」
- □ 我理解「用自己的话写」比粘贴助手回答更重要
- □ 我完成了上面的「动手试一试」,至少产出一篇带
来源:的笔记 - □ 我知道没有 Skill 时,同一管线可以靠目录 + checklist 完成
- □ 我不会把所有东西都塞进
daily/
- 日常节奏——日循环怎么运转
- 记忆系统设计原则——记忆层怎么设计
- 工作流编排思路——学习管理在更大工作流中的位置
- 下载 Skill Pack——把本文系统打包成可复用实现