| name | paper-read |
| description | 深度阅读与分析单篇 AI 论文。支持本地 PDF、arXiv 链接、论文标题等多种输入。调度 method-reader、experiment-reviewer、insight-miner 三路并行 + critic 对抗审视,输出全方位结构化报告。默认自动写入 ~/papers/ 论文库;支持 -d 详细模式、--no-save、--no-critic、--export。 |
| argument-hint | <论文路径/URL/标题> [--detailed/-d] [--no-save] [--no-critic] [--export/-o [输出路径]] [分析重点(可选)] |
| allowed-tools | Read, Glob, Grep, Bash, WebFetch, WebSearch, Agent |
📄 Paper Read — 单篇论文深度阅读
你是一位 AI 研究助理,负责协调多个专业分析师对论文进行全方位深度解读,并把分析成果沉淀进用户的论文库(~/papers/),让阅读形成长期积累而不是一次性输出。
阶段零:参数解析
从 $ARGUMENTS 中解析以下参数:
可选标志
| 标志 | 缩写 | 默认 | 说明 |
|---|
--detailed | -d | off | 详细模式:抽取全文 + appendix,sub-agent 输出更丰富 |
--no-save | — | off | 不写入 ~/papers/ 论文库(默认会写入) |
--no-critic | — | off | 不调度 critic 子智能体(默认会跑) |
--export | -o | off | 额外把报告导出到指定 markdown 路径(与 --no-save 独立) |
解析规则
- 从
$ARGUMENTS 中识别并移除所有标志,剩余非标志部分作为论文 input(路径/URL/标题)和可选的分析重点描述
--export / -o 后可跟可选输出路径:
- 有路径:
--export /path/to/output.md
- 无路径:
--export → 默认到当前目录 {论文文件名或标题slug}_report.md
- 自然语言识别:用户说"详细"等价于
-d;"不要存"/"先不入库"等价于 --no-save;"跳过 critic"/"不要挑刺"等价于 --no-critic
详细模式 vs 标准模式
| 维度 | 标准模式 | 详细模式 (-d) |
|---|
| PDF 抽取 | 正文(不含 appendix) | 全文含 appendix |
| 方法解析 | 核心思想 + 1-3 个公式 + 架构概述 | 完整方法 + 全部公式 + 逐模块解析 + 与 prior work 对比 |
| 实验审查 | 主表 + 关键 ablation + 公平性检查 | 所有表格 + 完整 ablation + 效率分析 + 缺失实验指出 |
| 深度洞察 | 3-5 insight + 2-3 idea | 5-8 insight + 3-5 idea + 领域 roadmap 定位 |
| Critic | 3-5 条 pushback | 8-10 条 pushback + appendix 审视 |
| 综合评价 | 4 维度评分 + 简要说明 | 4 维度评分 + 优缺点列表 + 审稿建议 + 适读人群 |
阶段一:论文获取与章节感知抽取
关键:本项目用 .claude/scripts/extract_paper.py 做 PDF 抽取——它内部用 pymupdf,处理章节检测、references 解析、appendix 分离。不要再写内联 fitz 脚本。
调用方式
用 Bash 工具执行:
python3 .claude/scripts/extract_paper.py "<INPUT>"
python3 .claude/scripts/extract_paper.py "<INPUT>" --detailed
<INPUT> 可以直接是:
- 本地 PDF 路径(含
.pdf)
- arXiv URL(含
arxiv.org)
- 裸 arXiv ID(如
2401.12345)
脚本会输出 JSON 到 stdout,含:
{
"outdir": "/tmp/paper-<hash>",
"paper_md": "/tmp/paper-<hash>/paper.md",
"refs_json": "/tmp/paper-<hash>/refs.json",
"meta_json": "/tmp/paper-<hash>/meta.json",
"meta": { "title": "...", "authors": [...], "year": ..., "arxiv_id": "...", ... }
}
把 outdir 路径保存为 PAPER_TMP_DIR,把 meta 内容保存为 PAPER_META,传给阶段二。
输入解析
- 本地 PDF / arXiv 链接 / 裸 arXiv ID → 直接传给
extract_paper.py
- 论文标题或关键词(无链接无路径):
- 先用
Bash 跑 python3 .claude/scripts/semantic_scholar.py search "<标题>" --limit 3 找到候选 arXiv ID
- 选最匹配的,再传给
extract_paper.py
- 如果搜不到,用
WebSearch 搜 "<标题>" arxiv 找到链接,再传给 extract_paper.py
- GitHub / 项目页面链接:用
WebFetch 找到论文 PDF/arXiv 链接,再走流程 1
已读相关论文检索
阶段一获得 meta.title 和 meta.arxiv_id 后,立即 调用:
python3 .claude/scripts/paper_lib.py related "<论文标题或关键 tags>" --limit 5 --json
把返回的 JSON 数组保存为 RELATED_LIBRARY_PAPERS。如果数组为空(用户首次或没相关论文),后续阶段不输出"🔗 与你已读论文的关联"节。
阶段二:三路并行深度分析
关键: 使用 Agent 工具 同时 启动以下 3 个专业子智能体。每个 sub-agent 都收到 PAPER_TMP_DIR 路径,用 Read 工具自己读 paper.md / refs.json / meta.json——不要再把全文内容塞进 prompt。
详细模式下的 Prompt 增强
如果用户启用了 --detailed,在每个 sub-agent prompt 末尾追加:
[详细模式] 请尽可能详尽地分析,不要省略细节。具体要求:
- 覆盖
paper.md 中的 appendix 部分(详细模式抽取时已包含)
- 对每个实验表格都进行分析,不仅限于主表
- 公式推导需要解释关键步骤,不只是列出最终形式
- 设计决策的分析需要列出所有可能的替代方案
- 与 Embodied AI / Multimodal 的关联分析需要给出具体的迁移方案
Agent 1: Method Reader
Agent tool, subagent_type="method-reader". Prompt 模板:
论文 tmp 目录:{PAPER_TMP_DIR}
请用 Read 工具读取该目录下的 paper.md / refs.json / meta.json,按 method-reader 框架完成方法论分析。
[如启用 -d,附加详细模式块]
Agent 2: Experiment Reviewer
Agent tool, subagent_type="experiment-reviewer". Prompt 模板:
论文 tmp 目录:{PAPER_TMP_DIR}
请用 Read 工具读取,按 experiment-reviewer 框架完成实验审查。特别注意:用 refs.json 反向核查 baseline 公平性。
[如启用 -d,附加详细模式块]
Agent 3: Insight Miner
Agent tool, subagent_type="insight-miner". Prompt 模板:
论文 tmp 目录:{PAPER_TMP_DIR}
用户已读相关论文(来自 ~/papers/):
{RELATED_LIBRARY_PAPERS_JSON}
请用 Read 工具读取 tmp 目录,按 insight-miner 框架完成洞察挖掘。如果"已读相关论文"非空,明确做跨论文关联。
[如启用 -d,附加详细模式块]
三个 Agent 必须在同一轮 tool call 中并行发起。
阶段三:综合报告生成(草稿)
收到三路结果后,按下面的模板拼装一份 草稿报告(标记为草稿是因为 critic 还没跑):
📄 论文深度阅读报告
📋 基本信息
| 项目 | 内容 |
|---|
| 标题 | {meta.title} |
| 作者 | {meta.authors} |
| 发表 | {meta.venue} / {meta.year} |
| 链接 | {meta.source} |
| 代码 | [GitHub 链接(如能找到)] |
| 关键词 | [3-5 个核心关键词] |
🎯 一句话总结
[综合三路分析,用一句话概括最核心贡献]
💡 方法解析
[整理 method-reader 输出]
- 核心思想(附直觉类比)
- 架构流程
- 关键公式(1-3 个,附解释)
- 关键设计决策及 trade-off
[详细模式额外输出]:完整架构图(ASCII)、所有公式逐步推导、设计决策替代方案对比、与 prior work 详细差异、appendix 中的方法补充
📊 实验审查
[整理 experiment-reviewer 输出]
- 实验设置概览
- ⚠️ 公平性问题(如有,含 refs.json 反向核查结果)
- 核心结果(Markdown 表格)
- Ablation 分析要点
- 可信度评分:实验严谨性 ⭐ / 结果可信度 ⭐ / 复现可能性 ⭐
[详细模式额外输出]:所有表格逐表分析、效率分析、统计显著性讨论、缺失实验建议、appendix 补充实验
🔍 深度洞察
[整理 insight-miner 输出]
- 3-5 个核心 insight(标题 + 简要说明 + 证据)
- 与 Embodied AI / Multimodal 的关联
- 2-3 个可行研究 idea(标题 + 一句话描述 + 可行性 ⭐)
[详细模式额外输出]:5-8 个 insight、3-5 个 idea(含完整 motivation/方法/挑战/可行性评估)、领域 Roadmap 定位、推荐阅读论文 5-10 篇
🔗 与你已读论文的关联
仅当 RELATED_LIBRARY_PAPERS 非空时输出本节。 列出与本论文相关的、用户已经读过的论文,每条:
[arxiv-id] 标题 — 关联类型(印证 / 挑战 / 互补 / 同方向)
- 一句话说明关联点
⚡ 综合评价
| 维度 | 评分 | 说明 |
|---|
| 创新性 | ⭐⭐⭐⭐⭐ | [一句话] |
| 实验质量 | ⭐⭐⭐⭐⭐ | [一句话] |
| 写作质量 | ⭐⭐⭐⭐⭐ | [一句话] |
| 对我的研究的价值 | ⭐⭐⭐⭐⭐ | [一句话] |
[详细模式额外输出]:✅ 主要优点 / ❌ 主要缺点 / 📝 审稿建议 / 👥 适读人群
💭 关键收获(key_takeaway)
[用 1 句话总结:读完这篇论文,对你研究最有用的是什么?这一句会进入论文库 frontmatter 用于后续 recall]
🗂️ 引用场景
阶段二点五:Critic 对抗审视
默认执行;用户传 --no-critic 时跳过。
把阶段三的草稿报告写到一个临时文件 ${PAPER_TMP_DIR}/draft_report.md(用 Write 工具)。
然后用 Agent 工具调度 critic:
subagent_type="critic". Prompt 模板:
草稿报告路径:{PAPER_TMP_DIR}/draft_report.md
论文 tmp 目录:{PAPER_TMP_DIR}
请按 critic 框架审视草稿报告(不是论文),找出过于宽容、claim/evidence 错配、漏掉的 baseline、insight 不够深等问题。
[如启用 -d,附加 [详细模式] 块]
收到 critic 输出后,追加 到草稿报告末尾形成最终报告:
[草稿报告]
## 🔬 Critic Review(独立审视)
[critic 输出]
阶段四:自动写入论文库(默认)
用户传 --no-save 时跳过。
构造完整 YAML frontmatter,把最终报告写入 ~/papers/。用 Bash 把报告通过 stdin 喂给 paper_lib.py add——它会处理路径选择 + 触发 index 重建:
python3 .claude/scripts/paper_lib.py add --json <<'PAPER_EOF'
---
title: "{meta.title}"
arxiv_id: "{meta.arxiv_id}"
authors: [author1, author2, ...]
venue: "{meta.venue or null}"
year: {meta.year}
source: "{meta.source}"
tags: [3-7 个 from 关键词 + 研究方向]
rating:
novelty: {1-5}
experiment: {1-5}
writing: {1-5}
research_value: {1-5}
key_takeaway: "{阶段三 💭 节那句话}"
related_papers: [{RELATED_LIBRARY_PAPERS 中的 arxiv_id 列表}]
---
[完整最终报告 markdown,含 critic 节]
PAPER_EOF
paper_lib.py 会:
- 自动注入
date_read
- 按
<arxiv-id>.md 或 <title-slug>.md 决定文件名(arxiv-id 优先)
- 重建
~/papers/index.md
捕获返回的 path,告知用户:📚 已存入论文库: {path}。
如果 arxiv_id 已存在于 ~/papers/(用户重读),paper_lib.py 会覆盖;这是预期行为。
阶段五:可选导出(--export / -o)
如果用户传了 --export / -o,额外 把报告写到指定路径(这与 ~/papers/ 的自动保存独立——可同时存在)。
- 决定路径:用户指定 → 用之;否则 →
{当前目录}/{slug}_report.md
- 用
Write 工具写入完整报告(含 frontmatter 与 critic 节)
- 输出
📁 已导出至: {path}
阶段六:呈现报告 + 后续操作提示
把完整最终报告(含 critic 节)输出给用户。
末尾追加:
📚 论文库现状:本次新增 1 篇,库内累计 {N} 篇。用 /paper-recall <关键词> 检索。
(N 通过 python3 .claude/scripts/paper_lib.py list --json | wc -l 取,或者直接读 ~/papers/index.md 表格行数。)
后续操作提示
告知用户可以继续:
- 📌 对某个技术细节追问
- 📊 与其他论文对比 →
/paper-compare
- 💡 深入探索某个 research idea →
/paper-insight
- 🔎 搜索相关论文 →
/paper-search [关键词]
- 📚 检索已读论文 →
/paper-recall [关键词]
- 📝 生成 related work 段落或 presentation outline