book-to-skill 深度研究报告 —— 让《设计数据密集型应用》成为 Claude Code 的"私人顾问"
写在前面:你书架上的书,AI 一本都没读过
先问你三个问题。
第一,你上次买的《设计数据密集型应用》,读到第几章吃灰了?
第二,今天想写个分布式系统方案,你问 AI"复制和分片到底什么区别",它答得出来吗?
第三,你把 PDF 拖进对话,它是不是要么说"我没有这本书的内容",要么一本正经地编给你看?
我猜,三个都中。
这不是你的问题。这是 AI 的"金鱼记忆"在作怪——你的书在书架上,AI 的书在训练集里。它俩从来没见过面。
于是有人做了个工具,专治这个病。
book-to-skill。GitHub 24K 星,8 月热榜月增 14.7K,一周涨了 5000 星。一句话定位:
把任何技术书、文档夹、论文集合,"编译"成 AI 可以按需加载的随身技能。
编译。对,就像编译器把源代码变成可执行文件。
这个类比,值得你记一辈子。
一、为什么不能直接把 PDF 扔给 AI?
先算一笔账。
一本 400 页的技术书,大约是 200K tokens。你把 PDF 整个拖进上下文:
- 每次对话都要付一遍全书的 token 钱;
- 问 10 个问题,等于把书读了 10 遍;
- 更致命的是——上下文越长,模型越容易"迷失在长文本里",开始幻觉。
200K tokens 塞进一次对话,模型根本抓不住重点。它就像让你一口气读完一本书然后马上考试,你记得住几页?
book-to-skill 的解法,是把"读"这件事拆成两半:
| 阶段 | book-to-skill 做什么 | 类比 |
|---|---|---|
| 编译时(一次性) | 深度分析整本书,提取核心框架、每章摘要、术语表、设计模式、决策速查表 | 读完一本书,做一张思维导图 |
| 运行时(每次对话) | 只加载 SKILL.md + 当前问题相关的章节 | 考试时,只翻目录对应的那一页 |
这就是"编译时 vs 运行时"分离。一次花小钱编译,之后永远按需加载。
官方实测:token 消耗降低 24~51 倍。
二、一本书,变成了什么?
跑一条命令:
/book-to-skill ~/books/designing-data-intensive-applications.pdf工具会自动问你:这本书偏技术(代码表格多)还是偏文字?然后选对提取器,开工。
大约几分钟后,~/.claude/skills/ddia/下多了这么一套文件:
| 文件 | 内容 | 体积 |
|---|---|---|
SKILL.md | 核心心智模型 + 章节索引 | ~4,000 tokens |
chapters/ch01-*.md | 每章一个文件,按需加载 | ~1,000 tokens/章 |
glossary.md | 关键术语表,按字母排序带章节引用 | ~1,500 tokens |
patterns.md | 技术、算法、设计模式全集 | ~2,000 tokens |
cheatsheet.md | 决策表和速查规则 | ~1,000 tokens |
从此,那本 DDIA 就住进你的 Claude 里了。
怎么用?像调用普通技能一样:
/designing-data-intensive-apps # 加载核心心智模型 /designing-data-intensive-apps replication # 查找并解释"复制"主题 /designing-data-intensive-apps ch05 # 深入第五章 /designing-data-intensive-apps "你有哪些章节?" # 看目录AI 会自己定位到对应章节文件,基于书里的真实内容作答。
不幻觉。不翻 PDF。不重复烧 token。
三、技术拆解:它凭什么做得这么稳?
3.1 提取层:看菜下碟
PDF 不是一种东西。技术书和散文书,完全是两种 PDF。
- 技术书(代码、表格、公式多)→ 用 Docling。能还原 Markdown 表格和代码块。代价:慢,约 1.5 秒/页。
- 文字书(纯叙述)→ 用 pdftotext。秒级完成。代价:丢表格和代码。
官方有个实测:103 页的提取测试,pdftotext 只要 0.1 秒,但丢了所有表格和代码块;Docling 花了 164 秒,完整捞回 48 个表格、36 个代码块。
所以工具会先问你"这本书是什么类型",再自动选工具。
扫描版 PDF?它先检查前几页有没有文本层,没有就直接告诉你:"先去 OCR。"绝不白干一场。
3.2 结构化层:密度优于完整
这是 book-to-skill 最核心的设计原则:
- 密度优于完整:1000 token 的精华摘要,好过长篇摘录;
- 从业者视角:输出用"在 Y 场景用 X"的句式,而不是教科书式陈述;
- SKILL.md 前置:最重要的内容放最前面,适配 AI 的阅读习惯;
- 绝不原封不动:始终对源材料做综合、摘要、提炼,而不是复制粘贴。
一句话:它给 AI 的不是书,是书的心智模型。
3.3 安全层:本地处理,不碰版权
转换全程在本地运行,文件永不上传。内部文档、敏感资料随便转。
版权也讲得明白:转换器本身是 MIT 协议,但转出来的东西是"你的笔记",源书版权还是源书的。自己学习没问题,别拿去传播。
四、装一次,三个 Agent 通吃
book-to-skill 遵循开放的 Agent Skills 标准,生成的 Skill 在三大宿主间通用:
| 宿主 | 安装目录 |
|---|---|
| Claude Code | ~/.claude/skills/ |
| GitHub Copilot CLI | ~/.copilot/skills/ |
| Amp / 跨 Agent 通用 | ~/.agents/skills/ |
安装也是三选一:
# 方式一:跨 Agent CLI(推荐) npx skills add virgiliojr94/book-to-skill # 方式二:直接 clone 进技能目录 git clone https://github.com/virgiliojr94/book-to-skill.git ~/.claude/skills/book-to-skill # 方式三:只要提取引擎(独立 CLI) pip install "book-to-skill[pdf,epub,docx]"Copilot CLI 用户记得装完跑一次/skills reload。
五、成本账:$1 和 $6 的选择
这是很多人最关心的问题。
一本 400 页的书,用 Claude Sonnet 转换一次,成本大约$1。
而如果你每次对话都把整本书塞进上下文,按 Sonnet 的输入价格算,一次对话约 $0.6。用 10 次,就是$6。
翻译成人话:
只要你打算对这本书问超过 3 个问题,这笔 $1 的"编译费"就回本了。
这也是判断"值不值得装"最快的一把尺——反复重开超过 3 次的文档,都值得转。
六、不止是书:一切"你经常翻"的文档
项目名字叫 book-to-skill,但输入范围大得多:
- 内部文档:架构决策记录、运维手册、新人入职指南,整个
docs/目录一键转; - 设计系统:品牌规范、语气指南、组件原则,团队直接查;
- 论文集合:一堆论文 + 你的笔记合并成一个 Skill,新论文来了增量更新;
- API 规范 / RFC:你经常查但从不背的标准文档。
README 里那句原话,值得裱起来:
“If you re-open a document often enough to wish you’d memorized it, it’s a candidate.” (如果你反复打开一份文档,直到希望自己已经背下来了——它就是候选。)
七、优点、缺点、同类对比
优点
- 省 token:24~51 倍的消耗差,是真金白银;
- 不幻觉:答案全部来自书里的真实内容,不是模型脑补;
- 隐私友好:全程本地处理,文件不上传;
- 跨宿主:一个 Skill,Claude Code / Copilot CLI / Amp 通吃;
- 增量更新:新内容可以折叠进已有 Skill,不用重转。
缺点
- 有转换成本:需要 ANTHROPIC_API_KEY,按量计费,大书要等几分钟;
- 章节检测可能失败:排版奇葩的书,自动分章会歪;
- 扫描版 PDF 需先 OCR:没有文本层的书,它不接单;
- 一次性转换:适合静态知识,不适合实时变化的内容;
- README 只承诺三大宿主:Cursor / Cline 能否用,需要你自己验证。
同类对比
| 方案 | 成本 | 幻觉 | 上下文占用 | 适用场景 |
|---|---|---|---|---|
| 直接扔 PDF | 每次 $0.6+ | 高 | 全书 200K tokens | 一次性的临时提问 |
| 传统 RAG(向量检索) | 中 | 中 | 检索片段 | 大规模动态知识库 |
| book-to-skill | 一次 $1 | 低 | 按需 1~4K tokens | 反复查阅的静态书籍/文档 |
各有各的生态位。但论"让 AI 真正读懂一本书",book-to-skill 是目前最直接的那个。
写在最后:你的书架,该上线了
我见过太多人买书如山倒,读书如抽丝。
现在,书不用读了——啊不,书还是要读的。但至少,你的 AI 可以替你记住它。
花一杯奶茶的钱,把书架上的砖头书全部"编译"一遍。
然后你会发现,曾经那个"每次对话都像初次见面"的 AI,突然变成了读过你所有书的私人顾问。
它记住了。它随叫随到。它不幻觉。
行动号召很简单:打开终端,输入这行命令,选一本你最常翻的书。
npx skills add virgiliojr94/book-to-skill然后:
/book-to-skill ~/books/你最爱的技术书.pdf三分钟之后,你就有个随身携带的"图书管理员"了。
如果你经常重开一份文档到希望自己背下来——别背了,让它背。
关键词:book-to-skill;Agent Skills;Claude Code;知识蒸馏;懒加载;token 优化;技术书转技能