用知识库跑通一个项目:一次真实的完整记录
用知识库跑通一个项目:一次真实的完整记录
一只阿木木 ——公开建造我的 AI 第二大脑
普通人如何用 AI 搭建自己的知识操作系统?一个程序员出身的知识工作者,公开记录自己如何用 AI 工具搭建个人知识系统、把读过的书和做过的项目变成可复用资产的全过程。
不讲概念,不讲市场。
下面用一个具体项目——从零搭建一个 SaaS 落地页——完整走一遍这套系统的实际使用过程。你可以照着做。
先说清楚这套系统解决的是什么问题
你用 Claude 做项目,最大的痛点不是 Claude 不够聪明,而是它每次都失忆。
每开一个新对话,你要重新介绍项目背景、重新解释技术选型、重新告诉它你的写作风格。16这个痛点是真实的:每次新会话开始,都必须向 Claude 重新解释整个项目架构和历史。
这套系统干的事只有一件:给 Claude 建一个它每次都能读到的长期记忆。
把摄入素材、生成摘要、打标签、交叉引用、综合原则这些工作,Claude Code 全都能做,而且速度快 5-10 倍——以 AI 原生的格式:纯 Markdown 文件。
系统结构:三个工具各干什么
book-to-skill:把书变成 Claude 可以按需调用的技能文件。
它把书转成结构化的 Skill,Claude 按需加载。安装后,只需输入 /your-book-slug replication,Claude 就会读取正确章节,从实际内容中回答——不会幻觉,不用翻 PDF。
关键细节:提取的是结构,不是摘要——捕获命名框架、精确表述、反模式,而非章节概要。保留作者的精确性。密度优于完整性。以实践者的口吻写:「在 Y 情况下使用 X」,而不是「书中解释了 X」。
claude-obsidian:把散落的素材自动组织成互联的知识图谱。
大多数 Obsidian AI 插件是聊天界面,只能回答关于已有笔记的问题。claude-obsidian 是知识引擎——它自主创建、组织、维护和进化你的笔记。
CLAUDE.md:整个系统的大脑,告诉 Claude 你的 vault 长什么样、每个文件夹是什么意思、工作时要遵守什么规则。
让 Claude 扫描每个文件夹,理解其内容和你的使用方式,然后基于这个分析生成 CLAUDE.md。结果应该是一份清晰说明 vault 结构、每个文件夹含义,以及 Claude 在其中工作时应遵循的惯例的文档——同时也包括你常用的交互方式和写作风格要求。
动手:从零到跑通项目
第一步:环境准备(约 30 分钟)
Bash
# 安装 Claude Code
npm install -g @anthropic-ai/claude-code# 安装 book-to-skill
mkdir -p ~/.claude/skills/book-to-skill
curl -o ~/.claude/skills/book-to-skill/SKILL.md \
https://raw.githubusercontent.com/virgiliojr94/book-to-skill/master/SKILL.md
# 安装 claude-obsidian
git clone https://github.com/AgriciDaniel/claude-obsidian
cd claude-obsidian
bash bin/setup-vault.sh
Claude Code 在下次会话时会自动发现新安装的 Skill。
Vault 文件夹结构建议如下,保持清晰是关键:
text
my-vault/
├── CLAUDE.md ← 最重要的文件,第一件事写它
├── raw/ ← 所有原始素材扔这里
├── wiki/ ← AI 编译后的知识条目
├── projects/
│ └── saas-landing/ ← 当前项目
│ ├── CLAUDE.md ← 项目级规则
│ ├── spec.md
│ └── decisions/ ← 架构决策记录
└── skills/ ← book-to-skill 输出
Claude Code 善于推断结构,但不一致性会造成摩擦。如果一些项目在 /Projects 而另一些在 /Work/Active,AI 就不得不去猜。在连接 Agent 之前花一小时统一 vault 结构——回报很快。
第二步:写 CLAUDE.md(最重要的一步)
在 vault 根目录创建 CLAUDE.md——这是最重要的文件。要精确,schema 越精确,Claude 的输出越好。
下面是一个可以直接复用的模板:
Markdown
# 项目:SaaS 落地页## 我是谁
独立开发者,产品是一个给自媒体人用的排期工具。
技术栈:Next.js + Tailwind + Supabase。
写作风格:简洁,不用行话,目标用户是普通创作者。
## Vault 结构
- raw/:原始素材,Claude 只读不写
- wiki/:编译后的知识条目,Claude 可读写
- projects/saas-landing/:当前项目的所有文件
- projects/saas-landing/decisions/:架构和文案决策,
做新决策前必须先查这里
## 工作规则
1. 每次会话开始,先读 projects/saas-landing/context.md
2. 做任何决策前,先检查 decisions/ 有没有相关历史
3. 每次会话结束,更新 context.md,记录今天做了什么
4. 新建文件用 frontmatter 标注创建日期和标签
「要有帮助」不是一个有用的指令。你对自己的上下文、vault 惯例和每次会话期望越具体,Agent 的输出就越准确有用。每当发现反复出现的误解时,就更新 CLAUDE.md。
一个真实有效的补充:加一个 USER.md 身份文件:你是谁,你怎么思考,你在乎什么。一位 Reddit 开发者指出,「USER.md 身份文件对回复质量的改变,超过了知识检索本身。」当 Claude 知道你是一个偏好 TypeScript 而非 Python 的后端开发者,或者一个更关注分发而非功能的创始人,它的建议会更切题。
第三步:把相关书籍变成 Skill
这个项目需要的知识:文案写作、用户增长、落地页转化。
Bash
# 进入 vault 目录,启动 Claude Code
cd ~/my-vault
claude# 拆书
/book-to-skill ~/books/copywriting-secrets.pdf copy
/book-to-skill ~/books/traction-gabriel.epub traction
拆完后的文件结构:
text
~/.claude/skills/copy/
├── SKILL.md ← 加载入口,约 5000 tokens
├── chapters/
│ ├── ch01-headline.md
│ ├── ch02-hook.md
│ └── ...
├── glossary.md ← 术语表
├── patterns.md ← 可复用模式
└── cheatsheet.md ← 快速查阅
完整转换一本书大约花费 1 美元——远少于每次会话重新读 PDF 的成本。 4 SKILL.md 前置加载——压缩时保留前 5000 tokens,最重要的内容排在最前面。章节文件是按需加载的——在被调用之前不占用 Skill 预算。
第四步:摄入素材,建立知识库
项目启动前,把所有相关素材扔进 raw/:
text
raw/
├── competitor-homepages/ ← 3个竞品落地页截图和文字
├── user-interviews/ ← 5份用户访谈记录
├── inspiration/ ← 收藏的好落地页案例
└── brand/ ← 品牌规范、颜色、字体
然后让 claude-obsidian 编译:
text
> 读取 raw/ 目录中的所有文件,
> 编译成 wiki/ 中的知识条目,
> 自动建立双向链接,
> 生成一个 index.md 汇总所有内容
你把素材丢进 raw/,运行一个命令,Claude 处理剩下的一切:编译互联的 wiki 文章,维护索引和反向链接,在多个深度层次上回答复杂问题,并持续改进知识库。LLM 拥有这个 wiki,你几乎不需要手动编辑——只需在 Obsidian 中浏览,持续喂给它原始数据。
第五步:跑通项目
现在知识库有了,开始真正做项目。
阶段一:研究阶段
text
> 读取 wiki/ 中所有关于竞品和用户访谈的条目,
> 总结:目标用户最大的痛点是什么?
> 竞品的文案有什么共同模式?有什么明显的空白?
Claude 会基于你整理进去的真实素材回答,不是凭空编造。
阶段二:文案撰写
text
> /copy headlines
> 基于以上调研结果,
> 为这个排期工具写 5 个落地页主标题,
> 参考 copy Skill 中的 headline 框架,
> 目标用户是忙碌的自媒体创作者
这里发生的事:Claude 同时调用了你的用户访谈知识库(了解真实痛点)和 copy Skill(应用文案框架),两者合并后给出的结果,质量远超单独使用任何一个。
阶段三:决策记录
每次做了重要决定,立刻记录:
text
> 我们决定主标题用「版本 3」,
> 理由是用户访谈里反复提到「不知道该发什么」这个痛点,
> 这个标题直接命中了这个场景。
> 把这个决策记录到 decisions/headline-choice.md
这是最关键的工作流之一。在做任何架构选择之前,让 Claude 检查 decisions/ 中的相关历史决策——「我们之前有没有讨论过这个方向?」Claude 浮现出相关记录,你就可以在过去的推理基础上继续构建,而不是从零开始。
阶段四:每日收尾
text
> /wrap
> 总结今天的工作:做了什么,决定了什么,明天要继续什么。
> 更新 projects/saas-landing/context.md
> 检查是否有任何新决策和已有决策矛盾
运行收尾提示:「总结今天的会话,更新所有变更的项目上下文文档,标记任何与已有决策矛盾的内容。」Claude 写摘要,你审阅,批准修改,用 git 提交。整个过程每天大约 10 分钟的额外开销。换来的是:第二天早上,Claude 从它离开的地方完全接续——不需要重新解释,不需要「让我给你介绍项目背景」。
第六步:感受系统真正的力量
两周后,你的 vault 里有了:
5 个竞品的分析条目,自动互联 所有文案决策的历史记录 用户访谈的核心洞察,已被提炼成可引用的知识条目 每次会话的工作日志
这时候再开新会话,对话变成了这样:
text
你:继续昨天的落地页项目,
上次我们在讨论 CTA 按钮的文案Claude:[自动读取 context.md]
好的,根据昨天的记录,我们确定了主标题,
正在讨论 CTA。根据 decisions/ 里的记录,
你之前倾向于用动词开头的 CTA 文案。
继续这个方向?
用 Claude Code 一次,它了解你的文件夹结构。用五次,它了解你的项目、当前重心和你的表达风格。用二十次,它变成你的个性化操作系统——它对你知识库的了解,超过你在任意时刻有意识记住的。
几个真实的注意事项
1. CLAUDE.md 越具体越好,但要克制
你的笔记、你的结构、你的惯例,全部成为 Claude 带入每次交互的上下文。你通过 CLAUDE.md 和自定义 Skills 对它的精炼越多,它就越能反映你真实的思考和工作方式。
但不要把所有东西都塞进 CLAUDE.md——它会变成一堵让 Claude 困惑的文字墙。只写规则,不写背景故事。
2. 知识库的价值在「积累」,不在「初始化」
第一天建好系统,感觉不到什么变化。一个月后,你开始感觉到。14这不只是检索——是综合。Claude 能结合 vault 中跨多个领域的想法,构建出你自己想不到的方案——因为没有人能自然地同时横跨十个领域思考,但你的知识库可以。
3. raw/ 目录是入口,不是仓库
素材进来就让 claude-obsidian 处理,处理完归档或删除。17每天早上把所有东西扔进 Obsidian Inbox 文件夹——手机语音备忘、转发的邮件、白板照片、随手记录。然后让 Claude Code 执行「处理收件箱」:Agent 读取每一项,创建结构化笔记并归入正确文件夹,识别与已有笔记的连接,归档或删除原始收件箱条目。过去需要 20-30 分钟的事,现在 5 分钟之内完成。
4. 给项目建独立的 CLAUDE.md
每个项目文件夹下都放一个 CLAUDE.md,记录项目级规则。这样换项目时,Claude 自动切换上下文,不会把两个项目的知识混在一起。
5. 用 git 保护 vault
在 vault 中初始化 git:git init && git add -A && git commit -m "baseline before AI"。这是你的安全网——在 Claude 写入任何内容之前做这件事。
最后说一句实话
这套系统有学习成本。第一次搭起来要花半天,第一周要不断调整 CLAUDE.md。
但一旦跑通,你会发现项目工作变了一种感觉:不再是你每次从零给 AI 喂背景,而是 AI 帮你守住你的所有上下文,你只需要向前推进。
打开一个一个月没碰过的项目,问 Claude「我们上次进行到哪儿了?」,得到对过去三次会话的准确摘要——就在这一刻,一切豁然开朗。没有人回头了。
欢迎加入行动营👇获取更多Obsidian + AI数字大脑实践
关注【一只阿木木】。
我相信:在 AI 时代,每个普通人都该拥有一个自动生长的知识系统
去做,才是真的学。🌊