李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 系列文章
  • AI工具集
  • 论坛
  • 左邻右舍
    • 左邻右舍
    • 朋友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • Now
    • 每日心情
    • 网站地图
    • 网站统计
    • 赞助
  • 星球穿梭
  • 🚇开往
白雪成红
惟坚韧者始能遂其志
  1. 首页
  2. AI
  3. 正文

book-to-skill:GitHub2.7万star开源项目,将书籍蒸馏为Agent可调用技能

2026年9月4日 约 2,497 字9 分钟 190 0 0
合集:Skills第 5 篇 / 共 5 篇
  1. 1Taste Skill 说明与使用
  2. 2踩坑60+次后,我终于搞懂 Claude Skill 怎么写才会真的触发
  3. 3Everything Claude Code 详细使用文档
  4. 4Agent & Skill 编写技巧完全指南
  5. 5book-to-skill:GitHub2.7万star开源项目,将书籍蒸馏为Agent可调用技能当前
本文摘要

book-to-skill 是 MIT 开源 Python 工具,将 PDF、EPUB 等多格式文档编译为标准化 Agent Skill 包,适配 Claude Code、Copilot CLI 等 AI 助手。它在编译阶段一次性完成结构化解析,将“翻书税”前置,查询时按需加载章节,Token 消耗降低 24-51 倍,解决全量上下文成本高与传统 RAG 片段化丢失逻辑的痛点。工具支持增量更新,适用于技术书、企业文档等场景;文学类收益有限,蒸馏有信息损失,版权作品生成的技能包不宜公开分发。

项目概况

book-to-skill 是一个采用 MIT 开源协议 的 Python 工具,可以将 PDF、EPUB、DOCX、HTML、RTF、MOBI/AZW、Markdown、TXT 等格式的技术书籍或文档批量编译为标准化的 Agent Skill 技能包,原生适配 Claude Code、GitHub Copilot CLI、Amp、Hermes Agent 等 AI 编程助手。

项目增长极快——曾单日获得 1,428 颗 star 登上 GitHub Trending,截至 2026 年 8 月底已超过 2.7 万 stars,forks 近 3,000。

GitHub:https://github.com/virgiliojr94/book-to-skill

关于隐私: 文件提取阶段完全在本地完成,工具本身不会将原始文件上传到任何第三方服务器。但蒸馏/生成阶段由你的 AI Agent(如 Claude、Copilot)完成——如果 Agent 模型运行在云端,提取出的文本会按该服务商的正常数据条款处理。这一点对企业用户尤其重要,在内部文档场景下需评估所用 Agent 的数据政策。


它解决什么问题?

你买了一本很棒的技术书,读了一遍,三个月后连第 7 章讲什么都不记得了。

传统两种方案都有明显痛点:

方案一:把整本书丢进 AI 上下文。 Token 爆炸、成本高昂,模型在超长上下文中容易丢失细节、产生幻觉。一本 400 页的技术书轻松超过 20 万 token,每次提问都把全书灌进去,费用和延迟都不可接受。

方案二:传统 RAG 检索。 只做向量相似度匹配,返回的是碎片化的文本切片,丢失了全书的逻辑框架和上下文关联。回答「这本书关于 X 的整体方法论是什么」这类问题时尤其吃力,因为答案散落在多个章节里,检索链路很难完整拼回来。

book-to-skill 的核心思路完全不同:一次性在编译阶段完成结构化解析,查询阶段按需加载对应章节,而不是每次提问都重新遍历全书。 项目方的基准测试显示,回答单个问题的 Token 消耗相比全量上下文降低了 24-51 倍。


核心概念:Discovery Loop Tax(翻书税)

项目提出了一个很有洞察力的概念——Discovery Loop Tax(发现循环税)。

当一个 AI Agent 直接读 PDF 时,它不只是在「读」,它在「导航」:每一轮对话都要重新抓取目录、定位相关章节、回溯上下文、重新处理大量文本。这个反复遍历的开销就是「翻书税」。

book-to-skill 的做法是把这份税前置到编译阶段——只付一次,后续所有查询都复用结构化后的产物,开销只与答案本身的大小成正比。


核心工作流程(3 步)

第一步:指向输入源。 传入 PDF、EPUB、文档目录,支持 glob 批量匹配:

book-to-skill ./my-tech-book.pdf

第二步:本地蒸馏编译。 这不是简单的摘要生成。工具先用确定性的 Python 提取器将文档转为干净文本和元数据,然后由 AI Agent 按照 SKILL.md 规范将其蒸馏为结构化技能包,提取全书的框架、决策规则、反模式和关键代码样例。

输出的文件结构如下:

文件用途大小
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

第三步:Agent 按需调用。 AI Agent 平时只加载 ~4,000 token 的总入口文件,遇到具体问题时才调取对应的章节文件,基于原书真实内容作答。调用方式就是用技能名作为斜杠命令:

/my-book-slug 讲解分布式事务反模式

Agent 会根据索引定位到相关章节,加载对应文件后回答——而不是把整本书塞进上下文。


关键特性

智能区分文档类型。 在提取前工具会询问书籍类型:技术类文档使用 docling 保留表格、代码块和排版布局(约 1.5 秒/页);叙事类文本则用 pdftotext 等轻量工具快速提取。扫描版 PDF 还会自动检测并提示先做 OCR。

支持格式广泛。 远不止 PDF——EPUB、DOCX、HTML、RTF、MOBI/AZW/AZW3、Markdown、reStructuredText、AsciiDoc、纯文本都可以处理。可以用 python3 scripts/extract.py --check 一键检查当前环境的提取器支持情况。

输出遵循开放的 Agent Skills 标准。 同一个 SKILL.md 格式可以在 Claude Code、GitHub Copilot CLI、Amp、Hermes Agent 上通用,技能包可以导出、分享、二次编辑。

增量更新。 支持 fold-in 模式——当你有新的论文或补充材料时,可以把它合并进已有的技能包,而不需要从头重新编译。

自带基准测试工具。 内置 tools/discovery_tax.py 用于测量实际的 token 开销对比,tools/validate_skill.py 可以按不同平台(Claude/Copilot/Amp)的规范验证生成的技能包是否合规。


不止于书籍

名字虽然叫「book-to-skill」,但输入可以是任何你反复查阅的结构化文档:

开发者场景: 把技术大部头、语言规范、框架官方手册转为编码时随时调用的 AI 技能。读完《Designing Data-Intensive Applications》不再只是「读完了」,而是变成一个你的 Agent 随时可以查阅的活知识库。

企业团队场景: 内部架构规范、运维手册、新人 onboarding 指南,把整个 docs/ 文件夹编译为团队共享 Skill。品牌手册、语调指南也可以——让 Agent 在写作时直接参照你的品牌规范。

研究场景: 一组论文加上你的笔记,合并成一个统一的 Skill,有新材料时增量更新。

合规/规范场景: RFC、API 合约、合规文档——那些你经常要查但永远不会背下来的东西。

判断标准很简单:如果你反复打开某个文档到希望自己已经背下来了,它就是一个候选对象。


和传统 RAG 的对比(个人分析)

以下对比是基于项目文档和实际设计逻辑的分析归纳,非项目方官方对比表:

维度book-to-skill传统 RAG
处理时机预编译阶段完成结构化解析查询时实时切片检索
内容输出框架、规则、模式、反模式——完整心智模型向量相似度匹配的文本片段拼接
Token 消耗仅加载总入口 + 相关章节,开销可控每次检索加载多段切片,开销随问题复杂度增长
幻觉控制较强,输出带章节溯源,Agent 基于蒸馏后的真实内容作答依赖检索召回质量,易断章取义
集成方式Agent 原生 Skill 协议,无需额外基础设施需要向量数据库 + 检索链路
全局理解保留全书逻辑结构,能回答跨章节的方法论问题切片粒度限制了对全局逻辑的把握

需要注意的是,这不是非此即彼的关系——book-to-skill 更适合你已经读过、想长期复用的「定本」;RAG 更适合持续更新的大规模文档库和需要精确引用原文的场景。


安装方式

# 跨 Agent 的通用安装(需 Node.js):
npx skills add virgiliojr94/book-to-skill

# 或手动克隆到对应 Agent 的 skills 目录:
git clone https://github.com/virgiliojr94/book-to-skill.git ~/.claude/skills/book-to-skill
# Copilot CLI: ~/.copilot/skills/
# Amp / 跨 Agent: ~/.agents/skills/
# Hermes Agent: ${HERMES_HOME:-$HOME/.hermes}/skills/<category>/

# Python 提取器安装:
pip install -e .

安装后在 Agent 中输入 /book-to-skill <文件路径> 即可开始转换。


版权边界

这是一个需要明确说清楚的问题:

book-to-skill 本身不包含任何书籍内容——一页都没有。它是一个你指向自己已拥有的文件的转换器。项目方明确标注,生成的 Skill 是结构化的衍生物(框架名称、定义、要点),不是原文的复制,并且规范中有明确规则禁止照搬原文段落。

但这不意味着可以随意分发——将受版权保护作品生成的技能包公开发布可能构成侵权。项目方建议:自己买的书、公司内部文档、开源许可的材料可以自用和内部共享;第三方版权作品生成的 Skill 应保持私有。


局限性

更适合技术类和方法论类书籍。 结构化的框架、规则、模式是这个工具的甜区;文学小说、散文类作品收益有限,因为它们的价值更多在文字本身而非可提取的「规则」。

编译阶段有成本。 大体积书籍的蒸馏过程会消耗较多模型 Token——这是把「翻书税」前置带来的一次性代价。

蒸馏本身可能引入信息损失。 从 300 页压缩到几千 token 的结构化产物,必然有取舍。对于需要逐字精确引用的场景(法律条文、合同细节),直接查原文仍然更可靠。

依赖 AI 模型质量。 蒸馏阶段的输出质量取决于所用 Agent 的理解和归纳能力,不同模型的效果可能有差异。

参考链接

1
  1. 1https://github.com/virgiliojr94/book-to-skillgithub.com
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

book-to-skill:GitHub2.7万star开源项目,将书籍蒸馏为Agent可调用技能

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: Agent Skill 技能包 AI 上下文优化 RAG 检索痛点 Skills 技术书籍结构化 本地文档提取
最后更新:2026年9月4日

岁月同一天 10 月 11 日

回望过去的今天,你在写什么

  • 中间件
    1 年前 2025年10月11日
    Kafka 为什么要抛弃 Zookeeper?

    Kafka 抛弃 Zookeeper(引入 KRaft 模式)是为了解决长期依赖 Zookeeper 带来的性能瓶颈、架…

  • 中间件
    1 年前 2025年10月11日
    高性能场景为什么推荐使用PostgreSQL,而非MySQL?

    在高性能场景(如高并发读写、复杂查询、大数据量存储、多维度数据处理等)中,PostgreSQL 常被优先推荐,核心原因在…

  • 原创
    7 年前 2019年10月11日
    JAVA关键字之volatile关键字说明

    volatile作用 volatile主要是为了解决多线程内存不可见问题。 对于一写多读,是可以解决变量同步问题,但是如…

相关文章
  • 踩坑60+次后,我终于搞懂 Claude Skill 怎么写才会真的触发2026年4月27日
  • Everything Claude Code 详细使用文档2026年3月31日
  • RAG太难学?LLM Wiki了解一下2026年9月11日
  • Taste Skill 说明与使用2026年7月10日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 合集上一篇
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

还没有评论,快来抢沙发吧~

春宵一刻值千金,花有清香月有阴。
歌管楼台声细细,秋千院落夜沉沉。

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
讨论下XXL-JOB GLUE模式的安全问题 心气没了,干什么都不得劲 Kratos-plus v1.1.26版本更新说明 我觉得是时候公布我的导航网站了 代码是 AI 写的,生产事故谁背锅? 给主题增加了游客中心功能
给主题增加了游客中心功能我觉得是时候公布我的导航网站了游本昌去世关于主题加载速度优化的一点儿小演进给主题增加了Now、每日心情、年度回顾、岁月同一天、随机漫步等功能心气没了,干什么都不得劲
西蒙学习法实战指南:6个月攻克新领域,从入门到能用的高效路径 Kubernetes(K8s)的Service运行原理 为什么 Apache Doris 是比 Elasticsearch 更好的实时分析替代方案? SpringBoot定时任务 - 经典定时任务设计:时间轮(Timing Wheel)案例和原理 DeepSeek本地部署全攻略:从环境搭建到高级应用,打造专属 AI 助手 每日早报 · 2026年8月18日
最近评论
老张博客 发布于 14 小时前(10月10日) NAS现在就不要搞了吧,除非你手里有内存和硬盘。
李锋镝 发布于 19 小时前(10月10日) 确实,很多不必要的东西,买了回来也是吃灰……
林羽凡 发布于 23 小时前(10月10日) 一个是不想折腾了,另一个有些觉得没必要的折腾或购买,想想就会算了。
李锋镝 发布于 23 小时前(10月10日) 少年老成吧大概是 :21:
Hary 发布于 23 小时前(10月10日) 我也是这样,感觉都不想折腾了,我还没到中年呢吧啊啊啊
标签聚合
AI 日常 Redis Claude 分布式 Theme 数据库 JAVA SQL K8s 架构 Spring ElasticSearch WordPress 多线程 SpringBoot AI编程 IDEA MySQL JVM
友情链接
  • Mr.Sun的博客
  • Serendipity
  • lijie blog
  • 皮皮社
  • Honesty
  • 林羽凡
  • 韩小韩博客
  • 搬砖日记
  • 懋和道人
  • 韩情脉脉
  • sssr7844的博客
  • 知向前端
  • 哥斯拉
  • 志文工作室
  • 九仞之行
  • 彬红茶日记
  • 瓦匠个人小站
  • 老张博客

COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

lifengdi.com 十年之约虫洞

Domain age badge for lifengdi.com

Theme Kratos-plus By Dylan Li

津ICP备2024022503号-3

京公网安备11011502039375号