systematic-literature-review
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSystematic Literature Review Skill
系统性文献综述Skill
Overview
概述
This skill produces a structured systematic literature review (SLR) across multiple academic papers on a research topic. Given a topic query, it searches arXiv, extracts structured metadata (research question, methodology, key findings, limitations) from each paper in parallel, synthesizes themes across the full set, and emits a final report with consistent citations.
Distinct from : that skill does deep peer review of a single paper. This skill does breadth-first synthesis across many papers. If the user hands you one paper URL and asks "review this paper", route to instead.
academic-paper-reviewacademic-paper-review本Skill针对某一研究主题的多篇学术论文生成结构化的系统性文献综述(SLR)。给定主题查询后,它会搜索arXiv,并行提取每篇论文的结构化元数据(研究问题、研究方法、关键发现、局限性),综合所有论文的主题,并生成带有规范引用格式的最终报告。
与的区别:该Skill针对单篇论文进行深度同行评审,而本Skill则针对多篇论文进行广度优先的综合分析。如果用户提供单篇论文URL并要求“评审这篇论文”,请转用。
academic-paper-reviewacademic-paper-reviewWhen to Use This Skill
使用场景
Use this skill when the user wants any of the following:
- A literature survey on a topic ("survey transformer attention variants", "review the literature on diffusion models")
- A synthesis across multiple papers ("what do recent papers say about X", "compare methodologies across papers on Y")
- A systematic review with consistent citation format ("do an SLR on Z in APA format")
- An annotated bibliography on a topic
- An overview of research trends in a field over a time window
Do not use this skill when:
- The user provides exactly one paper and asks to review it (use )
academic-paper-review - The user asks a factual question that does not require synthesizing multiple sources (answer directly)
- The user wants general web research without academic rigor (use standard web search)
当用户有以下需求时,可使用本Skill:
- 针对某一主题的文献调研(例如“调研Transformer注意力变体”、“综述扩散模型相关文献”)
- 多篇论文的综合分析(例如“近期论文关于X的观点是什么”、“对比Y主题相关论文的研究方法”)
- 带有规范引用格式的系统性综述(例如“以APA格式完成关于Z的SLR”)
- 某一主题的带注释参考文献列表
- 某一领域在特定时间段内的研究趋势概述
请勿在以下场景使用本Skill:
- 用户仅提供一篇论文并要求评审(使用)
academic-paper-review - 用户提出无需综合多源信息的事实性问题(直接回答即可)
- 用户需要无学术严谨性要求的通用网络调研(使用标准网络搜索)
Workflow
工作流程
The workflow has five phases. Follow them in order.
工作流程分为五个阶段,请按顺序执行。
Phase 1: Plan
阶段1:规划
Before doing any retrieval, confirm the following with the user. If any of these are unclear, ask one clarifying question that covers the missing pieces. Do not ask one question at a time.
- Topic: the research area in plain English (e.g. "transformer attention variants").
- Scope: how many papers (default 20, hard upper bound 50), optional time window (e.g. "last 2 years"), optional arXiv category (e.g. ,
cs.CL).cs.CV - Citation format: APA, IEEE, or BibTeX (default APA if the user does not specify and does not seem to be writing for a specific venue).
- Output location: where to save the final report (default ).
/mnt/user-data/outputs/
If the user says "50+ papers", politely cap it at 50 and explain that synthesis quality degrades quickly past that — for larger surveys they should split by sub-topic.
在进行任何检索之前,与用户确认以下事项。如果有任何内容不明确,提出一个涵盖所有缺失信息的澄清问题,不要逐个提问。
- 主题:用通俗易懂的语言描述研究领域(例如“transformer attention variants”)。
- 范围:论文数量(默认20篇,上限为50篇)、可选时间范围(例如“过去2年”)、可选arXiv分类(例如、
cs.CL)。cs.CV - 引用格式:APA、IEEE或BibTeX(若用户未指定且未提及特定投稿场合,默认使用APA格式)。
- 输出位置:最终报告的保存路径(默认)。
/mnt/user-data/outputs/
如果用户要求“50篇以上论文”,请礼貌地将数量上限设为50,并解释超过该数量后综合分析质量会快速下降——如需更大规模的调研,建议按子主题拆分任务。
Phase 2: Search arXiv
阶段2:搜索arXiv
Call the bundled search script. Do not try to scrape arXiv by other means and do not write your own HTTP client — this script handles URL encoding, Atom XML parsing, and id normalization correctly.
bash
python /mnt/skills/public/systematic-literature-review/scripts/arxiv_search.py \
"<topic>" \
--max-results <N> \
[--category <cat>] \
[--sort-by relevance] \
[--start-date YYYY-MM-DD] \
[--end-date YYYY-MM-DD]IMPORTANT — extract 2-3 core keywords before searching. Do not pass the user's full topic description as the query. Before calling the script, mentally reduce the topic to its 2-3 most essential terms. Drop qualifiers like "in computer vision", "for NLP", "variants", "recent" — those belong in or , not in the query string.
--category--start-dateQuery phrasing — keep it short. The script wraps multi-word queries in double quotes for phrase matching on arXiv. This means:
- → searches for the exact phrase → good, returns relevant papers.
"diffusion models" - → searches for that exact 5-word phrase → too specific, likely returns 0 results because few papers contain that exact string.
"diffusion models in computer vision"
Use 2-3 core keywords as the query, and use to narrow the field instead of stuffing field names into the query. Examples:
--category| User says | Good query | Bad query |
|---|---|---|
| "diffusion models in computer vision" | | |
| "transformer attention variants" | | |
| "graph neural networks for molecules" | | |
The script prints a JSON array to stdout. Each paper has: , , , , , , , , .
idtitleauthorsabstractpublishedupdatedcategoriespdf_urlabs_urlSort strategy:
- Always use sorting — arXiv's BM25-style scoring ensures results are actually about the user's topic.
relevancesorting returns the most recently submitted papers in the category regardless of topic relevance, which produces mostly off-topic results.submittedDate - When the user asks for "recent" papers or gives a time window, use combined with
--sort-by relevanceto constrain the time range while keeping results on-topic. For example, "recent diffusion model papers" →--start-date, not--sort-by relevance --start-date 2024-01-01.--sort-by submittedDate - sorting is only appropriate when the user explicitly asks for chronological order (e.g. "show me papers in the order they were published"). This is rare.
submittedDate - is rarely useful; ignore it unless the user asks.
lastUpdatedDate
Run the search exactly once. Do not retry with modified queries if the results seem imperfect — arXiv's relevance ranking is what it is. Retrying with different query phrasings wastes tool calls and risks hitting the recursion limit. If the results are genuinely empty (0 papers), tell the user and suggest they broaden their topic or remove the category filter.
If the script returns fewer papers than requested, that is the real size of the arXiv result set for the query. Do not pad the list — report the actual count to the user and proceed.
If the script fails (network error, non-200 from arXiv), tell the user which error and stop. Do not try to fabricate paper metadata.
Do not save the search results to a file — the JSON stays in your context for Phase 3. The only file saved during the entire workflow is the final report in Phase 5.
调用内置的搜索脚本。请勿尝试通过其他方式爬取arXiv,也不要自行编写HTTP客户端——该脚本已正确处理URL编码、Atom XML解析和ID标准化。
bash
python /mnt/skills/public/systematic-literature-review/scripts/arxiv_search.py \
"<topic>" \
--max-results <N> \
[--category <cat>] \
[--sort-by relevance] \
[--start-date YYYY-MM-DD] \
[--end-date YYYY-MM-DD]重要提示——搜索前提取2-3个核心关键词。请勿将用户的完整主题描述作为查询词。调用脚本前,先将主题精简为2-3个最核心的术语。删除“在计算机视觉领域”、“用于NLP”、“变体”、“近期”等限定词——这些内容应放在或参数中,而非查询字符串内。
--category--start-date查询措辞——保持简洁。脚本会将多词查询用双引号包裹,以在arXiv上进行短语匹配。这意味着:
- → 搜索精确短语 → 效果好,返回相关论文。
"diffusion models" - → 搜索这个5词精确短语 → 过于具体,可能返回0结果,因为很少有论文包含该精确字符串。
"diffusion models in computer vision"
使用2-3个核心关键词作为查询词,通过参数缩小领域范围,而非将领域名称塞入查询词。示例:
--category| 用户需求 | 推荐查询 | 不推荐查询 |
|---|---|---|
| "diffusion models in computer vision" | | |
| "transformer attention variants" | | |
| "graph neural networks for molecules" | | |
脚本会向标准输出打印一个JSON数组。每篇论文包含以下字段:、、、、、、、、。
idtitleauthorsabstractpublishedupdatedcategoriespdf_urlabs_url排序策略:
- 始终使用排序——arXiv的BM25风格评分可确保结果与用户主题相关。
relevance排序会返回分类下最新提交的论文,无论主题相关性如何,这会导致大部分结果偏离主题。submittedDate - 当用户要求“近期”论文或指定时间范围时,使用**结合
--sort-by relevance**来限制时间范围,同时保持结果与主题相关。例如,“近期扩散模型论文” →--start-date,而非--sort-by relevance --start-date 2024-01-01。--sort-by submittedDate - 仅当用户明确要求按时间顺序排列时(例如“按发表顺序展示论文”),才适合使用排序。这种情况很少见。
submittedDate - 几乎无用,除非用户明确要求,否则忽略该参数。
lastUpdatedDate
仅执行一次搜索。如果结果看起来不理想,请勿重试修改后的查询——arXiv的相关性排名是固定的。重试不同措辞的查询会浪费工具调用次数,并可能触发递归限制。如果结果确实为空(0篇论文),请告知用户,并建议他们扩大主题范围或移除分类筛选条件。
如果脚本返回的论文数量少于请求的数量,这是该查询在arXiv上的实际结果数量。请勿填充列表——向用户报告实际数量并继续执行。
如果脚本执行失败(网络错误、arXiv返回非200状态码),请告知用户错误类型并停止任务。请勿伪造论文元数据。
请勿将搜索结果保存到文件——JSON结果会保留在上下文供阶段3使用。整个工作流程中唯一需要保存的文件是阶段5生成的最终报告。
Phase 3: Extract metadata in parallel
阶段3:并行提取元数据
You MUST delegate extraction to subagents via the tool — do not extract metadata yourself. This is non-negotiable. Specifically, do NOT do any of the following:
task- ❌ Write or any Python/bash script to process papers
python -c "papers = [...]" - ❌ Extract metadata inline in your own context by reading abstracts one by one
- ❌ Use any tool other than for this phase
task
Instead, you MUST call the tool to spawn subagents. The reason: extracting 10-50 papers in your own context consumes too many tokens and degrades synthesis quality in Phase 4. Each subagent runs in an isolated context with only its batch of papers, producing cleaner extractions.
taskSplit papers into batches of ~5, then for each batch, call the tool with . Each subagent receives the paper abstracts as text and returns structured JSON.
tasksubagent_type: "general-purpose"Concurrency limit: at most 3 subagents per turn. The DeerFlow runtime enforces and will silently drop any extra dispatches in the same turn — the LLM will not be told this happened, so strictly follow the round strategy below.
MAX_CONCURRENT_SUBAGENTS = 3Round strategy — use this decision table, do not compute the split yourself:
| Paper count | Batches of ~5 papers | Rounds | Per-round subagent count |
|---|---|---|---|
| 1–5 | 1 batch | 1 round | 1 subagent |
| 6–10 | 2 batches | 1 round | 2 subagents |
| 11–15 | 3 batches | 1 round | 3 subagents |
| 16–20 | 4 batches | 2 rounds | 3 + 1 |
| 21–25 | 5 batches | 2 rounds | 3 + 2 |
| 26–30 | 6 batches | 2 rounds | 3 + 3 |
| 31–35 | 7 batches | 3 rounds | 3 + 3 + 1 |
| 36–40 | 8 batches | 3 rounds | 3 + 3 + 2 |
| 41–45 | 9 batches | 3 rounds | 3 + 3 + 3 |
| 46–50 | 10 batches | 4 rounds | 3 + 3 + 3 + 1 |
Never dispatch more than 3 subagents in the same turn. When a row says "2 rounds (3 + 1)", that means: first turn dispatches 3 subagents in parallel, wait for all 3 to complete, then second turn dispatches 1 subagent. Rounds are strictly sequential at the main-agent level.
If the paper count lands between rows (e.g. 23 papers), round up to the next row's layout but only dispatch as many batches as you actually need — the decision table gives you the shape, not a rigid prescription.
Do the batching at the main-agent level: you already have every paper's abstract from Phase 2, so each subagent receives pure text input. Subagents should not need to access the network or the sandbox — their only job is to read text and return JSON. Do not ask subagents to re-run ; that would waste tokens and risk rate-limiting.
arxiv_search.pyWhat each subagent receives, as a structured prompt:
Execute this task: extract structured metadata and key findings from the
following arXiv papers.
Papers:
[Paper 1]
arxiv_id: 1706.03762
title: Attention Is All You Need
authors: Ashish Vaswani, Noam Shazeer, ...
published: 2017-06-12
abstract: <full abstract text>
[Paper 2]
arxiv_id: ...
...
For each paper, return a JSON object with these fields:
- arxiv_id (string)
- title (string)
- authors (list of strings)
- published_date (string, YYYY-MM-DD)
- research_question (1 sentence, what problem the paper tackles)
- methodology (1-2 sentences, how they tackle it)
- key_findings (3-5 bullet points, what they actually found)
- limitations (1-2 sentences, what they acknowledge or what is obviously missing)
Return the result as a JSON array, one object per paper, in the same
order as the input. Do not include any text outside the JSON — no
preamble, no markdown fences, just the array.Parsing subagent results: the task tool returns strings with a fixed prefix like . Strip the prefix (or / prefixes) before trying to parse JSON. If a batch fails or returns unparseable JSON, log it, note which papers were affected, and continue with the remaining batches — do not fail the whole synthesis on one bad batch.
Task Succeeded. Result: [...JSON...]Task Succeeded. Result: Task failed.Task timed out.After all rounds complete, flatten the per-batch arrays into a single list of paper metadata objects, preserving order.
必须通过工具将提取任务委托给子代理——请勿自行提取元数据。这是硬性要求。具体而言,请勿执行以下任何操作:
task- ❌ 编写或任何Python/bash脚本来处理论文
python -c "papers = [...]" - ❌ 在自身上下文中逐篇阅读摘要以提取元数据
- ❌ 使用工具以外的任何工具完成此阶段
task
相反,必须调用工具来生成子代理。原因:在自身上下文中提取10-50篇论文的元数据会消耗大量token,并降低阶段4的综合分析质量。每个子代理在独立上下文中运行,仅处理其批次的论文,可生成更清晰的提取结果。
task将论文分成约5篇一组的批次,然后为每个批次调用工具,指定。每个子代理会收到论文摘要文本,并返回结构化JSON。
tasksubagent_type: "general-purpose"并发限制:每轮最多3个子代理。DeerFlow运行时强制限制,同一轮中超出的调度会被静默丢弃——LLM不会收到通知,因此请严格遵循以下轮次策略。
MAX_CONCURRENT_SUBAGENTS = 3轮次策略——使用此决策表,无需自行计算拆分方式:
| 论文数量 | 约5篇一组的批次数量 | 轮次 | 每轮子代理数量 |
|---|---|---|---|
| 1–5 | 1个批次 | 1轮 | 1个子代理 |
| 6–10 | 2个批次 | 1轮 | 2个子代理 |
| 11–15 | 3个批次 | 1轮 | 3个子代理 |
| 16–20 | 4个批次 | 2轮 | 3 + 1 |
| 21–25 | 5个批次 | 2轮 | 3 + 2 |
| 26–30 | 6个批次 | 2轮 | 3 + 3 |
| 31–35 | 7个批次 | 3轮 | 3 + 3 + 1 |
| 36–40 | 8个批次 | 3轮 | 3 + 3 + 2 |
| 41–45 | 9个批次 | 3轮 | 3 + 3 + 3 |
| 46–50 | 10个批次 | 4轮 | 3 + 3 + 3 + 1 |
同一轮中请勿调度超过3个子代理。当某一行显示“2轮(3 + 1)”时,意味着:第一轮并行调度3个子代理,等待所有3个完成后,第二轮调度1个子代理。主代理层面的轮次必须严格按顺序执行。
如果论文数量介于两行之间(例如23篇),向上取整到下一行的结构,但仅调度实际需要的批次数量——决策表提供的是结构框架,而非硬性规定。
在主代理层面完成批次划分:阶段2已获取所有论文的摘要,因此每个子代理仅接收纯文本输入。子代理无需访问网络或沙箱——它们的唯一任务是读取文本并返回JSON。请勿要求子代理重新运行;这会浪费token,并可能触发速率限制。
arxiv_search.py每个子代理接收的结构化提示:
执行以下任务:从以下arXiv论文中提取结构化元数据和关键发现。
论文:
[论文1]
arxiv_id: 1706.03762
title: Attention Is All You Need
authors: Ashish Vaswani, Noam Shazeer, ...
published: 2017-06-12
abstract: <完整摘要文本>
[论文2]
arxiv_id: ...
...
针对每篇论文,返回包含以下字段的JSON对象:
- arxiv_id(字符串)
- title(字符串)
- authors(字符串列表)
- published_date(字符串,格式为YYYY-MM-DD)
- research_question(1句话,说明论文解决的问题)
- methodology(1-2句话,说明解决问题的方法)
- key_findings(3-5个要点,说明实际发现)
- limitations(1-2句话,说明论文承认的或明显存在的局限性)
结果以JSON数组形式返回,每个对象对应一篇论文,顺序与输入一致。请勿包含JSON以外的任何文本——无需前言,无需markdown围栏,仅返回数组。解析子代理结果:task工具返回的字符串带有固定前缀,例如。在尝试解析JSON之前,请先去除前缀(或 / 前缀)。如果某一批次失败或返回无法解析的JSON,请记录下来,注明受影响的论文,然后继续处理剩余批次——不要因一个错误批次导致整个综合分析任务失败。
Task Succeeded. Result: [...JSON...]Task Succeeded. Result: Task failed.Task timed out.所有轮次完成后,将每个批次的数组合并为一个单一的论文元数据对象列表,保留原顺序。
Phase 4: Synthesize and format
阶段4:综合分析与格式整理
Now produce the final SLR report. Two things happen here: cross-paper synthesis (thematic analysis) and citation formatting.
Cross-paper synthesis: the report must do more than list papers. At minimum, identify:
- Themes: 3-6 recurring research directions, approaches, or problem framings across the set.
- Convergences: findings that multiple papers agree on.
- Disagreements: where papers reach different conclusions or use incompatible methodologies.
- Gaps: what the collective literature does not yet address (often stated explicitly in the "limitations" fields).
If the paper set is too small or too heterogeneous to support thematic synthesis (e.g. 5 papers on wildly different sub-topics), say so explicitly in the report — do not force themes that are not there.
Citation formatting: the exact format depends on user preference. Read only the template file that matches the user's requested format, not all three:
- templates/apa.md — APA 7th edition. Default for social sciences and most CS journals. Use when the user requests APA or does not specify a format.
- templates/ieee.md — IEEE numeric citations. Use when the user targets an IEEE conference or journal, or explicitly asks for IEEE.
- templates/bibtex.md — BibTeX entries. Use when the user mentions BibTeX, LaTeX, or wants machine-readable references. Important: arXiv papers are cited as , not
@misc— the BibTeX template covers this explicitly.@article
Each template contains both the citation rules and a full report structure (executive summary, themes, per-paper annotations, references, methodology section). Follow the template's structure verbatim for the report body, then fill in content from your Phase 3 metadata.
现在生成最终的SLR报告。此阶段包含两个任务:跨论文综合分析(主题分析)和引用格式整理。
跨论文综合分析:报告不能仅罗列论文。至少需识别以下内容:
- 主题:3-6个在所有论文中反复出现的研究方向、方法或问题框架。
- 共识:多篇论文达成一致的发现。
- 分歧:论文得出不同结论或使用不兼容方法的地方。
- 研究空白:现有文献尚未涉及的内容(通常在“局限性”字段中明确提及)。
如果论文集规模过小或过于分散,无法支持主题综合分析(例如5篇论文涉及完全不同的子主题),请在报告中明确说明——不要强行编造不存在的主题。
引用格式整理:具体格式取决于用户偏好。仅阅读与用户要求格式匹配的模板文件,无需阅读全部三个:
- templates/apa.md — APA第7版。适用于社会科学和大多数CS期刊。当用户要求APA格式或未指定格式时使用。
- templates/ieee.md — IEEE数字引用格式。当用户针对IEEE会议或期刊投稿,或明确要求IEEE格式时使用。
- templates/bibtex.md — BibTeX条目。当用户提及BibTeX、LaTeX,或需要机器可读参考文献时使用。重要提示:arXiv论文需以类型引用,而非
@misc——BibTeX模板已明确涵盖此规则。@article
每个模板包含引用规则和完整的报告结构(执行摘要、主题、单篇论文注释、参考文献、研究方法部分)。严格遵循模板的结构撰写报告主体,然后填入阶段3提取的元数据内容。
Phase 5: Save and present
阶段5:保存与展示
Save the full report to where is a lowercased hyphenated version of the topic (e.g. ). Then call the tool with that path so the user can download it.
/mnt/user-data/outputs/slr-<topic-slug>-<YYYYMMDD>.md<topic-slug>transformer-attentionpresent_filesIn the chat message, show a short preview so the user immediately sees value without opening the file:
- Executive summary — the 3–5 sentence paragraph from the top of the report, verbatim.
- Themes list — bullet list of the themes you identified in Phase 4 synthesis (just the theme names + one-line gloss, not the full theme sections).
- Paper count + a pointer to the file — e.g. "Full report with 20 papers, per-paper annotations, and formatted references saved to ."
slr-transformer-attention-20260409.md
Do not dump the full 2000+ word report inline — per-paper annotations, references, and methodology belong in the file. The preview is there to let the user judge the report at a glance and decide whether to open it.
将完整报告保存到,其中是主题的小写连字符形式(例如)。然后调用工具传入该路径,以便用户下载。
/mnt/user-data/outputs/slr-<topic-slug>-<YYYYMMDD>.md<topic-slug>transformer-attentionpresent_files在聊天消息中,展示简短预览,让用户无需打开文件即可立即看到价值:
- 执行摘要——报告顶部的3-5句话,原文呈现。
- 主题列表——阶段4综合分析中识别的主题要点列表(仅主题名称+一行说明,无需完整主题章节)。
- 论文数量+文件指向——例如“包含20篇论文、单篇论文注释和格式化参考文献的完整报告已保存至。”
slr-transformer-attention-20260409.md
请勿在聊天中粘贴2000字以上的完整报告——单篇论文注释、参考文献和研究方法部分应放在文件中。预览的作用是让用户快速判断报告质量,并决定是否打开文件。
Examples
示例
Example 1: Typical SLR request
User: "Do a systematic literature review of recent transformer attention variants, 20 papers, APA format."
Your flow:
- Phase 1: confirm topic (transformer attention variants), scope (20 papers, default time window), format (APA). Ask one clarification only if something is missing (e.g. "Any particular time window, or should I default to the last 3 years?").
- Phase 2: .
arxiv_search.py "transformer attention" --max-results 20 --sort-by relevance --start-date 2023-01-01 - Phase 3: 20 papers → round 1 = 3 subagents × 5 papers = 15 covered, round 2 = 1 subagent × 5 papers = 5 covered. Aggregate.
- Phase 4: read , write the report using its structure, fill in themes + per-paper annotations from Phase 3 metadata.
templates/apa.md - Phase 5: save to , call
slr-transformer-attention-20260409.md.present_files
Example 2: Small-set request with ambiguity
User: "Survey a few papers on diffusion models for me."
Your flow:
- Phase 1: "a few" is ambiguous. Ask one question: "How many papers would you like — 10, 20, or 30? And any citation format preference (APA is the default)?"
- User responds "10, BibTeX".
- Phase 2: .
arxiv_search.py "diffusion models" --max-results 10 --category cs.CV - Phase 3: 10 papers → single round, 2 subagents × 5 papers.
- Phase 4: read , format with
templates/bibtex.mdentries (not@misc).@article - Phase 5: save and present.
Example 3: Out-of-scope request
User: "Here's one paper (https://arxiv.org/abs/1706.03762). Can you review it?"
This is a single-paper peer review, not a literature survey. Do not use this skill. Route to instead.
academic-paper-review示例1:典型SLR请求
用户:“针对近期Transformer注意力变体进行系统性文献综述,20篇论文,APA格式。”
工作流程:
- 阶段1:确认主题(Transformer注意力变体)、范围(20篇论文,默认时间范围)、格式(APA)。仅当有信息缺失时提出一个澄清问题(例如“是否需要指定时间范围,还是默认过去3年?”)。
- 阶段2:执行。
arxiv_search.py "transformer attention" --max-results 20 --sort-by relevance --start-date 2023-01-01 - 阶段3:20篇论文 → 第一轮=3个子代理×5篇论文=覆盖15篇,第二轮=1个子代理×5篇论文=覆盖5篇。合并结果。
- 阶段4:读取,使用其结构撰写报告,填入阶段3元数据中的主题和单篇论文注释。
templates/apa.md - 阶段5:保存至,调用
slr-transformer-attention-20260409.md。present_files
示例2:小规模请求且存在歧义
用户:“帮我调研几篇关于扩散模型的论文。”
工作流程:
- 阶段1:“几篇”表述模糊。提出一个问题:“你需要多少篇论文——10篇、20篇还是30篇?是否有引用格式偏好(默认APA格式)?”
- 用户回复“10篇,BibTeX格式”。
- 阶段2:执行。
arxiv_search.py "diffusion models" --max-results 10 --category cs.CV - 阶段3:10篇论文 → 单轮,2个子代理×5篇论文。
- 阶段4:读取,以
templates/bibtex.md条目格式整理(而非@misc)。@article - 阶段5:保存并展示。
示例3:超出范围的请求
用户:“这是一篇论文(https://arxiv.org/abs/1706.03762)。你能评审一下吗?”
这是单篇论文同行评审,而非文献调研。请勿使用本Skill,转用。
academic-paper-reviewNotes
注意事项
- Prerequisite: must be
subagent_enabled. Phase 3 requires thetruetool for parallel metadata extraction. This tool is only loaded whentaskis set tosubagent_enabledin the runtime config (true). Without it, theconfig.configurable.subagent_enabledtool will not appear in the available tools and Phase 3 cannot execute as designed.task - arXiv only, by design. This skill does not query Semantic Scholar, PubMed, or Google Scholar. arXiv covers the bulk of CS/ML/physics/math preprints, which is what DeerFlow users most often want to survey. Multi-source academic search belongs in a dedicated MCP server, not inside this skill.
- Hard upper bound of 50 papers. This is tied to the Phase 3 concurrency strategy (max 3 subagents per round, ~5 papers each, at most ~3 rounds). Surveys larger than 50 papers degrade in synthesis quality and are better done by splitting into sub-topics.
- Phase 3 requires subagents to be enabled. This skill's parallel extraction step hard-requires the tool, which is only available when
taskat runtime. If subagents are unavailable, do not claim to execute the Phase 3 parallel plan; instead, tell the user that subagents must be enabled for the full workflow, or offer to narrow/split the request into a smaller manual review.subagent_enabled=true - Subagent results are strings, not objects. Always strip the /
Task Succeeded. Result:/Task failed.prefixes before parsing the JSON payload.Task timed out. - The field is a bare arXiv id (e.g.
id), not a URL and not with a version suffix.1706.03762/abs_urlhold the full URLs if you need them.pdf_url - Synthesis, not listing. The final report must identify themes and compare findings across papers. A report that only lists papers one after another is a failure mode — if you cannot find themes, say so explicitly instead of faking them.
- 前提条件:必须设为
subagent_enabled。阶段3需要使用true工具进行并行元数据提取。该工具仅在运行时配置(task)中config.configurable.subagent_enabled设为subagent_enabled时才会加载。如果未启用,true工具不会出现在可用工具列表中,阶段3无法按设计执行。task - 仅支持arXiv,为设计初衷。本Skill不会查询Semantic Scholar、PubMed或Google Scholar。arXiv涵盖了CS/ML/物理/数学领域的大部分预印本,这也是DeerFlow用户最常需要调研的内容。多源学术搜索应在专用MCP服务器中实现,而非本Skill内部。
- 硬上限为50篇论文。这与阶段3的并发策略相关(每轮最多3个子代理,每个代理处理约5篇论文,最多约3轮)。超过50篇论文的调研会降低综合分析质量,建议按子主题拆分任务。
- 阶段3需要启用子代理。本Skill的并行提取步骤硬性要求工具,该工具仅在运行时
task时可用。如果子代理不可用,请勿声称能执行阶段3的并行计划;应告知用户需要启用子代理才能完成完整工作流,或提议缩小/拆分请求为小规模手动评审。subagent_enabled=true - 子代理结果为字符串,而非对象。解析JSON payload之前,务必去除/
Task Succeeded. Result:/Task failed.前缀。Task timed out. - 字段为纯arXiv ID(例如
id),而非URL,也不包含版本后缀。如果需要完整URL,请使用1706.03762/abs_url字段。pdf_url - 注重综合分析,而非罗列。最终报告必须识别主题并对比多篇论文的发现。仅逐篇罗列论文的报告属于失败案例——如果无法找到主题,请明确说明,不要伪造。