Find and read academic papers in four stages:
┌──────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Disambiguate │ → │ Discover │ → │ Evaluate │ → │ Read │
└──────────────┘ └──────────┘ └──────────┘ └──────────┘
↓
┌──────────────────┐
│ research-survey │ (for survey reports)
│ research-ideation│ (for idea generation)
└──────────────────┘
Setup: Scripts are in
skills/paper-navigator/scripts/
. Run via
python skills/paper-navigator/scripts/<name>.py
. Optional env vars for higher rate limits:
(Semantic Scholar),
(Jina Reader),
,
.
分为四个阶段查找与阅读学术论文:
┌──────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 消歧查询 │ → │ 发现论文 │ → │ 评估论文 │ → │ 阅读论文 │
└──────────────┘ └──────────┘ └──────────┘ └──────────┘
↓
┌──────────────────┐
│ research-survey │ (用于生成综述报告)
│ research-ideation│ (用于生成研究想法)
└──────────────────┘
设置说明:脚本位于
skills/paper-navigator/scripts/
目录下。通过
python skills/paper-navigator/scripts/<name>.py
运行。可设置以下环境变量以提升请求速率限制:
(Semantic Scholar)、
(Jina Reader)、
、
。
Step 0: Search Strategy Principles (MANDATORY)
步骤0:搜索策略原则(强制要求)
Every discovery task MUST follow these principles before executing any workflow.
所有发现任务在执行任何工作流之前,必须遵循以下原则。
Before searching, decompose the user's topic and generate 4-6 variant queries covering distinct research angles. This is critical because different papers use different terminology for the same concept, and a single research topic often spans multiple sub-communities.
Step 1: Sub-topic decomposition. Identify 3-5 distinct research angles within the user's query. Most research topics span multiple perspectives:
- Empirical vs. theoretical — papers that observe/measure the phenomenon vs. papers that prove/explain it formally
- Mechanism vs. condition — papers about how something works vs. when/why it emerges
- Method keywords — different communities use different terms for the same concept (e.g., "gradient descent" vs. "meta-optimization" vs. "implicit learning")
- Adjacent formulations — the same idea framed differently (e.g., "in-context learning" vs. "few-shot learning" vs. "learning from demonstrations")
Step 2: Generate queries. Create at least one query per identified angle, using synonym substitution, specificity adjustment, and structural variants:
- Synonym substitution: "data pruning" → "data selection", "data filtering", "data curation"
- Specificity adjustment: broaden ("pretraining data quality") or narrow ("perplexity-based data pruning LLM")
- Structural variants: swap word order, add/remove qualifiers, use abbreviations
Example: User asks "how LLMs gain in-context learning during pretraining"
- Angles: (a) mechanistic/circuit, (b) training dynamics, (c) ICL-as-optimization theory, (d) data/task conditions, (e) formal theory
- Query 1:
"in-context learning emergence pretraining language model"
(general)
- Query 2:
"induction heads formation training transformer"
(mechanistic)
- Query 3:
"transformers learn in-context gradient descent meta-learning"
(optimization view)
- Query 4:
"pretraining task diversity data structure in-context learning"
(data conditions)
- Query 5:
"in-context learning theory linear attention generalization"
(formal theory)
Example: User asks "papers about data pruning for LLM pretraining"
- Angles: (a) selection methods, (b) quality metrics, (c) scaling effects
- Query 1:
"data pruning pretraining language model"
- Query 2:
"data selection pretraining LLM"
- Query 3:
"training data curation large language model quality"
- Query 4:
"data quality scoring pretraining scaling"
搜索前,分解用户的主题并生成4-6个变体查询,覆盖不同的研究角度。这一点至关重要,因为不同论文对同一概念的术语表述不同,且单个研究主题通常涉及多个子领域。
步骤1:子主题分解。从用户的查询中识别3-5个不同的研究角度。大多数研究主题涵盖多个视角:
- 实证研究 vs 理论研究 —— 观察/测量现象的论文 vs 正式证明/解释现象的论文
- 机制 vs 条件 —— 研究事物运作方式的论文 vs 研究事物何时/为何出现的论文
- 方法关键词 —— 不同领域对同一概念的术语表述不同(例如:"gradient descent" vs "meta-optimization" vs "implicit learning")
- 相邻表述 —— 同一想法的不同框架(例如:"in-context learning" vs "few-shot learning" vs "learning from demonstrations")
步骤2:生成查询。为每个识别出的角度至少创建一个查询,使用同义词替换、特异性调整和结构变体:
- 同义词替换:"data pruning" → "data selection", "data filtering", "data curation"
- 特异性调整:拓宽范围("pretraining data quality")或缩小范围("perplexity-based data pruning LLM")
- 结构变体:调换语序、添加/删除限定词、使用缩写
示例:用户询问"how LLMs gain in-context learning during pretraining"
- 角度:(a) 机制/电路层面, (b) 训练动态, (c) 上下文学习的优化理论视角, (d) 数据/任务条件, (e) 形式化理论
- 查询1:
"in-context learning emergence pretraining language model"
(通用型)
- 查询2:
"induction heads formation training transformer"
(机制层面)
- 查询3:
"transformers learn in-context gradient descent meta-learning"
(优化视角)
- 查询4:
"pretraining task diversity data structure in-context learning"
(数据条件)
- 查询5:
"in-context learning theory linear attention generalization"
(形式化理论)
示例:用户询问"papers about data pruning for LLM pretraining"
- 角度:(a) 选择方法, (b) 质量指标, (c) 缩放效应
- 查询1:
"data pruning pretraining language model"
- 查询2:
"data selection pretraining LLM"
- 查询3:
"training data curation large language model quality"
- 查询4:
"data quality scoring pretraining scaling"
Multi-Source Parallel Search
多源并行搜索
Never rely on a single search source. For every discovery task, run at least 2 sources:
- Primary: (S2 with automatic arXiv fallback on rate limit)
- Secondary:
arxiv_monitor --keywords "<variants>" --match-mode flexible
for broader keyword coverage
- Tertiary (when S2 is rate limited): web search for recent blog posts/surveys that reference papers
CRITICAL — S2 parallelization rule:
- With set (100 req/min): You MAY run multiple calls in parallel.
- Without (100 req/5min, ~1 req/3s): You MUST run calls sequentially, one at a time. Parallel S2 calls without a key will exhaust the rate limit immediately, causing all calls to fail with 429 and fall back to the lower-quality arXiv search. This applies to ALL S2-dependent scripts: , , , , .
- How to check: Before starting discovery, run or check if the env var is set. If empty, switch to sequential mode.
- arXiv-only scripts () are NOT affected by this rule and can always run in parallel with other calls.
绝不能依赖单一搜索源。对于所有发现任务,至少使用2个来源:
- 主来源:(Semantic Scholar,速率受限自动回退到arXiv)
- 次来源:
arxiv_monitor --keywords "<variants>" --match-mode flexible
,用于更广泛的关键词覆盖
- 第三来源(当Semantic Scholar速率受限):网页搜索近期的博客文章/综述,这些内容通常会引用相关论文
关键规则——S2并行化规则:
- 已设置(100次请求/分钟):可以并行运行多个调用。
- 未设置(100次请求/5分钟,约1次请求/3秒):必须依次逐个运行调用。无API密钥时并行调用会立即耗尽速率限制,导致所有调用返回429错误并回退到质量较低的arXiv搜索。此规则适用于所有依赖S2的脚本:、、、、。
- 如何检查:开始发现任务前,运行或检查环境变量是否已设置。如果为空,切换到串行模式。
- 仅基于arXiv的脚本()不受此规则影响,始终可以与其他调用并行运行。
Rate-Limit-Aware Fallback Chain
速率限制感知的回退链
When Semantic Scholar returns 429 or empty results:
- automatically falls back to arXiv (built-in since v1.2)
- Use with for broader coverage
- Switch to web search for blog posts, surveys, GitHub repos that reference papers
- Space S2-dependent calls (, ) at least 5s apart and reduce
Prevention is better than fallback: The arXiv fallback produces lower-quality results (no citation counts, less precise relevance ranking). To avoid triggering it, always follow the S2 parallelization rule above — run S2 calls sequentially when no API key is set.
当Semantic Scholar返回429错误或空结果时:
- 会自动回退到arXiv(v1.2版本起内置该功能)
- 使用并设置以扩大覆盖范围
- 切换到网页搜索博客文章、综述、GitHub仓库,这些内容会引用相关论文
- 依赖S2的调用(、)之间至少间隔5秒,并减少参数的值
预防胜于回退:arXiv回退的结果质量较低(无引用计数、相关性排名不够精准)。为避免触发回退,请始终遵循上述S2并行化规则——未设置API密钥时,串行运行S2调用。
Mandatory Citation Expansion (for multi-paper discovery tasks)
强制引文扩展(针对多论文发现任务)
After finding ≥3 relevant seed papers, you MUST expand coverage using the citation graph. The goal is to discover papers that keyword search cannot reach.
Seed selection: Rank all found relevant papers by citation count. Pick the top 3 as primary seeds.
Expansion steps (all mandatory):
- Co-citation on the single highest-cited seed:
citation_traverse --direction co-citation --limit 15
— this is the strongest signal for finding closely related work that uses different terminology
- Forward citations on the top 2 seeds:
citation_traverse --direction forward --limit 20
— finds follow-up work
- Backward citations on 1-2 seeds whose topic coverage differs:
citation_traverse --direction backward --limit 20
— finds foundational and adjacent work that seeds build on. Pick seeds from different sub-topics to maximize coverage breadth
- Recommendations with diverse seeds:
recommend --positive <seed1>,<seed2>,<seed3>
— serendipitous discovery of semantically related work not connected by citations
Seed diversity principle: When selecting seeds for backward traversal or recommendations, prefer seeds from different sub-topics identified in query reformulation. This prevents the citation graph from staying within a single research community.
Applies to: WF1 (Survey), WF3 (Quick Search with >10 results), WF5 (Track Developments), WF9 (Ideation), WF10 (User-specified count).
Does NOT apply to: WF2 (Find specific paper), WF7 (Read paper by URL).
找到**≥3篇相关种子论文后,必须通过引文图谱扩展覆盖范围**。目标是发现关键词搜索无法触及的论文。
种子选择:按引用量对所有找到的相关论文排序,选择前3篇作为主要种子。
扩展步骤(全部为强制要求):
- 共引分析:对引用量最高的单篇种子论文执行
citation_traverse --direction co-citation --limit 15
——这是发现使用不同术语的密切相关研究的最强信号
- 正向引文:对前2篇种子论文执行
citation_traverse --direction forward --limit 20
——查找后续研究
- 反向引文:对1-2篇主题覆盖不同的种子论文执行
citation_traverse --direction backward --limit 20
——查找种子论文所基于的基础研究和相邻研究。选择来自不同子主题的种子以最大化覆盖广度
- 基于多样化种子的推荐:
recommend --positive <seed1>,<seed2>,<seed3>
——偶然发现与种子论文语义相关但无引文关联的研究
种子多样性原则:选择用于反向遍历或推荐的种子时,优先选择来自查询重构阶段识别出的不同子主题的种子。这可以防止引文图谱局限于单一研究社区。
适用场景:WF1(综述)、WF3(快速搜索且结果>10篇)、WF5(追踪研究进展)、WF9(创意生成)、WF10(用户指定数量)。
不适用场景:WF2(查找特定论文)、WF7(通过URL阅读论文)。
Coverage Gap Check (for multi-paper discovery tasks)
覆盖缺口检查(针对多论文发现任务)
After initial search + citation expansion, review the collected papers against the sub-topics identified during query reformulation.
For each sub-topic angle:
- Count how many collected papers address it
- If a sub-topic has 0-1 papers, run a targeted with a query specific to that angle
- If targeted search finds new relevant papers, optionally run one more or round on the new finds
This step catches systematic blind spots where an entire research perspective was missed by all prior queries. It is lightweight — typically 1-2 additional searches for gaps, not a full re-search.
Applies to: Same workflows as Mandatory Citation Expansion.
完成初始搜索+引文扩展后,对照查询重构阶段识别出的子主题,审查收集到的论文。
针对每个子主题角度:
- 统计收集到的论文中有多少篇涉及该角度
- 如果某个子主题仅有0-1篇论文,运行针对该角度的定向
- 如果定向搜索找到新的相关论文,可以选择对新发现的论文再执行一轮或
此步骤用于捕捉系统盲点,即所有先前查询都遗漏了整个研究视角。该步骤操作简便——通常只需针对缺口执行1-2次额外搜索,无需重新执行完整搜索。
适用场景:与强制引文扩展的适用工作流相同。
Step 1: Classify Intent and Select Workflow
步骤1:分类意图并选择工作流
Start here. Determine what the user wants and route to the right workflow. Match complexity to intent — simple queries get simple answers.
| Intent | Signal | Workflow | Complexity |
|---|
| Find a specific paper | Title, author name, or URL | WF 2 | Single search call |
| Quick paper search | "give me papers about X", "find papers on X" | WF 3 | Single search call |
| Metadata search | Author + year, venue filter | WF 4 | Single search + filter |
| Track recent advances | "latest", "recent", "what's new" | WF 5 | 1-2 calls |
| Find a baseline | Code, SOTA, implementation | WF 6 | Search + code check |
| Read a paper | URL or "read this paper" | WF 7 | Fetch + read |
| Ambiguous term | Project name, module name, nickname | WF 8 | Web search + resolve |
| Literature survey | "survey X", comprehensive coverage | WF 1 → then hand off to | Iterative collection |
| Related work map | Connections between papers | WF 1 | Citation traversal |
| Ideation support | Called from research-ideation | WF 9 | Iterative + strict filter |
| User-specified count | "find me exactly N papers about X" | WF 10 | Adaptive |
Key principle: Simple "find me papers about X" queries should return results from a single search call, not trigger the full iterative collection workflow. Only use iterative expansion for comprehensive surveys or ideation support.
从此处开始。确定用户需求并路由到正确的工作流。根据意图匹配复杂度——简单查询返回简单结果。
| 意图 | 信号 | 工作流 | 复杂度 |
|---|
| 查找特定论文 | 标题、作者姓名或URL | WF 2 | 单次搜索调用 |
| 快速论文搜索 | "give me papers about X", "find papers on X" | WF 3 | 单次搜索调用 |
| 元数据搜索 | 作者+年份、会议/期刊筛选 | WF 4 | 单次搜索+筛选 |
| 追踪最新进展 | "latest", "recent", "what's new" | WF 5 | 1-2次调用 |
| 查找基线模型 | 代码、SOTA、实现 | WF 6 | 搜索+代码检查 |
| 阅读论文 | URL或"read this paper" | WF 7 | 获取+阅读 |
| 模糊术语 | 项目名称、模块名称、昵称 | WF 8 | 网页搜索+消歧 |
| 文献综述 | "survey X", 全面覆盖 | WF 1 → 移交至 | 迭代式收集 |
| 相关研究图谱 | 论文之间的关联 | WF 1 | 引文遍历 |
| 创意生成支持 | 由research-ideation调用 | WF 9 | 迭代式+严格筛选 |
| 用户指定论文数量 | "find me exactly N papers about X" | WF 10 | 自适应 |
核心原则:简单的"find me papers about X"查询应返回单次搜索调用的结果,无需触发完整的迭代收集工作流。仅在生成全面综述或创意生成支持时使用迭代扩展。
Step 2: Resolve Ambiguous Terms (if needed)
步骤2:解析模糊术语(如有需要)
When the user's query might be a colloquial name, project name, or module name (rather than a paper title):
- Quick academic search — Try with the exact query
- If zero results — Broaden the search:
- Web search: Find GitHub repos, blog posts, or social media that reveal the actual paper title or arXiv ID
- GitHub search:
github_search.py --query "USER_QUERY"
— repos often link to papers
- Extract identifiers — Actual paper title, arXiv ID, GitHub repo URL, author names
- Re-enter the appropriate workflow with resolved identifiers
Example disambiguation report:
🔍 Disambiguation Report for "deepseek engram"
├── Intent: Track recent advances (ambiguous term)
├── Resolution: "Engram" is a module name from DeepSeek AI
│ ├── Actual paper: "Conditional Memory via Scalable Lookup" (ArXiv:2601.07372)
│ └── GitHub: https://github.com/deepseek-ai/Engram
└── Search Plan:
├── scholar_search --query "Conditional Memory Scalable Lookup" --sort-by year
├── citation_traverse --paper-id ArXiv:2601.07372 --direction forward
└── github_search --query "deepseek engram"
当用户的查询可能是口语化名称、项目名称或模块名称(而非论文标题)时:
- 快速学术搜索 —— 使用精确查询尝试
- 如果无结果 —— 扩大搜索范围:
- 网页搜索:查找GitHub仓库、博客文章或社交媒体,以获取实际论文标题或arXiv ID
- GitHub搜索:
github_search.py --query "USER_QUERY"
—— 仓库通常会链接到论文
- 提取标识符 —— 实际论文标题、arXiv ID、GitHub仓库URL、作者姓名
- 重新进入:使用解析后的标识符进入相应的工作流
示例消歧报告:
🔍 针对"deepseek engram"的消歧报告
├── 意图:追踪最新进展(模糊术语)
├── 解析结果:"Engram"是DeepSeek AI的一个模块名称
│ ├── 对应论文:"Conditional Memory via Scalable Lookup" (ArXiv:2601.07372)
│ └── GitHub:https://github.com/deepseek-ai/Engram
└── 搜索计划:
├── scholar_search --query "Conditional Memory Scalable Lookup" --sort-by year
├── citation_traverse --paper-id ArXiv:2601.07372 --direction forward
└── github_search --query "deepseek engram"
Standard Output Formats
标准输出格式
Use these formats when presenting results to the user. Match the format to the intent.
Format A: Single Paper Card (for navigational search, WF 2)
格式A:单篇论文卡片(用于导航搜索,WF 2)
📄 **Highly accurate protein structure prediction with AlphaFold**
Authors: Jumper et al.
Year: 2021 | Venue: Nature
Citations: 25,000+
DOI: 10.1038/s41586-021-03819-2 | S2 ID: 235959867
Link: https://doi.org/10.1038/s41586-021-03819-2
TLDR: End-to-end neural network for protein structure prediction achieving atomic accuracy...
📄 **Highly accurate protein structure prediction with AlphaFold**
作者:Jumper et al.
年份:2021 | 期刊:Nature
引用量:25,000+
DOI:10.1038/s41586-021-03819-2 | S2 ID:235959867
链接:https://doi.org/10.1038/s41586-021-03819-2
TLDR:端到端神经网络用于蛋白质结构预测,达到原子级精度...
Format B: Paper List Table (for quick search, metadata search, trending — WF 3/4/5)
格式B:论文列表表格(用于快速搜索、元数据搜索、趋势追踪 — WF 3/4/5)
| # | Title | Authors | Year | Venue | Citations | ID |
|---|-------|---------|------|-------|-----------|-----|
| 1 | Paper Title | First Author et al. | 2024 | NeurIPS | 150 | arXiv:2401.xxxxx |
| 2 | ... | ... | ... | ... | ... | ... |
After the table, briefly note how many results were found and whether the list was filtered.
| # | 标题 | 作者 | 年份 | 会议/期刊 | 引用量 | ID |
|---|-------|---------|------|-------|-----------|-----|
| 1 | 论文标题 | 第一作者 et al. | 2024 | NeurIPS | 150 | arXiv:2401.xxxxx |
| 2 | ... | ... | ... | ... | ... | ... |
表格后,简要说明找到的结果数量以及是否对列表进行了筛选。
Format C: Baseline Recommendation (for baseline hunt, WF 6)
格式C:基线推荐(用于基线查找,WF 6)
📦 **Recommended Baseline: [Model Name]**
Paper: [Title] ([Year], [Venue]) — [arXiv ID]
Code: [GitHub URL] ⭐ [stars] | Framework: [PyTorch/TF]
Performance: [key metric = value] on [dataset]
HuggingFace: [model page URL] | Downloads: [N]
📦 **推荐基线:[Model Name]**
论文:[标题]([年份], [会议/期刊]) — [arXiv ID]
代码:[GitHub URL] ⭐ [stars] | 框架:[PyTorch/TF]
性能:[关键指标 = 数值] on [数据集]
HuggingFace:[模型页面URL] | 下载量:[N]
Format D: Reading Notes (for read a paper, WF 7)
格式D:阅读笔记(用于阅读论文,WF 7)
Use the template at
assets/paper-summary-template.md
. Save to
/artifacts/paper-notes/{paper-id}.md
.
使用
assets/paper-summary-template.md
中的模板。保存到
/artifacts/paper-notes/{paper-id}.md
。
Format E: Disambiguation Report (for ambiguous queries, WF 8)
格式E:消歧报告(用于模糊查询,WF 8)
🔍 Disambiguation Report for "[query]"
├── Intent: [classified intent]
├── Resolution: [what the term actually refers to]
│ ├── Paper: [resolved title] ([arXiv ID])
│ └── Code: [GitHub URL]
└── Search Plan:
├── [script call 1]
└── [script call 2]
🔍 针对"[query]"的消歧报告
├── 意图:[分类后的意图]
├── 解析结果:[该术语实际指代的内容]
│ ├── 论文:[解析后的标题] ([arXiv ID])
│ └── 代码:[GitHub URL]
└── 搜索计划:
├── [脚本调用1]
└── [脚本调用2]
Workflow 1: Collect Papers for Survey
工作流1:收集论文用于综述
"Help me survey CRISPR-based gene therapy for sickle cell disease"
Use iterative collection (target 30-80 papers). See
Appendix A for the full iterative methodology.
- Discover: Initial
scholar_search --query "CRISPR gene therapy sickle cell" --limit 20 --sort-by citations
→ iterative expansion with EXPLORE/EXPLOIT strategy → citation_traverse --direction forward
on seminal papers
- Evaluate: Review each paper's title + abstract for relevance → filter by abstract quality → prefer top-tier venues → shortlist
- Read: for key papers → L2 reading → notes using
assets/paper-summary-template.md
- Hand off to to synthesize the collected papers into a structured survey report
"Help me survey CRISPR-based gene therapy for sickle cell disease"
使用迭代式收集(目标30-80篇论文)。完整的迭代方法请参见
附录A。
- 发现:初始调用
scholar_search --query "CRISPR gene therapy sickle cell" --limit 20 --sort-by citations
→ 使用探索/利用策略进行迭代扩展 → 对开创性论文执行citation_traverse --direction forward
- 评估:查看每篇论文的标题+摘要以判断相关性 → 按摘要质量筛选 → 优先选择顶级会议/期刊 → 生成候选列表
- 阅读:为关键论文执行 → 二级阅读 → 使用
assets/paper-summary-template.md
记录笔记
- 移交至:将收集到的论文合成为结构化综述报告
Workflow 2: Navigational Search
工作流2:导航搜索
"Find me the attention is all you need paper"
"Find me the original GPT 3 paper"
- Discover:
scholar_search --query "Attention Is All You Need"
— single call, return top result
- Output: Use Format A (Single Paper Card)
Do NOT proceed to Read unless the user explicitly asks.
"Find me the attention is all you need paper"
"Find me the original GPT 3 paper"
- 发现:调用
scholar_search --query "Attention Is All You Need"
—— 单次调用,返回排名第一的结果
- 输出:使用格式A(单篇论文卡片)
除非用户明确要求,否则不要进入阅读步骤。
Workflow 3: Quick Paper Search
工作流3:快速论文搜索
"Give me papers about perovskite solar cell stability under humidity"
"Find papers on gut microbiome modulation for autoimmune diseases"
- Sub-topic decomposition + query reformulation: Identify 3-5 research angles within the topic, generate 4-6 variant queries covering distinct angles (see Step 0)
- Discover: Run
scholar_search --query "<variant>" --limit 20 --sort-by relevance
on each variant. If is set, parallelize these calls; if not, run them sequentially one at a time to avoid rate-limit exhaustion (see "S2 parallelization rule" in Step 0). Also run arxiv_monitor --keywords "<variants>" --match-mode flexible
for additional coverage (arXiv calls can always run in parallel with other non-S2 calls)
- Citation expansion (if initial results ≥ 3 relevant papers): Follow Mandatory Citation Expansion (Step 0) — co-citation on highest-cited seed, forward on top 2, backward on 1-2 diverse seeds, recommend with 3 seeds
- Coverage gap check: Review collected papers against identified sub-topics. Run targeted searches for any uncovered angles (see Step 0)
- Filter: Review all results, deduplicate, keep relevant papers based on title + abstract
- Output: Use Format B (Paper List Table)
Only escalate to full iterative workflow (WF1) if results are clearly insufficient or the user explicitly asks for more.
"Give me papers about perovskite solar cell stability under humidity"
"Find papers on gut microbiome modulation for autoimmune diseases"
- 子主题分解 + 查询重构:识别主题内的3-5个研究角度,生成4-6个覆盖不同角度的变体查询(参见步骤0)
- 发现:对每个变体调用
scholar_search --query "<variant>" --limit 20 --sort-by relevance
。如果已设置,并行执行这些调用;如果未设置,依次逐个执行以避免耗尽速率限制(参见步骤0中的"S2并行化规则")。同时调用arxiv_monitor --keywords "<variants>" --match-mode flexible
以扩大覆盖范围(arXiv调用始终可以与其他非S2调用并行运行)
- 引文扩展(如果初始结果≥3篇相关论文):遵循强制引文扩展规则(步骤0)——对引用量最高的种子执行共引分析、对前2篇种子执行正向引文、对1-2篇多样化种子执行反向引文、基于3篇种子执行推荐
- 覆盖缺口检查:对照识别出的子主题审查收集到的论文,对未覆盖的角度执行定向搜索(参见步骤0)
- 筛选:查看所有结果,去重,保留标题+摘要相关的论文
- 输出:使用格式B(论文列表表格)
仅当结果明显不足或用户明确要求更多时,才升级为完整的迭代工作流(WF1)。
Workflow 4: Metadata Search
工作流4:元数据搜索
"2012 papers by David Harel"
"Papers by David Harel from 2020 to 2022"
"Journal articles by David Harel from 2020 to 2022"
- Parse query: Extract author name, year range, venue type (journal/conference)
- Discover:
author_search --name "David Harel" --papers --limit 50 --sort-by year
- Filter: Year range, venue type (check field), other attributes
- Output: Use Format B (Paper List Table)
For keyword + year filter (no author):
scholar_search --query "<keywords>" --year-min YYYY --year-max YYYY
"2012 papers by David Harel"
"Papers by David Harel from 2020 to 2022"
"Journal articles by David Harel from 2020 to 2022"
- 解析查询:提取作者姓名、年份范围、会议/期刊类型
- 发现:调用
author_search --name "David Harel" --papers --limit 50 --sort-by year
- 筛选:按年份范围、会议/期刊类型(检查字段)、其他属性筛选
- 输出:使用格式B(论文列表表格)
针对带年份筛选的关键词查询(无作者):
scholar_search --query "<keywords>" --year-min YYYY --year-max YYYY
Workflow 5: Track Field Developments
工作流5:追踪领域进展
"What's new in condensed matter physics this week?"
- Discover:
arxiv_monitor --categories cond-mat --days 7
(see references/arxiv-categories.md
for codes) + trending --query "topological insulator" --period 30
- Output: Use Format B (Paper List Table), highlight high-potential papers with TLDRs
"What's new in condensed matter physics this week?"
- 发现:调用
arxiv_monitor --categories cond-mat --days 7
(分类代码请参见references/arxiv-categories.md
) + trending --query "topological insulator" --period 30
- 输出:使用格式B(论文列表表格),突出显示带有TLDR的高潜力论文
Workflow 6: Find a Baseline with Code
工作流6:查找带代码的基线模型
"I need a baseline for protein structure prediction with code"
- Discover:
scholar_search --query "protein structure prediction" --sort-by citations
- Evaluate: on top results +
sota --task "protein-structure-prediction"
→ pick one with official code + high downloads
- Output: Use Format C (Baseline Recommendation)
"I need a baseline for protein structure prediction with code"
- 发现:调用
scholar_search --query "protein structure prediction" --sort-by citations
- 评估:对排名靠前的结果执行 +
sota --task "protein-structure-prediction"
→ 选择带有官方代码+高下载量的模型
- 输出:使用格式C(基线推荐)
Workflow 7: Read a Paper by URL
工作流7:通过URL阅读论文
"Read this paper: arxiv.org/abs/2301.12345"
Output: Use Format D (Reading Notes)
- Fetch:
fetch_paper --url "https://arxiv.org/abs/2301.12345"
- Choose reading depth (see
references/reading-strategy.md
):
| Level | Goal | When to use | Effort |
|---|
| L1 Technical | Can reimplement | Building directly on this paper | High |
| L2 Analytical | Understand motivation + design choices | Most papers in a survey | Medium |
| L3 Contextual | Know what it is and where it fits | Quick scanning | Low |
- Take notes using
assets/paper-summary-template.md
. Save to /artifacts/paper-notes/{paper-id}.md
.
"Read this paper: arxiv.org/abs/2301.12345"
输出:使用格式D(阅读笔记)
- 获取:调用
fetch_paper --url "https://arxiv.org/abs/2301.12345"
- 选择阅读深度(参见
references/reading-strategy.md
):
| 层级 | 目标 | 适用场景 | 工作量 |
|---|
| L1 技术级 | 可重新实现 | 直接基于该论文开展研究 | 高 |
| L2 分析级 | 理解动机+设计选择 | 综述中的大多数论文 | 中 |
| L3 上下文级 | 了解论文内容及其定位 | 快速浏览 | 低 |
- 使用
assets/paper-summary-template.md
记录笔记,保存到/artifacts/paper-notes/{paper-id}.md
。
Workflow 8: Ambiguous Query Resolution
工作流8:模糊查询解析
"Find the latest about deepseek engram"
- Disambiguate: Follow Step 2 above
- Discover: with resolved title + with original term + on arXiv ID
- Evaluate: Review results, check code via or GitHub
- Read: for top papers
- If user wants a survey: hand off to
"Find the latest about deepseek engram"
- 消歧:遵循上述步骤2
- 发现:使用解析后的标题执行 + 使用原始术语执行 + 对arXiv ID执行
- 评估:查看结果,通过或GitHub检查代码
- 阅读:对排名靠前的论文执行
- 如果用户需要综述:移交至
Workflow 9: Ideation Support (called from research-ideation)
工作流9:创意生成支持(由research-ideation调用)
research-ideation Step 2 needs papers to build a literature tree
Iterative collection with strict filter (target 30-50 papers, recent 2020+). See
Appendix A and
Appendix B.
- Disambiguate: Parse the research goal → extract domain + method type
- Discover: Initial broad search (60 candidates) → iterative expansion up to 15 rounds:
- EXPLORE: new keyword queries for diverse sub-areas
- EXPLOIT: or on strongly relevant papers
- Evaluate: Only keep strongly relevant papers. Prefer top-tier venues + 2020+ papers.
- Deduplicate: Track seen titles and abstracts.
- Output: 30-50 high-quality papers → feed into novelty tree + challenge-insight tree.
research-ideation Step 2 needs papers to build a literature tree
带严格筛选的迭代式收集(目标30-50篇论文,优先2020年以后的)。完整内容请参见
附录A和
附录B。
- 消歧:解析研究目标 → 提取领域+方法类型
- 发现:初始广泛搜索(60个候选) → 最多15轮迭代扩展:
- 探索:针对不同子领域生成新的关键词查询
- 利用:对高度相关的论文执行或
- 评估:仅保留高度相关的论文,优先选择顶级会议/期刊+2020年以后的论文
- 去重:跟踪已查看的标题和摘要
- 输出:30-50篇高质量论文 → 输入到新颖性树+挑战-洞察树
Workflow 10: User-Specified Paper Count
工作流10:用户指定论文数量
"Find me exactly 15 papers about reinforcement learning from human feedback"
- Use the user's number as the target
- Apply the closest profile's quality settings
- Run iterative collection until target met or max iterations exhausted
- If not enough, progressively relax relevance standard and inform the user
"Find me exactly 15 papers about reinforcement learning from human feedback"
- 将用户指定的数量作为目标
- 应用最接近的配置文件的质量设置
- 运行迭代式收集,直到达到目标或耗尽最大迭代次数
- 如果数量不足,逐步放宽相关性标准并告知用户
Discovery Paths (Stage 1 Detail)
发现路径(阶段1详情)
Seven paths, used by workflows above.
Path A: Keyword Search (most common)
路径A:关键词搜索(最常见)
bash
python scripts/scholar_search.py --query "transformer attention mechanism" --limit 20 --sort-by citations
Options:
,
,
--sort-by relevance|citations|year
.
bash
python scripts/scholar_search.py --query "transformer attention mechanism" --limit 20 --sort-by citations
选项:
,
,
--sort-by relevance|citations|year
。
Path B: Citation Traversal
路径B:引文遍历
Forward — who cited this paper
正向引文 —— 哪些论文引用了该论文
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction forward --limit 20
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction forward --limit 20
Backward — what this paper cites
反向引文 —— 该论文引用了哪些论文
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction backward --limit 20
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction backward --limit 20
Co-citation — papers frequently cited alongside this one (most powerful for finding related work)
共引分析 —— 经常与该论文一起被引用的论文(发现相关研究的最有效方式)
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction co-citation --limit 15
python scripts/citation_traverse.py --paper-id ArXiv:1706.03762 --direction co-citation --limit 15
Path C: Recommendations
路径C:推荐
bash
python scripts/recommend.py --positive ArXiv:1706.03762,ArXiv:2005.14165 --limit 15
python scripts/recommend.py --positive ArXiv:1706.03762 --negative ArXiv:2301.00001 --limit 10
bash
python scripts/recommend.py --positive ArXiv:1706.03762,ArXiv:2005.14165 --limit 15
python scripts/recommend.py --positive ArXiv:1706.03762 --negative ArXiv:2301.00001 --limit 10
Path D: Author Tracking
路径D:作者追踪
bash
python scripts/author_search.py --name "Geoffrey Hinton" --papers --limit 20 --sort-by citations
bash
python scripts/author_search.py --name "Geoffrey Hinton" --papers --limit 20 --sort-by citations
Path E: arXiv Monitoring
路径E:arXiv监测
bash
python scripts/arxiv_monitor.py --categories cs.CL,cs.AI --days 3 --limit 30
python scripts/arxiv_monitor.py --keywords "chain of thought,reasoning" --days 7
python scripts/arxiv_monitor.py --keywords "data pruning pretraining" --match-mode flexible --days 365
Options:
(default, AND-of-words for better recall) or
(phrase matching for precision). See
references/arxiv-categories.md
for category codes.
bash
python scripts/arxiv_monitor.py --categories cs.CL,cs.AI --days 3 --limit 30
python scripts/arxiv_monitor.py --keywords "chain of thought,reasoning" --days 7
python scripts/arxiv_monitor.py --keywords "data pruning pretraining" --match-mode flexible --days 365
选项:
(默认,词与词的逻辑与,召回率更高)或
(短语匹配,精度更高)。分类代码请参见
references/arxiv-categories.md
。
Path F: Trending Detection
路径F:趋势检测
bash
python scripts/trending.py --query "large language models" --period 90 --limit 15
Ranks by citation velocity (citations/month).
bash
python scripts/trending.py --query "large language models" --period 90 --limit 15
按引用速度(每月引用量)排名。
Path G: GitHub Search
路径G:GitHub搜索
bash
python scripts/github_search.py --query "deepseek engram" --limit 10
python scripts/github_search.py --query "mamba state space model" --sort stars
Useful when papers haven't been published on arXiv yet or industry labs release code before papers.
bash
python scripts/github_search.py --query "deepseek engram" --limit 10
python scripts/github_search.py --query "mamba state space model" --sort stars
适用于论文尚未在arXiv发表,或行业实验室先发布代码后发表论文的场景。
Citation Graph Visualization
引文图谱可视化
After traversal, visualize with Mermaid (keep ≤30 nodes):
mermaid
graph TD
SEED["Attention Is All You Need<br/>2017 · 100k+"]
A["BERT · 2018"] --> SEED
B["GPT-2 · 2019"] --> SEED
C["Vision Transformer · 2020"] --> SEED
遍历后,使用Mermaid可视化(节点数≤30):
mermaid
graph TD
SEED["Attention Is All You Need<br/>2017 · 100k+"]
A["BERT · 2018"] --> SEED
B["GPT-2 · 2019"] --> SEED
C["Vision Transformer · 2020"] --> SEED
Evaluation Tools (Stage 2 Detail)
评估工具(阶段2详情)
Quick Assessment (from scholar_search output)
快速评估(来自scholar_search的输出)
| Signal | What it tells you |
|---|
| TLDR | One-sentence understanding |
| Citation count | Overall impact |
| Influential citations | Quality of impact |
| Year + venue | Recency and authority |
| Open Access PDF | Whether you can read full text |
| 信号 | 说明 |
|---|
| TLDR | 一句话理解论文内容 |
| 引用量 | 整体影响力 |
| 有影响力的引用 | 影响力的质量 |
| 年份+会议/期刊 | 时效性和权威性 |
| 开放获取PDF | 是否可以阅读全文 |
bash
python scripts/find_code.py --arxiv-id 1706.03762
bash
python scripts/find_code.py --arxiv-id 1706.03762
Top Models by Task
按任务划分的顶级模型
bash
python scripts/sota.py --task "text-generation" --limit 10
python scripts/sota.py --task "translation" --list-tasks
bash
python scripts/sota.py --task "text-generation" --limit 10
python scripts/sota.py --task "translation" --list-tasks
bash
python scripts/dataset_search.py --query "sentiment analysis" --limit 10
bash
python scripts/dataset_search.py --query "sentiment analysis" --limit 10
Reproducibility Assessment
可复现性评估
| Dimension | Check |
|---|
| Code | Open-source? Official? Stars? Last update? |
| Results | Reproduced on SOTA leaderboard? |
| Data | Dataset publicly available? |
| Overall | High / Medium / Low / None |
| 维度 | 检查项 |
|---|
| 代码 | 是否开源?是否为官方代码?星标数?最后更新时间? |
| 结果 | 是否在SOTA排行榜上复现? |
| 数据 | 数据集是否公开可用? |
| 整体 | 高 / 中 / 低 / 无 |
After Collecting Papers: Next Steps
收集论文后的下一步
| Goal | Hand off to |
|---|
| Generate a literature survey report | — synthesizes papers into a structured 8-section report |
| Generate research ideas | — builds novelty tree + challenge-insight tree from papers |
| Write a Related Work section | — uses paper notes as input |
| 目标 | 移交至 |
|---|
| 生成文献综述报告 | —— 将论文合成为结构化的8节报告 |
| 生成研究想法 | —— 从论文构建新颖性树+挑战-洞察树 |
| 撰写相关研究章节 | —— 以论文笔记为输入 |
Quick Report (optional, stays in paper-navigator)
快速报告(可选,保留在paper-navigator中)
For a brief summary table without a full survey report, use
:
bash
python scripts/literature_report.py --paper-ids ArXiv:2601.07372,ArXiv:2501.12948 --intent quick_scan
| Intent | Output |
|---|
| Brief table: title, authors, year, citations, TLDR |
| Code availability, SOTA position, dataset access, reproducibility |
For full survey reports (
,
intents), use
instead.
如果不需要完整的综述报告,仅需简要摘要表格,使用
:
bash
python scripts/literature_report.py --paper-ids ArXiv:2601.07372,ArXiv:2501.12948 --intent quick_scan
| 意图 | 输出 |
|---|
| 简要表格:标题、作者、年份、引用量、TLDR |
| 代码可用性、SOTA排名、数据集可访问性、可复现性 |
Appendix A: Iterative Collection Workflow
附录A:迭代式收集工作流
For workflows requiring many papers (survey, ideation support), use iterative expand-and-filter:
1. Parse query → extract goal, search terms, key term definitions
2. Define task attributes → identify domain + method type
3. Initial search → scholar_search with broad query
4. Review each paper's title + abstract → judge relevance (keep/reject)
5. LOOP until target met or max iterations reached:
a. From kept papers, pick the most relevant as "grounding set"
b. Generate next search query:
- EXPLORE: new keyword query to broaden coverage
- EXPLOIT: citation_traverse or recommend on a high-relevance paper
c. Fetch new papers → review → deduplicate → add to collection
6. Final filter: apply quality checks, take top N
Relevance judging: You (Claude) evaluate each paper directly from title + abstract against the user's goal. No separate API call needed.
Deduplication: Track seen titles (normalized) and abstract prefixes. Skip already-evaluated papers.
Quality filtering:
- Skip papers with very short abstracts (< 20 words)
- For ideation/survey: prefer top-tier venues and journals in the user's field (e.g., Nature, Science, Cell, Lancet, PNAS for broad science; field-specific top venues like NeurIPS/ICML for ML, Physical Review Letters for physics, JACS for chemistry, etc.)
- For ideation: prefer 2020+ papers; include older only if foundational
对于需要大量论文的工作流(综述、创意生成支持),使用迭代式扩展与筛选:
1. 解析查询 → 提取目标、搜索词、关键术语定义
2. 定义任务属性 → 识别领域+方法类型
3. 初始搜索 → 使用广泛查询执行scholar_search
4. 查看每篇论文的标题+摘要 → 判断相关性(保留/拒绝)
5. 循环直到达到目标或耗尽最大迭代次数:
a. 从保留的论文中,选择最相关的作为"基础集"
b. 生成下一个搜索查询:
- 探索:生成新的关键词查询以扩大覆盖范围
- 利用:对高度相关的论文执行citation_traverse或recommend
c. 获取新论文 → 查看 → 去重 → 添加到集合
6. 最终筛选:应用质量检查,选择前N篇
相关性判断:你(Claude)直接根据标题+摘要评估每篇论文与用户目标的相关性,无需额外的API调用。
去重:跟踪已查看的标题(规范化后)和摘要前缀,跳过已评估的论文。
质量筛选:
- 跳过摘要极短的论文(<20词)
- 对于创意生成/综述:优先选择用户领域的顶级会议和期刊(例如:广泛科学领域的Nature、Science、Cell、Lancet、PNAS;机器学习领域的NeurIPS/ICML;物理学领域的Physical Review Letters;化学领域的JACS等)
- 对于创意生成:优先选择2020年以后的论文;仅在为基础研究时包含较旧的论文
Appendix B: Ideation vs Survey Collection
附录B:创意生成与综述收集的对比
| Aspect | Ideation Support | Literature Survey |
|---|
| Goal | Find gaps and transferable techniques | Comprehensive field coverage |
| Relevance standard | Strict — only strongly relevant | Moderate — include tangentially relevant |
| Recency | Strong bias toward 2020+ | Include foundational older work |
| Initial search size | 60 candidates | 20 candidates |
| Coverage strategy | Deep on core topic + cross-domain | Balanced across sub-topics |
| Output use | Novelty tree + challenge-insight tree | Comprehensive report |
| 方面 | 创意生成支持 | 文献综述 |
|---|
| 目标 | 发现研究缺口和可迁移技术 | 全面覆盖领域 |
| 相关性标准 | 严格 —— 仅保留高度相关的 | 中等 —— 包含部分相关的 |
| 时效性 | 强烈偏向2020年以后的 | 包含基础的旧论文 |
| 初始搜索规模 | 60个候选 | 20个候选 |
| 覆盖策略 | 深入核心主题+跨领域 | 平衡覆盖各子主题 |
| 输出用途 | 新颖性树+挑战-洞察树 | 全面报告 |
Appendix C: Script & API Reference
附录C:脚本与API参考
All scripts output Markdown to stdout, errors to stderr. Common flags:
,
.
所有脚本向标准输出打印Markdown,向标准错误输出打印错误信息。通用参数:
,
。
Scripts accept and normalize automatically: S2 ID, arXiv (
or
or URL), DOI (
).
脚本自动接受并规范化以下格式:S2 ID、arXiv(
或
或URL)、DOI(
)。
| API | Without key | With key | When rate limited |
|---|
| Semantic Scholar | 100 req/5min (~1 req/3s); NO parallel calls | 100 req/min; parallel OK | Auto-fallback to arXiv in ; global pacer enforces 3s interval |
| arXiv | 1 req/3s (courtesy) | N/A | Primary fallback when S2 is limited; no auth needed |
| Jina Reader | Free tier | Higher with key | — |
| HuggingFace | 500 req / 300s | Higher with | — |
| GitHub | 10 req/min | 5,000 req/hr (set ) | — |
All scripts retry on 429 and 5xx errors with exponential backoff (3s, 6s, 12s, 24s, 48s — 5 retries). A global S2 request pacer enforces minimum interval between Semantic Scholar API calls to prevent budget exhaustion.
For detailed API endpoints, query parameters, and field specifications, see
references/api-reference.md
.
| API | 无密钥 | 有密钥 | 速率受限时 |
|---|
| Semantic Scholar | 100次请求/5分钟(约1次请求/3秒);禁止并行调用 | 100次请求/分钟;允许并行调用 | 自动回退到arXiv;全局控制器强制3秒间隔 |
| arXiv | 1次请求/3秒(礼貌性限制) | 无 | S2受限时的主要回退选项;无需授权 |
| Jina Reader | 免费额度 | 密钥用户额度更高 | — |
| HuggingFace | 500次请求/300秒 | 用户额度更高 | — |
| GitHub | 10次请求/分钟 | 5000次请求/小时(设置) | — |
所有脚本在遇到429和5xx错误时会自动重试,采用指数退避策略(3s, 6s, 12s, 24s, 48s —— 最多5次重试)。全局S2请求控制器会强制Semantic Scholar API调用之间的最小间隔,以避免耗尽请求额度。
详细的API端点、查询参数和字段说明,请参见
references/api-reference.md
。
- research-survey: After collecting papers, hand off to research-survey for structured survey report generation (8-section goal-centric synthesis).
- research-ideation: After collecting papers, hand off to research-ideation for idea generation (novelty tree + challenge-insight tree + problem selection + solution design).
- experiment-pipeline: After finding a baseline via Workflow 6, hand off to experiment-pipeline.
- paper-writing: Paper notes serve as input for paper-writing's Related Work section.
- research-survey:收集论文后,移交至research-survey以生成结构化综述报告(以目标为中心的8节合成内容)。
- research-ideation:收集论文后,移交至research-ideation以生成研究想法(新颖性树+挑战-洞察树+问题选择+解决方案设计)。
- experiment-pipeline:通过工作流6找到基线后,移交至experiment-pipeline。
- paper-writing:论文笔记作为paper-writing的相关研究章节的输入。