mcpField
S
scoop-check

scoop-check

github.com/microsoft生产力3.4k84 次安装5 周前更新
代码仓库

关于 scoop-check

scoop-check 是用于评估研究创新点是否与已有文献重叠的技能,面向研究者。它按问题与创新点拆解比较维度,并通过文献筛选和深入核查形成可辩护的差异表述。

主要功能

  1. 01拆解创新点的四个维度
  2. 02生成互补的文献检索查询
  3. 03合并并去重检索结果
  4. 04摘要层面评估潜在重叠
  5. 05深入核查高相关论文
  6. 06形成创新性等级与差异表述

适用场景

  1. 01提交研究构想前检查是否已有相近工作
  2. 02梳理某项方法与现有研究的差别

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/microsoft/researchstudio --skill scoop-check

安装后在 Claude Code 中输入/scoop-check确认已加载。

附带文件scripts/fetch_paper.sh

详细介绍

Scoop Check

系统地核实拟议的研究创新是否与现有文献重叠。目标是:(a) 找出已涵盖该主张的先前工作,或 (b) 提出清晰、站得住脚的“差异点”陈述,以区分拟议贡献。

输入

此技能要求用户提供恰好两个输入:

  1. 研究问题——正在解决的具体问题、挑战或知识空白。
  2. 创新点——用于区别于先前工作的具体贡献主张(新方法、定理、数据集、框架或见解)。

如果任一输入缺失、含糊不清或混为一谈(例如,“创新点”只是在重述问题),请推断最合理的含义并立即继续。任何时候都不要使用 AskUserQuestion,也不要暂停等待确认——始终直接完成所有步骤。

流程

按顺序执行以下步骤。流程开始时,使用 TaskCreate 一次性将全部七个步骤注册为任务,然后在开始每个步骤时将其标记为 in_progress,完成时标记为 completed。流程足够长,始终值得花少量精力跟踪进度——否则很容易跳过某个步骤(尤其是“重要说明”中要求的逐步日志记录),或忘记哪些候选项仍需深入研究。

步骤 1 — 拆解创新点

将所主张的创新点拆解为四个原子维度,并以带标签的列表呈现:

  • 问题界定——任务定义、输入、输出和评估方案。
  • 核心机制——技术贡献,包括架构、算法、证明技术或数据构建。
  • 关键见解——其奏效的原因;先前最先进水平的不足之处。
  • 应用领域——适用范围及其广度。
步骤 2 — 搜索与去重

阅读研究问题,并拟定三个互补的搜索查询:

  • **查询 1 — 原始问题:**重述原始研究问题。 示例: score-based generative model fast inference
  • **查询 2 — 宽泛领域:**高层次领域,约 3–5 个词。 示例: diffusion model sampling efficiency
  • **查询 3 — 方法特征:**具体的技术手段,约 5–8 个词。 示例: consistency model knowledge distillation

将这三个查询全部发送给 paper-search 技能(位于 .claude/skills/)。paper-search 会在多个来源中执行统一查询,并返回包含标题、摘要和元数据的结构化 JSON。

由于这三个查询会以独立的进程调用 arXiv,请安排好调用间隔,使相邻的 arXiv 请求间隔至少为 4 s,以避免触发会悄悄导致连接器返回空结果的速率限制(HTTP 429)。paper-search 的 arXiv 模块会通过跨进程文件锁(临时目录中的 arxiv_search_throttle.lock)自动执行此限制,因此并发或连续查询会排队,每个请求至少间隔上一个请求 4 s 才会发出——无需手动添加休眠,但不要绕过该模块直接调用 arXiv。只有在需要时,才通过 ARXIV_MIN_INTERVAL 环境变量调整间隔。

随后合并三个查询的结果,并按标题去重(比较前先统一大小写和空白字符)。

合并基于搜索的结果后,用你从训练知识中回忆出的、与研究问题或新颖性直接相关但未出现在搜索结果中的其他论文扩充集合。这样做的原因是:paper-search 依赖对索引来源进行关键词匹配,经常会漏掉你明知存在的里程碑式研究或标题表述间接的先前工作——而遗漏公认的关键参考文献,是新颖性检查失败最常见的原因。将回忆出的论文添加到与搜索结果相同的字段中(标题、日期、来源〔如已知〕),使其能够以相同方式通过后续流程。

回忆论文的限制:

  • 不得重复。 添加回忆出的论文前,先根据规范化后的标题(以及可用时的 arXiv ID / DOI)与去重后的搜索结果进行核对。跳过已存在的论文。
  • 标明来源。 为每条回忆记录添加 Source: model-recall(以及你能提供的任何 URL / ID),以便下游步骤知道该记录并非来自实时搜索,可能需要在步骤 5 中进一步核实。
  • 确保相关且数量适度。 只添加你确信存在且直接相关的论文,通常为 0–5 篇。如果无法有把握地回忆出任何论文,就不添加;捏造引文远比候选集较小糟糕得多。
  • 标明不确定之处。 如果不确定回忆论文的确切日期、发表场所或作者名单,请将相应字段留空,不要猜测——步骤 5 的深入研究会通过实际 PDF 核实这些信息。

合并后的集合(搜索结果 + 不重复的回忆论文)将作为下一步的输入。

第 3 步——摘要级初筛

对于每篇去重后的论文,阅读标题和摘要,并提取包含以下字段的初步记录:

  • 标题——论文完整标题。
  • 日期——发表或预印本日期(YYYY-MM)。
  • 问题界定——论文针对的任务、输入、输出和评估设置。
  • 核心机制——主要技术贡献——架构、算法、证明方法或数据构建方法。
  • 关键洞见——促成这项贡献的核心想法;以往工作缺少什么。
  • 应用领域——方法所应用或评估的领域、模态或场景。
  • 重叠评分(0–4)——根据摘要判断,与拟议创新点可能匹配的四个维度(问题界定、核心机制、关键洞见、应用领域)中有几个。该计数通过 level = 5 − (axes matching) 转换为第 6 步中的 5 级判定(匹配 0 个维度 → 第 5 级/创新性最高;匹配 4 个维度 → 第 1 级/贡献已被完全覆盖)。
  • 来源——获取全文所需的 URL、arXiv ID、DOI 或其他标识符。主机名通常足以判断论文的发表渠道,便于初筛(例如,arxiv.org → 预印本,openreview.net → 会议投稿,出版商域名 → 经同行评审);只有在第 5 步确实需要时,才记录正式发表渠道。

摘要很短,往往会掩盖判断论文是否实际覆盖某项贡献所需的细节——方法假设、实验范围和局限性通常只会在正文中提及。因此,重叠评分只是初筛信号,而非最终判定。

第 4 步——识别高潜力候选论文

从论文中筛选出最有可能威胁或有助于论证创新性主张的子集。此处的输入是第 3 步的完整合并集合——包括 paper-search 的结果,以及第 2 步记忆增强流程中回忆起的任何不重叠论文。对所有论文统一应用以下标准;不要仅仅因为回忆起某篇论文并将其加入,就自动优先考虑它;也不要仅仅因为其来源是 model-recall,就自动降低其优先级。它们必须与其他论文一样,凭实力入选。

符合以下任一条件的论文,即为高潜力候选论文:

  • 摘要初筛的重叠评分 ≥ 2。
  • 摘要明确匹配核心机制,即使应用领域或问题界定不同(机制重叠是最危险的一类重叠)。
  • 论文来自同一细分领域,且发表于过去 24 个月内,即使重叠评分较低也是如此,因为近期相近领域的工作最有可能已经涉及这项贡献。
  • 摘要对方法的描述含糊,无法据此确认或排除重叠——也就是说,仅凭摘要无法安全地排除此论文。

初筛后,将候选集合限制在排名靠前的 3–7 篇论文。该上限适用于筛选后的候选集合,而非第 3 步的输入集合,因此搜索和回忆得到的论文池很大也没关系,只要在此处将其缩小即可。如果符合条件的论文超过 7 篇,则保留重叠评分最高的 7 篇(评分相同时,优先保留机制匹配度更高和更新近的论文)。如果符合条件的论文少于 3 篇,则降低门槛,纳入接下来最相似的论文,以确保第 5 步的深入分析仍有足够的覆盖范围。明确列出候选论文,并说明每篇入选的原因。

第 5 步——深入研读候选论文全文

对于每篇高潜力候选论文,按照以下流程获取并阅读全文。不要图省事,直接将 PDF URL 交给 WebFetch——它会返回模型生成的摘要,并遗漏本步骤旨在获取的方法细节。 每篇论文的时间预算。 快速浏览,不要从头到尾通读。深入阅读的目的是依据论文正文核实四个维度,而不是总结整篇论文。一个实用的经验法则:一旦你引用或提及了 三处具体内容,且它们共同明确了问题设置、核心机制和范围/假设,就足以填写经过核实的记录——停止阅读。如果提取出的 .txt 文件异常庞大(例如,篇幅很长的学位论文、综述,或附录内容很多的论文),请将快速浏览范围限制在引言、方法、结论/局限性部分,并在候选记录中注明覆盖不完整。如果 fetch_paper.sh 失败或输出乱码,请尽早停止,并使用下方子步骤 4 中的妥善回退方案,不要把时间浪费在反复重试上。

  1. 确定 PDF URL。 从步骤 3 中记录的来源链接/ID 入手。对于 arXiv 条目,将 https://arxiv.org/abs/<id> 转换为 https://arxiv.org/pdf/<id>.pdf。对于 OpenReview/ACL Anthology/出版商页面,点击“PDF”链接。如果 PDF URL 不明显,首先仅使用 WebFetch 查找该 URL(例如,询问“此页面上的直接 PDF 链接是什么?”)。
  2. 使用随附脚本获取并提取内容。 选择一个能标识论文的 <pdf_name>(例如,将标题转换为适合文件名的格式,或使用 arXiv ID,如 2310_12345),以免多个候选项互相覆盖,然后运行:
    scripts/fetch_paper.sh "<PDF_URL>" "<pdf_name>"
    
    脚本会将文件下载到 ${CLAUDE_PROJECT_DIR}/papers/<pdf_name>.pdf,验证文件确实是 PDF(将 HTML 错误页面保存为 .pdf 是常见的失败情况),使用 pdftotext -layout 提取文本,并在需要时依次回退到普通 pdftotext → pdfplumber → pymupdf。成功时会打印 ok: …,并在最后一行给出最终 .txt 文件路径;失败时会打印 FAILED: <reason> 并以非零状态退出。
  3. 阅读提取出的文本。 使用 Read 工具打开所打印的 .txt 文件路径。重点浏览引言(了解作者声称的贡献)、方法部分(了解实际机制)、实验部分(了解范围和假设)以及结论/局限性。快速浏览相关工作,了解作者自己认为的既有研究——这往往能发现其他需要筛选的论文。
  4. 妥善回退。 如果 fetch_paper.sh 以非零状态退出(付费墙、403、失效链接、无法通过任何提取器处理的扫描版图片 PDF),请尝试使用 WebFetch 阅读摘要/HTML 版本,并提出有针对性的问题,同时明确记录这一局限。不要假装读过全文——深入阅读的价值在于基于论文正文进行判断。

请从全文中提取更丰富的记录,以取代基于摘要的条目:

字段需要捕捉的内容(来自全文)
问题界定(已核实)实际采用的准确任务设置、输入/输出、数据集和指标
核心机制(已核实)实际算法/架构/证明——包括具体的技术手段,而不只是概括性的名称
关键洞见(已核实)作者对机制为何有效的解释;他们认为既有工作缺少什么
应用领域(已核实)实际评估的具体领域、模态和规模
发表场所(已核实)论文发表的场所或所在的代码库(例如,NeurIPS 2024、ICLR 2023、ACL Findings、TMLR、arXiv 预印本、OpenReview 投稿)。如果论文尚未在同行评审场所发表,请使用“arXiv 预印本”;只有在 PDF 确实未披露时才使用“未知”。
假设与范围明确陈述的假设、局限性,以及该方法适用/不适用的情形
最贴切的证据支撑重合度判断的简短逐字引文或准确的章节引用
细化后的重合度重新评估各维度与拟议新颖性之间的匹配情况(匹配/部分匹配/不同),现以论文正文为依据
如果深入分析发现,一篇最初被标记为高度重叠的论文实际上针对不同的场景,或采用了实质上不同的机制,就应降低其重叠等级并注明原因。反之,如果正文显示其匹配度比摘要所暗示的更高,就应提高其重叠等级。步骤 5 的目的,是在最终比较前纠正摘要级初步筛选中不可避免的误差。
步骤 6 — 与拟议创新点进行比较

将比较结果列成清单,以拟议工作开头,随后列出每项先前工作。每个条目都要包含相同的一组字段,以便比较结构清晰、易于直接阅读。

请严格使用以下格式——注意,每个 字段:值 对都单独占一行,并缩进:

  • 拟议工作
    • 标题:—
    • 日期:—
    • 来源:—
    • 问题界定:…
    • 核心机制:…
    • 关键见解:…
    • 应用领域:…
  • 先前工作 A
    • 标题:…
    • 日期:…
    • 来源:…
    • 问题界定:…
    • 核心机制:…
    • 关键见解:…
    • 应用领域:…
  • 先前工作 B
    • 标题:…
    • 日期:…
    • 来源:…
    • 问题界定:…
    • 核心机制:…
    • 关键见解:…
    • 应用领域:…

对所有纳入考量的先前工作继续列出条目。对于每项先前工作,统计与拟议工作在四个轴上匹配的数量(0–4),并将该数量映射到五个创新等级之一,其中等级 5 的创新性最高(各轴均无重叠),等级 1 的创新性最低(四个轴全部匹配/创新点已被完全覆盖)。四个轴对应恰好五种可能的匹配数量,因此每种数量都一一对应一个等级:level = 5 − (axes matching)。

匹配轴数等级标签
05无重叠 — 创新性最高
14低度重叠
23中度重叠
32高度重叠
41完全重叠 — 创新点已被完全覆盖,创新性最低

等级越高,创新性越强(与先前工作的重叠越少):等级 5 表示没有重叠的先前工作,等级 1 表示有一项先前工作在四个轴上全部匹配。

总体结论由重叠程度最高的条目决定:采用最差情况,即取所有先前工作中的最低等级,因为最接近的一项先前工作会限制创新性。如果完全没有先前工作,则结论为等级 5(无重叠)。《报告》的结论部分会使用这一明确的映射规则——不要在那里引入其他规则。

第 7 步 — 阐明差异

按以下形式写出一句话,概述差异:

与 [最接近的既有工作] 不同,后者 [在假设 Y 下执行 X];本研究 [执行 X′/不再要求 Y/扩展到 Z],从而带来 [具体、可衡量的收益]。

这句话才是评审真正关注的成果——它点明了最接近的既有工作、本研究在哪个具体方面有所不同,以及由此带来的收益。请把这三处都说具体:“将既有工作扩展到新场景”这类泛泛的表述,无法向读者传达任何信息。如果最接近的既有工作来自第 5 步核实的记录,请直接依据该记录来表述相关假设或机制,确保比较立足于论文正文,而非摘要。

如果无法写出一句简洁明确的差异陈述,那么这项创新很可能与既有工作重叠,用户应重新界定贡献——请明确指出这一点,并说明哪些既有工作妨碍了差异陈述成立,而不是勉强写出站不住脚的句子。

写出差异陈述后,将第 6 步中各论文的等级汇总为一个总体判定(取最差情况,即所有既有工作的最低等级)——只能是以下五个等级之一:

  • Level 5 — 无重叠(创新性最高) — 第 6 步中的每项工作都在所有维度上有所不同,或完全没有既有工作。差异陈述本身足以成立。
  • Level 4 — 低度重叠 — 最接近的既有工作恰好有一个维度相同(三个维度不同)。存在间接相关的既有工作;差异陈述有充分依据。
  • Level 3 — 中度重叠 — 最接近的既有工作有两个维度相同(两个维度不同)。存在相关工作;差异陈述有依据,但今后撰写时必须明确说明。
  • Level 2 — 高度重叠 — 最接近的既有工作有三个维度相同(一个维度不同)。存在高度竞争的工作;差异陈述仅依赖一个区分维度,较为脆弱——应进一步明确或重新界定。
  • Level 1 — 完全重叠(创新性最低) — 至少有一项既有工作在全部四个维度上都相同(所有维度均相同)。存在各维度均匹配的既有工作;建议重新界定贡献。

请写出所选判定标签及其等级编号(例如“Level 3 — 中度重叠”),然后用一段话说明理由,并列出影响判定的具体论文标题。

注意:差异的类型(开辟新领域、带来可衡量的改进或形成取舍)已由差异陈述和判定传达,因此无需另设类别标签——添加此类标签只会在另一维度上重复判定,并可能引发矛盾(例如,“中度重叠”的判定搭配“严格意义上的新领域”标签)。

报告

在对话中以内嵌形式呈现最终报告,作为一份完整、独立的 Markdown 文档。按以下确切顺序包含所有部分,不得遗漏或概述:

  1. 结论 — 只能从步骤 7 的五个等级中选择一个,并注明等级编号和标签:Level 5 — No Overlap (most novel)、Level 4 — Low Overlap、Level 3 — Medium Overlap、Level 2 — High Overlap 或 Level 1 — Full Overlap (least novel)。
  2. 差异 — 步骤 7 中的一句话差异说明。如果无法写出明确的差异说明,请如实说明,并指出哪些先前工作阻碍了这一点。
  3. 拆解后的主张 — 以带标签的列表形式呈现步骤 1 的四个维度(问题框定、核心机制、关键见解、应用领域)。
  4. 结构化论文 — 以 Markdown 列表形式呈现步骤 3 中去重后的所有论文。每篇论文都要为每个字段各列一条项目符号(标题、日期、问题框定、核心机制、关键见解、应用领域、重叠评分、来源),字段需与步骤 3 中定义的字段列表一致。论文之间用空行或水平分隔线隔开,以便阅读。不得截断列表;如果未找到论文,请明确说明,并列出未返回结果的查询。
  5. 比较结果 — 完整呈现步骤 6 中的比较列表(先列出拟议工作,再列出每项先前工作),每个条目均以嵌套项目符号列表的形式列出字段,随后注明步骤 6 的五级表格中的每篇论文对应等级和标签,也就是维度匹配数量、等级(1–5,其中 5 表示最具新颖性)和标签(所有维度均不同/三个维度不同/两个维度不同/一个维度不同/所有维度均匹配)。

重要说明

  • 负面结果也有价值。 全面搜索却一无所获,本身就是新颖性的证据——请记录所用的查询。
  • 记录每个步骤。 完成每个步骤后,将该步骤的编号、名称、时间戳以及该步骤的完整结构化结果写入 ${CLAUDE_PROJECT_DIR}/step{step_number}.md。每个步骤生成一个文件,以便下游工具检查中间结果。
  • 展示完整报告。 提供完整、详尽的报告——包括所有搜索结果、分析和推理,而不只是摘要。

评论

支持 Markdown