firecrawl-research-index

firecrawl-research-index

使用 Firecrawl Research 查找回答研究问题的论文,通过语义搜索、语义和结构扩展以及正文验证。始终将此技能用于任何文献查找/论文检索任务——单篇论文查找或完整的多篇论文集合。

42Star
0Fork
更新于 2026/7/10
SKILL.md
readonly只读
name
firecrawl-research-index
description

使用 Firecrawl Research 查找回答研究问题的论文,通过语义搜索、语义和结构扩展以及正文验证。始终将此技能用于任何文献查找/论文检索任务——单篇论文查找或完整的多篇论文集合。

Firecrawl Research Index

查找回答研究问题的研究论文。有些问题只有一个答案;许多问题有多个答案——当不确定时,倾向于返回更完整的相关集合(最相关的优先),而不是缩小到一个。读者看到相邻的方法和论文比被默默忽略更好。

没有固定的配方。阅读查询,判断其类型,并选择下面的方法。有些查询只需要一次搜索;其他需要大量的结构/语义扩展。不要运行查询不需要的机制。

工具及其独特优势

  • MCP: firecrawl_research_search_papers(query, k?)
    CLI: firecrawl research search-papers <query> [--k <number>]
    摘要进行语义(HyDE)搜索。对于几乎任何查询来说,这是自然的首选操作。
    如果结果看起来稀疏或千篇一律,用不同的框架(兄弟领域、竞争方法、数据集/基准名称)重新运行,而不是放弃。

  • MCP: firecrawl_research_related_papers(seed_ids, intent, mode?, k?)
    CLI: firecrawl research related-papers <seedIds...> --intent <intent> [--mode <similar|citers|references>] [--k <number>]
    语义和结构扩展,根据你的 intent 排序。
    这能触及语义搜索无法找到的论文,也是你将一个好结果转化为完整集合的方式。
    mode=similar → 小众兄弟;citers → 谁使用/构建在种子之上;references → 它们构建/比较的对象。

  • MCP: firecrawl_research_inspect_paper(id)
    CLI: firecrawl research inspect-paper <id>
    单篇论文的规范元数据:标题、摘要、作者、类别、来源 ID 和日期。
    search_papersrelated_papers 之后使用,当你需要候选论文的完整引用/元数据时,或者当你从其他地方获得 ID 并需要确认它对应哪篇论文时。
    读取论文正文;使用 read_paper 获取具体的全文问题。

  • MCP: firecrawl_research_read_paper(id, question)
    CLI: firecrawl research read-paper <id> --question <question>
    单篇论文的正文段落,用于验证关键约束(实际使用的方法、实际报告的分数、隶属关系、论文比较的对象)。
    用于解决特定疑问,而不是对所有内容使用。

  • MCP: firecrawl_search(query) / firecrawl_scrape(url)
    CLI: firecrawl search <query> / firecrawl scrape <url>
    通用网络搜索和页面获取,用于论文摘要中不包含的事实:基准排行榜、排名、“谁得分最高/最大/最常用”。
    在网络上找到排名,然后用 search_papers 将顶级条目映射回论文。
    仅当语料库无法独立回答问题时才使用这些。

根据查询匹配方法

  • 单个命名的论文(“Qwen3 报告”)→ 一次 search_papers,完成。这是唯一真正只需要一篇论文的情况。
  • 按描述/按方法或技术的论文(“引入 X 的论文”、“无训练的 N-gram AI 文本检测”)→ 找到最佳匹配,然后假设存在一个家族:用 related_papers 扩展,并包括密切相关的方法/论文。即使一篇论文是精确的文字匹配,也要展示并保留其邻居——不要缩小到单个最佳结果并推理其余部分。只有当查询指定了具体论文时,才将其视为单答案。
  • 枚举/方法家族(“做 X 的论文”、“Adam 的替代方案”、“Y 的基准”)→ 答案是集合,这是 related_papers 发挥作用的地方:用 mode=similar 扩展几个强锚点,从新的强结果重新播种。一次搜索永远不够。
  • 展示(“使用/展示属性 P 的论文”)→ 相关论文应用了 P,但它们的摘要可能没有描述它。从 P 的定义论文出发,通过 citers/references 向外扩展,并用 read_paper 确认候选论文是否实际使用了 P。
  • 最高级/排行榜(“基准 X 上最好的”、“最大的”、“最流行的”)→ 排名存在于排行榜/网络上,而不是任何单个摘要中。使用 firecrawl_search / firecrawl_scrape 找到基准的排行榜或排名,读取顶级模型/论文,然后对每个使用 search_papers 获取其论文。作为后备,搜索基准并用 read_paper 检查候选论文的报告数字。这是最难的类型——广泛撒网。
  • 组织/作者过滤(“来自 <org>”、“由 <author> 撰写”)→ 主题匹配不够;在保留论文之前验证隶属关系/作者身份(元数据或 read_paper)。
  • 比较对象(“论文 X 与什么进行基准比较/构建在什么之上”)→ 答案在论文 X 内部read_paper(X, ...)related_papers([X], ..., mode="references")

原则

  • 当不确定时,包括在内。 对于任何主题/方法/比较问题,返回相关的家族,而不仅仅是单个最佳匹配——倾向于保留可能相关的论文而不是丢弃它。相邻方法是好答案的一部分;不要仅仅因为一篇论文是最精确的匹配就排除相关工作。
  • 遵循文献,保留找到的内容。 开创性来源、竞争方法、近邻通常只有一步之遥——使用 related_papers,并包括它们,而不仅仅是第一个结果。停在第一个好结果上是让读者得到一半答案的最常见方式。
  • 验证以排除,而不是把关。 当硬约束明显失败时(错误的组织/作者、实际上没有报告分数),使用 read_paper 将论文排除。当论文可能相关时,倾向于保留它而不是要求证明。
  • 只丢弃明显不相关的。 不要用你确信无关的论文来填充——但这是一个高标准;大多数可能相关的工作应该被包括。