学术文献批量总结
概述
批量处理学术文献(PDF、Markdown、文本),生成结构化总结。核心原则:使用 paper-reader Agent 隔离上下文、串行稳定处理、批量完成后统一展示。
适用场景
- •用户需要快速浏览多篇论文(表格汇总模式)
- •用户需要深入分析每篇论文(每篇独立报告模式)
- •用户提供了文献目录或多个文件
不适用于:
- •单篇论文的实时交互式分析(直接调用 paper-reader Agent)
- •用户明确要求逐篇查看分析结果
核心模式
两种处理模式
表格汇总模式 (Brief):
code
场景: 用户说"帮我快速浏览这些论文" 处理: 批量阅读 → 暂存在内存 输出: 单个表格文件 (paper-summary.md) 展示: 全部处理完后一次性展示完整表格
详细分析模式 (Detailed):
code
场景: 用户说"帮我详细分析每篇论文"
处理: 逐篇阅读 → 逐篇生成文件
输出: 每篇独立的 Markdown 文件 ({原文件名}-summary.md)
展示: 全部处理完后汇总展示文件列表和统计
快速参考
工具组合
| 工具 | 用途 | 时机 |
|---|---|---|
| Glob | 扫描文件 | 用户提供目录或通配符时 |
| TodoWrite | 进度跟踪 | 处理开始时创建,每篇更新状态 |
| Task (paper-reader) | 阅读单篇文献 | 每篇文献独立调用 |
| Write | 保存结果 | 全部处理完成后 |
支持的输入
- •单个文件:
./paper.pdf - •多个文件:
./paper1.pdf ./paper2.pdf - •Glob 模式:
./papers/*.pdf - •目录:
./papers/(自动扫描 .pdf、.md、.txt)
Semantic Scholar 补充(可选)
如果用户要求补充在线信息:
- •
mcp__semanticscholar__search-paper-title: 按标题搜索 - •
mcp__semanticscholar__get-paper-abstract: 获取引用数、DOI、期刊
执行流程
1. 识别模式与文件
从用户请求中提取:
- •处理模式: 表格汇总 or 详细分析
- •文件列表: 使用 Glob 扫描
- •输出位置: 默认文献所在目录
- •是否补充在线信息
2. 创建进度跟踪
使用 TodoWrite 为每篇文献创建任务,让用户清楚看到进度。
3. 串行处理文献
关键原则: 一篇一篇处理,不并行
对每篇文献:
- •标记任务为
in_progress - •调用 Task 工具,启动 paper-reader Agent:
code
subagent_type: paper:paper-reader prompt: "处理文献 {file_path}" - •暂存结果(不立即展示):
- •表格模式: 暂存 JSON 结果在内存
- •详细模式: 保存为独立文件,记录文件路径
- •标记任务为
completed
重要: 不要在对话中逐篇展示分析内容,避免对话混乱。
4. 批量展示结果
表格汇总模式:
- •从暂存的 JSON 结果生成完整表格
- •在对话中向用户展示该表格
- •将表格写入 Markdown 文件
详细分析模式:
- •在对话中汇总展示:
- •处理的文献总数
- •每篇文献标题及总结文件路径
- •成功/失败统计
- •所有输出文件位置
5. 可选: 补充在线信息
如果用户要求补充 Semantic Scholar 信息:
- •对每篇论文按标题搜索
- •补充引用数、DOI、期刊/会议、开放获取链接
- •更新输出文档
6. 完成报告
输出统计:
- •总文献数
- •成功/失败数及失败原因
- •输出文件位置
使用场景示例
场景 1: 快速浏览
code
用户: "帮我快速浏览 papers/ 目录下的所有 PDF" Claude: 1. 使用 Glob 扫描 papers/*.pdf 2. 创建进度任务列表 3. 逐篇调用 paper-reader Agent 4. 暂存结果在内存 5. 全部完成后生成表格并展示 6. 保存为 paper-summary.md
场景 2: 详细分析
code
用户: "帮我详细分析这几篇论文,每篇都要单独的总结"
Claude:
1. 解析文件列表
2. 创建进度任务列表
3. 逐篇调用 paper-reader Agent
4. 每篇生成独立的 {filename}-summary.md
5. 全部完成后汇总展示文件列表
场景 3: 补充在线信息
code
用户: "总结这些论文,并查询它们的引用数" Claude: 1. 按表格模式处理论文 2. 对每篇论文: - 调用 search-paper-title 查询 - 补充引用数、DOI、期刊 3. 更新表格 4. 展示并保存
常见错误
上下文溢出
问题: 一次性处理大量文献导致上下文溢出
解决:
- •每篇文献通过独立的 paper-reader Agent 处理
- •处理完成后只保留结果,丢弃 Agent 的中间上下文
逐篇展示导致对话混乱
问题: 详细模式下,对话中充斥着每篇论文的完整分析
解决:
- •逐篇生成文件,但不在对话中展示每篇内容
- •全部完成后统一汇总展示文件列表
格式不一致
问题: 不同文献的总结格式不一致
解决:
- •所有文献都通过同一个 paper-reader Agent 处理
- •Agent 内部有统一的输出模板
- •验证每篇输出是否符合模板要求
最佳实践
- •上下文隔离: 每篇文献独立 Agent,避免上下文污染
- •串行稳定: 一篇一篇处理,不并行,确保每篇都能充分分析
- •批量展示: 全部处理完后一次性展示,不逐篇展示
- •进度可见: 使用 TodoWrite 让用户清楚看到处理进度
- •格式一致: 所有输出严格遵循模板格式
- •错误容忍: 单篇失败不中断,记录错误继续处理其他文献