目录
1650 字
8 分钟
程序员如何建立个人知识管理体系:从信息囤积到可复用知识

引言:你收藏的 1000 篇文章去哪了#

每个程序员大概都有过这种时刻:看到一篇好文章,随手丢进「稍后读」或收藏夹,然后……再也没有打开过。收藏从未停止,学习从未开始。等真正要用到某个知识点时,你记得「我好像在哪看过」,却翻遍浏览器书签、微信收藏、Notion、本地 Markdown 也找不到。

问题不在于你不努力,而在于你只做了「收集」,没做「整理」和「输出」。本文分享一套适合程序员的极简知识管理方法:不追求花哨的笔记软件,只用 Markdown + 一个 Shell 脚本,把信息囤积变成可复用的知识资产。

一、先想清楚:我们要管理的是「知识」还是「信息」#

信息(Information)是别人生产的、未经消化的原料:一篇文章、一条推文、一段视频。知识(Knowledge)是你内化后、能用自己话复述、能指导行动的东西。

很多人的「知识管理」其实只是在做信息搬运:把网页剪藏进笔记软件,以为存下来就等于学会了。但实际上,存下来只是改变了信息存放的位置,没有改变它和你之间的关系

所以第一条原则是:收集要快,整理要狠,输出要经常。收集阶段不评判、不整理,几十秒丢进一个统一入口;之后再用固定的节奏去消化,把值得留下的信息加工成自己的笔记。

二、一套够用的三层结构#

不必一上来就上 Zettelkasten(卡片盒)那套复杂的链接体系,也不必把 PARA 当成金科玉律。对绝大多数人,三层结构就够用:

notes/
├── 0-inbox/ # 收集箱:所有新东西先丢这里,不做整理
├── 1-archive/ # 归档库:消化过的、按主题分类的永久笔记
└── index.md # 索引:跳转入口,按主题聚合
  • 0-inbox(收集箱):唯一入口。看到好东西,30 秒内丢进来,附上一句「为什么觉得有用」。这一步越快越好,摩擦越小越能坚持。
  • 1-archive(归档库):每周固定时间回顾 inbox,把值得留下的加工成永久笔记,按主题归类。
  • index.md(索引):一份「主题 → 相关笔记列表」的手工目录。它比搜索更重要,因为它体现了你对知识结构的主动梳理。

这个结构对应的是 Tiago Forte 的 PARA 方法中「Projects(项目)→ Areas(领域)→ Resources(资源)→ Archive(归档)」的精简版:先有入口,再有沉淀,最后有归档。

三、每篇笔记只回答一个问题#

程序员写笔记最大的误区,是把笔记写成「大而全的教程」或「会议纪要」。这样的笔记很难复用,因为它的边界模糊。

更好的做法是:一篇笔记只回答一个具体问题。比如不要写「HTTP 协议」,而是写「为什么浏览器要限制并发连接数」。原子化的笔记更容易被链接、被引用、被复用。写的时候问自己三个问题:

  1. 这条信息解决了我什么问题?
  2. 我能不能用自己的话讲清楚?
  3. 下次我在什么场景会用到它?

如果答不上来,这条信息大概率不值得留下来。

四、一个可运行的极简工作流#

下面是一个完整的 Bash 脚本,实现了「收集 → 回顾 → 归档」的闭环。你可以直接复制进 ~/.local/bin/pkm.shchmod +x

#!/usr/bin/env bash
# 极简笔记工作流:new(收集)→ review(回顾)→ archive(归档)
set -euo pipefail
shopt -s nullglob
NOTES_DIR="${NOTES_DIR:-$HOME/notes}"
INBOX="$NOTES_DIR/0-inbox"
ARCHIVE="$NOTES_DIR/1-archive"
new() {
mkdir -p "$INBOX"
local slug="${1:?用法: pkm new <英文slug>}"
local today
today=$(date +%Y-%m-%d)
local file="$INBOX/${today}-${slug}.md"
cat > "$file" <<EOF
---
title: "${slug//-/ }"
created: $today
tags: []
status: inbox
---
## 背景
为什么觉得这条信息有用?
## 要点
用自己的话复述核心内容。
## 下一步
下次什么场景会用到它?
EOF
echo "已创建: $file"
}
review() {
# 列出最近 7 天创建或修改过的笔记,优先处理 inbox
find "$NOTES_DIR" -name '*.md' -mtime -7 -print | sort
}
archive() {
mkdir -p "$ARCHIVE"
# 把 inbox 里已标记 status: done 的笔记移到归档库
for f in "$INBOX"/*.md; do
if grep -q 'status: done' "$f"; then
mv "$f" "$ARCHIVE/"
echo "已归档: $(basename "$f")"
fi
done
}
"$@"

用法只有三条命令:

Terminal window
pkm new http-connection-limit # 1. 收集:快速记一条
pkm review # 2. 回顾:看看最近 7 天记了什么
pkm archive # 3. 归档:把消化完的移走

这个脚本故意做得很「土」:没有数据库、没有同步、没有双链。但正因为简单,你才会真的去用它——而「坚持用」比「工具强大」重要一百倍。

五、比工具更重要的是「回顾节奏」#

任何知识管理系统,最终都会败给「只进不出」。所以回顾(Review)是整套方法的发动机,而不是可选项。

推荐两个固定节奏:

  • 每周一次小回顾(约 30 分钟):清空 inbox。能回答「三个问题」的,加工成永久笔记并打上 status: done;回答不了的,直接删掉。敢于删除是知识管理的核心能力——留存成本永远高于再找到它的成本。
  • 每月一次大回顾(约 1 小时):翻看 index.md,问自己「这个月新增的笔记,哪些真正改变了我做某件事的方式」。把那些反复用到的笔记,提炼成一篇可以公开输出的文章。

你会发现,最好的知识管理就是「输出」本身。写一篇博客、做一个 demo、给同事讲一次,比任何笔记系统都更能逼你把知识结构化。

结语:知识管理的复利#

知识管理不是整理癖,而是为了让「过去踩过的坑」和「想通的道理」在未来的某一天自动出现。它的复利来自两件事:信息只进不出是负债,能复用的才是资产;而资产的价值,取决于你是否建立了「收集 → 回顾 → 输出」的闭环。

从今天开始,把收藏夹里的东西,挑三篇真正有用的,用 pkm new 记下来,然后下周回顾一次。一个月后,你会比过去一年「收藏」得更少,却「掌握」得更多。


参考来源#

程序员如何建立个人知识管理体系:从信息囤积到可复用知识
https://www.hehonglei.cn/posts/personal-knowledge-management-guide/
作者
Honglei He
发布于
2026-09-04
许可协议
CC BY-NC-SA 4.0