sy-decompose · 拆解书籍(节级精读目录)
把"整本书"切成"对我最有价值的几节"。
知识库根目录
<知识库根>:① 本次会话用户显式指定 → ② 当前 Agent 打开的项目路径下有知识库标志(阅读笔记/log.md或阅读笔记/_system/用户阅读报告.md)→ ③~/.shendu-yuedu/config.json的 kb_root(问用户是否沿用)→ ④ 默认当前 Agent 打开的项目路径。权威定义见01-init/SKILL.md「知识库根目录解析协议」。
前置(必做)
- 读
<知识库根>/阅读笔记/_system/用户阅读报告.md,取身份/目标/已有储备/应用场景。- 冷启动分支(报告不存在):不阻塞——现场问用户 3-4 个最小问题(身份 / 这本书的核心目标 / 该领域已有储备 / 应用场景),据此拆解,并在拆解文件顶部标注「档案待补:建议先跑 sy-init 建档」。
- 校验书名是否在 Hub 的"在读书目索引"里:
- 在 → 继续,复用该书的核心目标
- 不在 → 先问用户"这本书的核心目标是什么"(避免读完才发现偏离),把书加入 Hub 索引后再继续
- 问/确认书的元信息:书名、作者、出版社(可选)、类别。
推理框架(Tree-of-Thoughts + Chain-of-Verification)
Step 1 知识检索与结构推断
- 确认知道该书 → 列真实章节结构(到节级 X.X)
- 不确定 → 基于元信息推断最可能架构,明确标
[推断] - 完全推断不出 → 明说,基于类别给典型结构作参考
置信度门控(防节级编造):Step 1 完成后先自评置信度。
- 高(你确信真实章节结构)→ 直接进 Step 2 打分。
- 中/低(多数节要靠 [推断])→ 先自助取真实目录,取不到再问用户(2026-08-18 实战跑通):
- Playwright MCP 浏览器 → cn.bing.com 精确短语搜索(书名必须加英文双引号,如
"价值心法";不加引号会被分词成单字,返回百科/词典泛结果)→ 认出weread.qq.com/web/reader/链接 → 打开 → 点「目录」按钮 → evaluate 抽取章节文本。详细配方见references/catalog-self-retrieval.md;百科/豆瓣摘要可交叉验证出版社/出版年/页数/ISBN。- 自助取失败(登录墙/人机验证/查无此书/Playwright MCP 或浏览器不可用)→ 停下请用户从微信读书/豆瓣/实体书目录页贴一下真实目录,再基于真目录打分。这比让 AI 猜节名靠谱 10 倍,也避免后续预读/精读都建在编造的节名上。用户不愿贴就用推断版,但目录文件顶部必须醒目标注"结构为推断,建议核对",且 🔴 推断版落盘前必须向用户展示结构来源与置信度评估,用户确认接受才写入。
- ✅ 微信读书网页版目录可抽到节级:
readerCatalog_list_item元素带level_1/2/3(章/小节),必须全量提取、禁止内容过滤正则(v1 事故正因过滤正则把小节全滤掉,2026-08-18 用户拆穿后返工)。完整代码与完整性自检见references/catalog-self-retrieval.md。
Step 2 多路径价值评估(每节打分 1-5)
- 目标匹配度(直接支持用户核心目标的程度)
- 实践转化率(能直接变成行动的程度)
- 知识缺口填补(补用户当前盲区的重要性)
- 前置依赖(是否需先读他节)
Step 3 优先级排序
- P0 必读:目标匹配≥4 且 实践转化≥4,无未满足依赖
- P1 重点:目标匹配≥3 且 实践转化≥3,或重要但有依赖
- P2 选读:扩展视野,与目标间接相关
- P3 跳过:与目标无关 或 用户已掌握
- 输出预算:P0/P1 逐节全列;P2/P3 只给章级汇总行(一行一章+一句理由),不逐节展开——防 40+ 节大书输出超长
Step 4 验证(CoV 四重)
- 存在性:每节是否可能真实存在?不确定标
[待确认] - 逻辑:阅读顺序是否尊重前置依赖?有无"先读B才懂A"却A排前
- 冗余:多节覆盖同一知识?只留最精炼的
- 完整性:有没遗漏对核心目标至关重要的领域
输出:<知识库根>/阅读笔记/YYYY-MM/<书名>/00-拆解目录.md
---
type: 拆解目录
title: <书名>·节级精读目录
description: 一句话(核心目标+建议阅读量)
tags: [深度阅读, <书名>]
timestamp: YYYY-MM-DD
resource: 可选,书源与版次(微信读书/豆瓣/纸书)
---
## 📚 书籍概览
书名/作者/结构来源(已知真实/[推断]/类别参考)/置信度(高中低)
## 🎯 阅读策略总览
- 核心目标(概括)
- 建议总阅读量(X节,约占全书Y%)
- 预计精读时间(按用户节奏估算)
## 📋 精读目录(按推荐顺序)
### 🔴 P0 必读
| 原书章节 | 节标题 | 推荐理由(扣紧用户目标) | 预计时间 | 依赖前置 |
### 🟠 P1 重点(同结构)/ 🟡 P2 选读 / ⚪ P3 跳过(P2/P3 按输出预算只给章级汇总行,跳过列写"跳过理由")
## ⚠️ 不确定性与建议
- 结构置信度说明
- [待确认] 章节清单
- 补充建议(搭配阅读/若书中无X节怎么办)
真实目录与同作者相近书名 Pitfalls(2026-07-29 用户纠错)
- 用户提供目录截图/PDF 目录后,立刻以用户目录为准更新拆解文件:不要继续保留“待核对译名”;应把公开英文目录降级为交叉核对来源。
- 没有微信读书不等于没有书:用户可能用 PDF/实体书目录。路径仍按 Obsidian 阅读笔记基准落盘。
- 同作者相近标题要区分:Oliver Burkeman 的《四千周》(Four Thousand Weeks) 是时间哲学主书;《四周》(Meditations for Mortals / Four Weeks) 是 28 天实践手册。前者负责“想明白”,后者负责“练起来”,不要混为同一本。
- 章节级拆解可先做,但必须标明结构来源:若只有公开目录则写“公开英文目录”;若用户给截图则写“用户提供 PDF 目录截图”。
约束
- 绝对禁止编造:不确定就标
[推断]/[待确认],绝不假装确定 - 推荐理由必须个性化:扣紧用户目标,禁用"这节很重要"这种空话
- 节级精度:到 X.X,不到章。无法确定就说明并给章级方向
- 阅读顺序逻辑自洽:考虑前置依赖
- 版本对齐(2026-08-18 教训):目录以用户实际阅读载体为准(微信读书/纸书/PDF 存在差异,实测第一章小节数 7↔9、用字"制定↔制订");用户贴目录来对照时逐条 diff 并把差异写进拆解文件备注——AI 抓到的电子版不天然权威,不默认自己更准
沉淀动作
- 写到
<知识库根>/阅读笔记/YYYY-MM/<书名>/00-拆解目录.md(目录不存在则创建),文件头带 OKF frontmatter(见输出模板)。 - 回写 Hub"在读书目索引":加该书一行,进度=已拆解;链接写法遵循 Hub 报告「知识库工具链」的链接规范。
- 追加
阅读笔记/log.md一条:## [YYYY-MM-DD] decompose | <书名>·一句话(结构来源与置信度)。
人 × AI 分工
- 人:确认元信息、给该书核心目标、审目录是否靠谱
- AI:检索/推断结构、打分排序、四重验证、写目录
下一步
强烈推荐运行 sy-preread(预读)——把 P0/P1 目录转成问题清单+实践钩子,带着问题去读。