Files
llm_wiki/wiki/ReadingClub.md
T
hehaiguang1123 a6f05ab2d5 Phase 0-2: Schema cleanup, typed relations, event-driven automation
- Phase 0: AGENTS.md cleanup (dedup quotes, renumber sections, merge qmd)
- Phase 1: typed relations (manage-relations.py, graph-search.py, check-staleness.py, detect-conflicts.py)
- Phase 2: frontmatter validator, weekly lint, knowledge promotion, git hooks
- Fix .gitignore to track tools/ and .githooks/
- Fix git remote URL (remove plaintext token)
- New wiki pages: 504 pages, 34 raw sources
2026-07-01 08:05:43 +08:00

6.8 KiB
Raw Blame History

categories, tags, created, source, type, aliases
categories tags created source type aliases
LLM Wiki
wiki
tool
reading-club
multi-agent
opencode
2026-04-28 reading-club skill tool
阅读俱乐部
多智能体阅读
Reading Club

ReadingClub — 多智能体阅读协作工具

一句话定义:三个 AI Agent(摘要者、批评者、提问者)与人类读者进行多轮对话,深入讨论书籍章节内容,最终生成 LLM Wiki 讨论记录页面。

基本信息

属性
类型 opencode Skill
位置 .agents/skills/reading-club/SKILL.md
版本 v2(人类主位设计)
依赖 opencode + task dispatch + build subagent
输出 wiki/ 目录下的 Markdown 页面

核心理念

人类是主角,Agent 是对话伙伴。

传统 AI 阅读工具让 AI 做主分析师,人类只能旁观。ReadingClub v2 颠覆了这个模式:

  • 每一轮都从人类的第一反应开始
  • Agent 直接用"你"称呼人类读者
  • Agent 必须回应人类的具体观点,不能泛泛而谈
  • 每次发言以一个真诚的问题结尾,邀请人类继续思考

三个 Agent 角色

角色 认知偏见 思维方式 输出特征
摘要者 Summarizer 同化偏见 — 在混乱中找秩序 结构化思维,梳理核心逻辑 核心论点、论证结构、隐含假设
批评者 Critic 对抗性偏见 — 找缺陷和逻辑漏洞 批判性思维,质疑一切 质疑点、反向思考、被忽略的矛盾
提问者 Questioner 好奇偏见 — 追问未回答的问题 苏格拉底式追问 深度追问、跨领域联想、开放性问题

[!tip] 角色设计原则 每个角色都编码了刻意设计的认知偏见。这不是缺陷,而是特性 — 让 Agent 的视角鲜明而互补,避免三个 Agent 说出一样的话。

讨论流程

graph TD
    A[INIT: 验证输入] --> B[HUMAN_FIRST_READ: 展示开头]
    B --> C{人类第一反应}
    C --> D[SEED_ROUND: 3 Agent 并行回应]
    D --> E[PRESENT_SEED: 对话式展示]
    E --> F{人类发言}
    F -->|观点/提问/反驳| G[Agent 回应]
    F -->|pass/跳过| H[Agent 自行讨论]
    F -->|停止| I[SYNTHESIS: 编译 Wiki]
    G --> F
    H --> F
    I --> J[写入 wiki 页面]
    J --> K[更新 index + log]

阶段说明

阶段 说明 人类角色
INIT 验证书籍和章节路径 选择书籍和章节
HUMAN_FIRST_READ 展示章节开头 3-5 句 必须发言 — 说出第一反应
SEED_ROUND 3 Agent 并行回应人类 静听
PRESENT_SEED 对话式展示 3 个视角 选择回应方向
CONVERSATION_LOOP 每轮 = 人类 → Agent 主动参与 — 可以反驳、追问、换角度
SYNTHESIS 编译为 Wiki 页面 审阅
DONE 写入 wiki/ 目录 完成

四种讨论模式

模式 轮次 Agent 回应长度 适合场景
browse 4 轮 短(100-200字) 快速浏览,获取概要
balanced 8 轮 中(200-400字) 标准讨论,平衡深度与效率
deep 14 轮 长(300-600字) 深度分析,批判性思考
human-led 无上限 视情况 人类完全主导,说停才停

人类交互指令

在讨论中,你可以使用以下方式参与(自然语言即可):

意图 示例 效果
分享想法 "我觉得这段其实是在说…" Agent 回应你的具体观点
提问 "为什么作者要这样写?" 最合适的 Agent 回答
反驳 "我不同意 Critic 的看法" 与指定 Agent 辩论
追问 "追问:一方水土养一方人" 聚焦该话题深入
换角度 "能不能从反面想想?" Agent 从对立视角分析
跳过 "pass" / "跳过" 让 Agent 继续讨论
继续 "继续" Agent 继续上一话题
结束 "停止" / "stop" 结束讨论,生成 Wiki

如何启动

方式 1:使用触发词

在 opencode 对话中输入:

/reading-club book_path="raw/《大国大民》王志纲" chapter="《大国大民》第一章-我是怎么读中国的.md"

方式 2:自然语言

我想用阅读俱乐部讨论《呼吸之间》的调息章节

方式 3:指定模式

/reading-club book_path="raw/呼吸之间_李谨伯" chapter="调息.md" mode="deep"

可用书籍

当前 raw/ 目录中已转换的书籍:

书籍 路径 章节数
《呼吸之间》李谨伯 raw/呼吸之间_李谨伯/ 20+
《大国大民》王志纲 raw/《大国大民》王志纲/ 15+

输出示例

讨论结束后自动生成 wiki 页面,包含:

  1. 读者的第一反应 — 原始记录
  2. 初始回应 — 3 个 Agent 的第一轮分析
  3. 深入讨论 — 后续轮次的对话记录
  4. 人类思考轨迹 — 追踪人类观点如何演化
  5. Agent 共识与分歧 — Agent 们在哪里一致、在哪里分歧
  6. 讨论总结 — 关键洞见和未决问题

设计决策记录

为什么人类必须先发言?

v1 中 Agent 先发言导致人类变成旁观者。人类的第一反应往往是最真实的 — 它不受 Agent 分析框架的影响,保留了直觉的锐利。Agent 的任务是回应和深化这个直觉,而不是替代它。

为什么给 Agent 编码认知偏见?

没有偏见的 Agent 会输出 bland、中庸的分析。编码认知偏见(同化、对抗、好奇)让每个 Agent 有鲜明的视角,产生真正的思想碰撞。

为什么不用 === 标记格式?

v1 使用 ===摘要=== / ===核心主张=== / ===END=== 刚性格式。v2 改为自然段落,因为:

  • Agent 表达更自由、更自然
  • 读者体验更像真实对话
  • 减少格式解析的脆弱性

技术架构

组件 实现
编排器 Sisyphus(主编排 Agent
角色区分 Prompt engineering(同一 build subagent,不同 prompt
并行调度 SEED_ROUND 3 个 Agent 并行 run_in_background=true
顺序调度 CONVERSATION_LOOP 每轮 1 个 Agent 同步 run_in_background=false
上下文管理 3 层分层:最近 3 轮完整 + 更早压缩 + 章节首轮后仅引用路径
输出格式 LLM Wiki 规范(AGENTS.md frontmatter

限制与未来扩展

当前限制

  • 仅支持单章节讨论
  • 仅支持一个人类读者
  • 章节内容需已在 raw/ 目录中

未来扩展

  • 跨章节讨论
  • 多本书对比
  • 自定义 Agent 角色
  • 多人阅读俱乐部

相关页面