RIA 拆书法(赵周《这样读书就够了》)
> 一句话:把书拆成能执行的行动卡片——说「拆《书名》第X章」,30 秒出一张四色 RIA 卡(R 原文 → I 引导 → A1 经验 → A2 行动),可屏看、可打印。
> 新手先看 examples/新手5分钟上手.html;真实成品看 examples/01_富爸爸穷爸爸_第一章_拆书卡片.html。
一、怎么用(结论先行)
四种输入,任选其一:
1. 说 拆《书名》第X章(最稳);
2. 丢文件:epub / pdf / docx / txt / md / mobi / azw3 / cbz / cbr / djvu / 书页截图(自动提取,扫描版自动 OCR);
3. 粘贴一段划线原文 + 你的一句话反应(最准);
4. 问 这本书拆哪几章好? → 全书速览,按"目标相关性"推荐 2-3 个最值得拆的片段。
拆多章后说 汇总行动清单 → 生成 A2 行动墙(每条带勾选框 +【来源:书名·第X章】+ 顶部"本周回顾"区,追加不覆盖)。
说法对照:读完就忘 想做读书卡片 帮我把这段书用起来 都触发;只说 拆书 会追问一句"拆哪本";总结这本书 是摘要不是拆书,先确认。给 AI 的指令:含糊说法一律一句话确认(书名/章节/原文三选一),确认后直接走流程,不猜、不追问第二步。
二、RIA 是什么(四区定义)
| 区 | 是什么 | 关键标准 |
|---|---|---|
| R 原文 | 书中戳中你的原话 | 逐字引用,不凭记忆编;≤150 字/段(英文 ≤100 词);必带出处(章号+页码或段号,视频填时间戳);冷门/技术/新书必须给原文 |
| I 引导 | 像拆书家一样促进:重述 → 为什么 → 会如何 → 案例翻译 → 为什么≠常识 | 五件套缺一不可;头号误区"附会旧知"("不就是××嘛") |
| A1 经验 | 联系读者自己的真实经历 | 必须用户自己提供素材,绝不代笔编人生;泛泛而谈不算 |
| A2 行动 | 接下来具体做什么 | 1-3 条、动作+对象+时间/触发点、可勾选;不能抄原书建议 |
拆书家三层进阶:初级(划线摘抄)→ 高级(自己做 I+A1+A2,本 skill 每张卡就是一次完整练习)→ 学习促进者(教给别人)。
三、怎么拆(标准流程)
- 定目标:拆书前先问用户"这本书你想解决什么问题?"用户已给 → 用之;未答/随便 → 回退到"当前用户"在记忆/会话中的默认目标(目标随使用者变化,见第四节"示例动态化")。后续选片段、写 I、落 A2 全以此为准绳,并标注在卡片上。
- 收书:用
scripts/extract_book.py抽成带# 第X章:标题标记的全文 txt(支持格式见第六节);或用户直接给原文/截图/章节号。 - 定类型:判断图书四分类,选片段策略不同——
| 类型 | 选片段策略 |
|---|---|
| 实用类 | 找建议、找黑体字(直接给行动建议处,通常不超一段) |
| 理论类 | 找核心观点,按"观点→建议"三步法转化(懂原意→对照处境→落建议),I 重应用落地 |
| 叙事类 | 从情节冲突/人物行为萃取知识点,I 重"原则萃取+案例翻译" |
| 其他类 | 按读者需求自由取材,紧扣目标 | - 选片段:标准 = 戳中人 / 有行动指导 / 与用户目标相关,宁少勿滥;用户给原文则直接拆。
- 三重验证筛片段(★v1.2 新增):对上一步候选片段跑 V1 跨域 / V2 预测力 / V3 独特性,任一不过则回第 3 步换片段;三条全过再进 I 五件套。
- 抽原文:先确认已建章节索引,用
python scripts/get_chapter.py <书名> <章号>整章原文打到 stdout,直接据此起草 R——不缓存中间 txt、不建原文/子目录,抽完即弃。R 引用 ≤150 字/段,必带章号+页码或段号(视频填时间戳)。 - 出卡:文件名
RIA拆书法/书名/NN_书名_第X章_拆书卡片.html——NN 零填充:总章数 ≤99 用 2 位(01、02…),>99 用 3 位(001…);拆单片段仍以所在章命名。每章一份独立文件,重拆覆盖同名。非章节部分(自序 / 前言 / 后记 / 尾声)用00_书名_自序_拆书卡片.html命名,且章节索引不含它们(索引只认# 第X章锚点)→ 需从书名_全文.txt手动定位(通常在"# 第1章"之前),不适用get_chapter.py。 - 行动墙(可选):见第一节。
高效默认流程(提速不降质):抽章 1 次脚本调用 + Read 模板 1 次 + 写卡 + 末尾一次 ls <书名>/ 核对,约每章 3 调用,体感 ≈3x。质量红线不让步:A1 真实素材、A2 冰箱检测,这两步省了等于白拆。
四、出卡质量标准
I 五件套:①重述(翻译给读者本人听,非复述);②为什么(原理——知道原因行动意愿才强);③会如何(行动收益/场景画面);④案例翻译(作者讲买车,翻译成读者语境如"采购 ERP 软件");⑤为什么 ≠ 常识(作者局限/反直觉见解——把作者名字抹掉一个聪明人也说得出的话,不是"新知识",是常识。作者写于何时?他在什么立场?读者处在不同位置要打折在哪?)。附会≠类比:附会急于消除陌生感,类比指出异同和边界;鉴别法——"若没读原文我知道这些吗?"知道 → 大概率附会,重挑或深挖。
拆前三重验证(片段筛子,先筛再拆):
- V1 跨域:这个观点在书中至少 2 个独立章节/故事里有佐证?(防选到"孤零零漂亮话")
- V2 预测力:能用它推导书里没明说的某个新问题?(防选到"只能复述书"的段子)
- V3 独特性:把作者名字抹掉,一个聪明人也能说出这话吗?(防选到"要努力、要尊重时间"这种废话)
- 三条全过再进 I 五件套;任一不过 → 换片段,不硬拆。
- 来源:Mortimer Adler《如何阅读一本书》批判阶段 + 赵周 RIA + cangjie-skill 三重验证(吸收自 RIA-TV++)。
A1 双区:上方「示例参考」基于当前用户背景写一条(标"可改写");下方「我的 A1」留空自填(亲历或亲见皆可)。四标准:鲜活/故事/对应/反思;太泛就追问"什么时候、和谁、发生了什么、结果如何"。成功经验也算 A1(想明白当时为什么对,下次复制)。
A2 双区:上方「示例参考」1-3 条示范(同样动态基于当前用户);下方「我的 A2」留空。四标准:SMART 目标/行动/关联原文/可控。冰箱检测:贴冰箱上一个月后能确认完成没有?不能 → 撕掉重写。头号误区:决心泛滥("我要…!")。
示例参考动态化(核心机制):示例永远属于"当前使用者"——拆书前读取当前用户的画像(用户级/项目记忆、会话上下文),据此写示例(用户是老师就写老师)。硬要求:A1 示例必须写成"真实经历片段"(有起因→转折→结果→反思),不是"填空提示"或第三人称匿名版("一位做了十几年的工程师"= 违规)。找不到背景 → 退化为匿名通用版并追问一句。当前会话产出(只给本人看)可用真实背景;要分发的静态文件(examples/zip/更新说明)必须匿名,打包前做隐私扫描。
整章卡数规则(★v1.2.1 立,v1.2.2 修正为"按内容定"):卡数由该章的"独立核心洞察数"决定,不是固定数字——既不是恒出 1 张,也不是硬凑 3–5 张。3–5 张只是常见区间(经验参考),不是目标。
- 怎么数:一张卡 = 一个独立洞察,须同时满足 ①有自己的 R 段原文锚点 ②主题与其它卡不重叠(MECE——两张卡若共用同一段原文、讲同一件事 = 该合并)③能过三重验证。先通读全章 → 列出全部候选洞察 → 逐条按三重验证筛 → 剩下的数量就是卡数。
- 两个闸门:ⓐ 防偷工——一章若有 ≥2 个独立洞察却只出 1 张 = 偷工(单卡撑不起整章深度,用户会当即察觉"不如之前");ⓑ 防注水——不为凑数硬拆,同一论点/同一段原文只出一张;内容密度低的过渡章/铺垫章允许 1–2 张,甚至标"本章为铺垫,无独立可拆点"不出卡。
- 参考区:常见 3–5 张;铺垫/过渡章 1–2 张;要点密集章(演讲、清单式)可 6–8 张。
白话铁律(★v1.2.3,2026-10-11 用户反馈立):卡片正文必须"老妪能懂"——念给一个没读过大学的家里人听,他得当场听懂。 三条做法:
1. 长句拆开:一句超过 ~30 字就断开,宁可多说两句。
2. 换词:抽象名词("先行指标""心理动作""内部剧本""机制""外化")→ 生活里的动作和东西("出事的第一个信号""收拾屋子""心里那本老是没换的剧本")。
3. 连接词说人话:不用"因此 / 从而 / 反之 / 换言之",用"所以 / 反过来 / 也就是说"。
- 例外(必须保留):RIA 自身术语(R/I/A1/A2、附会旧知、冰箱检测、三重验证、"为什么 ≠ 常识")照留,但第一次出现时用一句白话解释;R 段原文一字不改。
- 自检:写完把 I 段念一遍,凡是"这句话我会在酒桌上跟朋友这么说吗"答不上来的,重写。
五、硬规则(不可违反)与模板锁定
- A1 不编造——真实经历只能用户自己填;AI 可写"示例参考"但必须标"可改写"。
- 示例动态化——示例素材 = 当前使用者背景,不是 skill 作者(见第四节)。
- 分发文件不泄隐私——examples/zip/更新说明必须匿名通用,打包前隐私扫描(姓名/年限/行业/公司)。
- R 不杜撰——家喻户晓的书可凭记忆起草并标"大意/待核对";冷门/技术/新书必须原文。
- 按章独立——一章一份 HTML,可累积、可单章重拆。
- 可打印——卡片适配
@media print(切卡片布局、隐藏图例)。 - 格式锁定——唯一真相 =
templates/章节卡模板.html(详见下)。
模板锁定硬步骤(违反即废卡):写卡前必 Read templates/章节卡模板.html 整份复制 → 只替换占位符({{BOOK}} {{CHAPTER_TITLE}} {{CARD_TITLE}} {{R_QUOTE}} {{R_CONTEXT}} {{I_RESTATE}} {{I_WHY}} {{I_RESULT}} {{I_TRANSLATE}} {{I_QC}} {{A1_EXAMPLE}} {{A1_QC}} {{A1_HINT}} {{A2_TODO_ITEMS}} {{A2_QC}} {{A2_HINT}} {{SOURCE}})→ 多卡复制 .card 块 → 禁止增删 .sec、改 class、改配色(R蓝 #1f5fbf / I绿 #1f8a55 / A1橙 #c9701a / A2红 #c0392b)、改 .meta 四徽章(R:逐字/有出处/不杜撰 · I:诠释/准确/清晰/致用 · A1:鲜活/故事/对应/反思 · A2:SMART/可控·冰箱检测)、把 A2 勾选清单改纯文本、动 @media print 隐藏项。不同次/不同人拆卡必须逐像素一致;examples/01 即模板实例化样例(样品 = 模板输出)。
六、工具速查(自带脚本)
python scripts/extract_book.py <输入文件> [输出txt] [--list] [--chapter N] [--no-ocr] [--no-windows-ocr] [--dpi 200]
python scripts/build_chapter_index.py <书名文件夹> <全书txt> # 一次性建索引
python scripts/get_chapter.py <书名> <章号> [--json] # O(1) 抽任意章(章号支持 5/五/V)
python scripts/postprocess_ocr.py <raw.txt> [--toc titles.json] -o 全书.txt # OCR 清洗+章头重建
python scripts/check_card.py <目录或文件> # 出卡合规自检(四段齐全/A2勾选清单/四徽章),出卡后必跑
python scripts/rebuild_chapter_headers.py <全书txt> <titles.json> [--dry-run] # 扫描版 OCR 后章头粘连/变形修复(详见第七节)
格式与依赖(缺依赖时脚本报错必含"缺什么+怎么装+替代方案"三要素,AI 原样转述,不让用户自查):
| 格式 | 依赖 | 缺了会怎样 |
|---|---|---|
| epub / cbz / txt / md / 图片 | 无(图片交 AI 读图转录) | 必然可用 |
| pdf 有文字层 | pypdf | 报错提示 pip install |
| pdf 扫描版 | PyMuPDF + OCR(easyocr 优先,无则 Windows 自带中文 OCR,venv 装 winsdk 零安装) | 两个 OCR 都无 → 自动渲染图片 + 提示改读图转录,不卡死不出空文件 |
| docx | python-docx | 报错提示 pip install |
| mobi/azw3 | Calibre | 报错提示安装,或另存为 epub/pdf |
| cbr | unrar 或 bsdtar(7-Zip 含) | 报错提示装 7-Zip |
| djvu | djvulibre | 报错提示安装,或另存为 PDF |
明确不支持(直接说明+给替代,不假装能拆):.doc(另存 .docx/pdf);加密电子书(DRM 的 azw3/kfx、加密 PDF/epub,破解超范围);音频/视频/网页链接(贴文字或截图);损坏 epub(报错说明)。不想装任何东西的最快替代:另存为 epub/pdf,或直接粘贴原文/丢截图——零依赖必然可用。
扫描版流程:①PyMuPDF 渲染每页 PNG(200dpi)→ ②全本 OCR(带 [[PAGE n]] 标记,n 为 1 基页号,回原图核对时 PyMuPDF 是 0 基,先对齐)→ ③postprocess_ocr.py 清洗(去字间空格/滤乱码页眉/丢页码,--toc 按目录页重建章头)→ ④OCR 引擎都无则渲染图片交 AI 读图转录。实测:OCR 错字率 3-8%(如"治"→"氵台"),R 引文必须回原图逐字核对。
OCR 后章头坏了怎么办(扫描版高频坑):OCR 会把章头与正文首句粘成一行、吞掉章号后第一个汉字(「利润为王」→「第16章润为王」),甚至把「第3章」识别成「3章」「2 3章」。此时 build_chapter_index.py 只能认出极少数章(实测 25 章书只认出 2 章)。解法:从目录页整理 titles.json({章号: 标题}),跑 rebuild_chapter_headers.py(标题滑窗模糊定位,容忍缺字/错字/数字被拆),把章头规整成独占一行的 # 第N章:标题,再建索引。本次实测 25/25 全定位(相似度 0.74–0.96)。先 --dry-run 看定位结果,确认无误再写文件(脚本自动备份 .bak)。
抽章铁律:拆某本书前,若还没有 书名_章节索引.json,先跑一次 build_chapter_index.py——之后任意抽章 O(1),根治"每次重抽全书"。
七、文件组织(书根解析,面向所有用户、不写死任何个人路径)
书根定位顺序:①环境变量 RIA_ROOT → ②在当前工作目录全部子目录递归搜索名字含「RIA拆书法」的文件夹(浅层优先,跳过 .git/node_modules/venv 等)→ ③默认 当前工作目录/RIA拆书法(按需新建)→ ④兜底 ~/.workbuddy/RIA拆书法(老用户兼容)。
RIA拆书法/
└── 书名/
├── 书名_全文.txt (提取原文,R 的来源)
├── 书名_章节索引.json (build_chapter_index.py 生成,抽章 O(1))
├── 书名_第X章_拆书卡片.html (每章一份,累加)
└── (可选)源文件副本 (提取后可删)
八、进阶心法(可选深入)
- 三维学习力:内化应用(标准 RIA)→ 分析整理信息(观点先问"前因后果"+ "适用边界:有没有相反实例")→ 追问反思经验(A1 后加一句"这说明什么模式?下次怎么识别")。
- 微信训练法:刷到好文先问"能加自己的重述/经验/应用吗",5 分钟想不到就别转发——三块思维肌肉的日常练习。
- 学习者自测:划线=初级;复述=接近高级;联系经历=高级入门;工作用过说得清=高级;教过别人=促进者。拆满 3 本书后可试"教给别人"。
九、版本记录
| 版本 | 要点 |
|---|---|
| v2.0.0 | 首个公开发布版(skillhub / WorkBuddy 开放平台)。聚合 v1.2.0–v1.2.3 四项大升级:①I 四件套→五件套("为什么 ≠ 常识",Adler 批判阶段)②拆前三重验证筛片段(V1 跨域 / V2 预测力 / V3 独特性)③卡数按该章独立核心洞察数定(两闸门:防偷工 / 防注水)④白话铁律("老妪能懂",禁 AI 自造书面语)。新增 package_skill.py 打包五项校验(版本号 / 隐私硬扫描 / 死路径 / 出卡自检 / 产出 zip) |
| v1.2.3 | 2026-10-11 用户反馈立白话铁律:卡片正文"老妪能懂"(念给没读过大学的家里人能当场懂)。三条做法:长句拆开(>~30 字断句)· 抽象名词换生活话 · 连接词说人话("因此/从而"→"所以/反过来")。例外:RIA 自身术语(附会旧知/冰箱检测/三重验证)保留并加一句白话解释;R 段原文不改。落地即重写《蛤蟆先生》第 1 章全部 5 张卡(I 段全面白话化) |
| v1.2.2 | 2026-10-11 用户反馈修正:卡数规则由"默认 3–5 张"改为「按该章独立核心洞察数定」——3–5 张降为常见区间(经验参考)而非目标;明确"怎么数"(独立 R 锚点 + 卡间 MECE 不重叠 + 过三重验证)与"两闸门"(防偷工:≥2 洞察不许挤 1 张;防注水:同论点/同原文不拆两张,过渡章允许 1–2 张甚至 0 张)。触发:用户指出"拆卡数量要取决于那章内容的核心点,不是固定张数" |
| v1.2.1 | 2026-10-11 用户反馈修正:①整章多卡规则——拆一整章默认 3–5 张卡,不是 1 张;②A1 示例硬化为"真实经历片段"(有起因/转折/结果/反思),禁第三人称匿名版("一位做了十几年的工程师"= 违规),必须是当前用户真实素材。触发事件:拆《蛤蟆先生》第 1 章时只出 1 张卡且 A1 用匿名版,用户比对旧版(4 张卡 + 用户真实素材)后指出"之前的更好" |
| v1.2.0 | 吸收 cangjie-skill RIA-TV++ 判断力:①I 四件套→五件套,加"为什么 ≠ 常识"(Adler 批判阶段,防附会旧知)②拆前三重验证 V1 跨域 / V2 预测力 / V3 独特性(片段筛子,防选到漂亮废话)③R 引用 ≤150 字/段 + 必带出处(章号+页码/段号/时间戳,防头重脚轻)。模板同步新增 {{I_CTR}}、.cite、.qc 徽章,check_card.py 新增 3 条断言 |
| v1.1.7 | 新增 scripts/rebuild_chapter_headers.py:修复扫描版 OCR 后章头粘连/变形(吞标题首字、「第3章」→「3章」等),经 titles.json 模糊定位重建标准章头,实测 25 章书索引 2→25 |
| v1.1.6 | 新增 scripts/check_card.py 出卡合规自检(四段齐全/A2 勾选清单/四徽章),固化第五节格式锁定纪律,出卡后必跑 |
| v1.1.5 | .meta 徽章 3→4:补 R 徽章「逐字/有出处/不杜撰」(与 I/A1/A2 对称,用户提出);模板、examples/01 同步 |
| v1.1.4 | frontmatter description 重写:吸收完整功能描述并精简(四分类/便签验收/硬规则承诺/输入格式/扫描版 OCR 全保留),措辞压紧信息不丢 |
| v1.1.3 | SKILL.md 按金字塔原理重组(结论先行/MECE 分组/版本记录表格化),内容不丢、篇幅砍半 |
| v1.1.2 | 删过时的 00 升级对比示例,examples 收敛为两份(新手页+01 真实卡片) |
| v1.1.1 | 读秀 DuXiu 扫描书误判修复(文本量 vs 页数复核);新增触发说法对照、能力边界与异常处理;新手页排错 FAQ 4→7 条 |
| v1.1.0 | 版本号进位;确立默认规则:每次打包末位+1,中/大版本进位仅用户明确要求 |
| v1.0.14 | Windows 自带中文 OCR(winsdk)+ postprocess_ocr.py 固化 OCR 后处理 |
| v1.0.13 | 新手 5 分钟上手页 + 精简首屏 |
| v1.0.12 | 书根重定义(环境变量→子目录搜索→默认→兜底);乱结构 epub 章头修复(阿拉伯/中文数字双格式+附录边界) |
| v1.0.11 | 模板锁定(templates/章节卡模板.html 唯一真相) |
| v1.0.10 | 高效拆书默认流程;书根三级解析 |
| v1.0.9 | 可移植性修复(去写死路径,RIA_ROOT 优先) |
| v1.0.8 | 对照 2017 版:三便签验收标准+误区质检、三维学习力、示例动态化 |
| v1.0.7 | 高效抽章(索引+O(1) 切片) |
> 历史详细记录见各版本更新说明(发布目录留存)。