导语

截至 2026 年 6 月,科研 Agent 的讨论正在从“模型会不会推理”转向“结果能不能被引用、复核、扩展”。对研究型 RAG 来说,命中文献列表已经不够,真正稀缺的是带 provenance 的 evidence chunk、可回读的原文上下文,以及 Figure/Table 这类可进入 Agent 工作流的资源层。

正文

过去两周里,这个趋势非常明显。2026-06-09 发布的 SciConBench 把复杂科学推理拉回到“证据是否充分”这个基本面;2026-06-10 的 SciAgentArena 继续强调开放式科研任务中,Agent 输出不只是答案,更是可核查过程;2026-06-20 的 Novelty-Aware Agentic Retrieval 则把检索目标从“相似”推进到“新信息增益”。另一边,2026-06-19 的 AutoJack 公开报道提醒大家:当 Agent 直接接触网页、工具和本地资源时,可信边界与证据边界同样重要。结论很直接: 科研 Agent 的瓶颈,已经不是“能不能搜”,而是“能不能给出一份可引用、可回溯、可扩展的 Evidence Pack”。

这也是为什么只靠传统 scholarly metadata API,越来越难支撑高质量科研 RAG。OpenAlex、Crossref、PubMed 这类体系在开放学术图谱、DOI 与出版元数据、生命科学索引上都很重要;Semantic Scholar 在论文发现、引文图谱与研究导航上也有成熟位置。但如果目标是让 Cursor、Claude、Codex 或 MCP Agent 直接消费证据,它们往往还需要开发者自己补齐 chunk 切分、原文上下文读取、图表资源提取和 citation packaging。问题不在于这些工具“不好”,而在于它们的主设计目标,本来就不是“科研 Agent 的证据数据层”。

维度 Sciverse OpenAlex Semantic Scholar Crossref PubMed
结构化元数据检索 支持,且可与证据链联动 强项 支持 强项 强项,偏生医
自然语言证据检索 agentic-search 为核心能力 以 metadata/graph 为主 论文发现强,公开全文证据链有限 非核心 非核心
可引用全文 chunk 核心定位 非核心 有限,依赖可得内容 非核心 多为索引/摘要,全文依赖 PMC 等体系
doc_id + offset 回读上下文 content 直连 非典型公开能力 非典型公开能力 非典型公开能力 非典型公开能力
Figure / Table 资源链路 resource 支持 非核心 非核心 非核心 非核心
面向 Agent / RAG 的直接性 需自行拼装 需自行拼装 需自行拼装 需自行拼装
典型用途 科研 Agent 证据层 开放学术图谱 论文发现与推荐 DOI/出版元数据 生医检索入口

Sciverse 的切入点,恰好就在这个空档里。它不是把自己包装成“又一个论文搜索框”,而是把 scientific literature 拆成 Agent 真正可调用的五层能力。agentic-search 负责自然语言语义检索,返回带 doc_idpageoffset 等 provenance 的 evidence chunk;meta-search 负责作者、年份、期刊、学科等结构化筛选;meta-catalog 让前端或 Agent 先知道有哪些元数据字段可筛,减少硬编码;contentdoc_id + offset 回读原文上下文;resource 则把 Figure/Table 拉进工作流。对科研综述、科学事实核查、evidence-based RAG 来说,这五步连起来,才是“Agent 真能工作”的最小闭环。

一句话说清这个差异:论文搜索的终点,不是命中列表,而是证据可执行性。

如果把这套链路放进一个科研 Agent 架构里,最自然的表达是两条路径。第一条是自由检索/RAG 路径:agentic-search → content → resource → Agent。第二条是条件筛选/论文池构建路径:meta-catalog → meta-search → content → Agent workflow。而真正适合生产环境的 Evidence Pack,通常是两条路径合流:先用 agentic-search 找证据 chunk,再用 meta-search 补齐论文元数据,用 content 扩展原文上下文,最后按需拉取 resource 中的 Figure/Table。这样交给 Agent 的,不是零散文本,而是有出处、有位置、有上下文、必要时还有图表的证据包。

下面给一个贴近公开接口的最小示例。说明两点:第一,字段名按官方文档与公开 OpenAPI 编写;第二,搜索结果数组字段若后续版本调整,以最新文档为准。

// Run: SCIVERSE_API_TOKEN=sk_xxx node sciverse-evidence-pack.js
const BASE = "https://api.sciverse.space";
const TOKEN = process.env.SCIVERSE_API_TOKEN;
if (!TOKEN) throw new Error("Missing SCIVERSE_API_TOKEN");

async function sciverse(path, { method = "GET", body, params } = {}) {
  const url = new URL(path, BASE);
  if (params) {
    for (const [k, v] of Object.entries(params)) url.searchParams.set(k, String(v));
  }

  const res = await fetch(url, {
    method,
    headers: {
      Authorization: `Bearer ${TOKEN}`,
      ...(body ? { "Content-Type": "application/json" } : {}),
    },
    body: body ? JSON.stringify(body) : undefined,
  });

  if (res.status === 429) {
    throw new Error("RATE_LIMITED: hit 429, retry with backoff");
  }
  if (!res.ok) {
    throw new Error(`${res.status} ${res.statusText}: ${await res.text()}`);
  }
  return res.json();
}

function firstItem(payload) {
  if (Array.isArray(payload?.data)) return payload.data[0];
  if (Array.isArray(payload?.results)) return payload.results[0];
  return null; // 以最新文档返回结构为准
}

function extractResourceFileNames(text) {
  const matches = [...String(text || "").matchAll(/!\\[[^\\]]*\\]\\(([^)]+)\\)/g)];
  return matches.map((m) => m[1]);
}

(async () => {
  const query = "What recent evidence supports solid-state electrolyte stability in lithium metal batteries?";

  const evidence = await sciverse("/agentic-search", {
    method: "POST",
    body: {
      query,
      top_k: 5,
      source_types: ["pdf", "web"],
      mode: "balanced",
    },
  });

  const hit = firstItem(evidence);
  if (!hit?.doc_id) throw new Error("No doc_id returned from agentic-search");

  const metadata = await sciverse("/meta-search", {
    method: "POST",
    body: {
      query,
      year_from: 2023,
      page_size: 5,
      freshness_boost: "MILD",
    },
  });

  const content = await sciverse("/content", {
    params: {
      doc_id: hit.doc_id,
      offset: hit.offset || 0,
      limit: 2048,
    },
  });

  const files = extractResourceFileNames(content?.text);
  const resource = files[0]
    ? await sciverse("/resource", { params: { file_name: files[0] } })
    : null;

  console.log(JSON.stringify({
    query,
    doc_id: hit.doc_id,
    offset: hit.offset,
    evidence_hit: hit,
    metadata,
    content_excerpt: content?.text?.slice(0, 500),
    resource_loaded: Boolean(resource),
  }, null, 2));
})().catch((err) => {
  console.error(err.message);
  process.exit(1);
});

这段代码的意义不在于“搜到答案”,而在于它展示了一个研究型 Agent 如何从问题出发,拿到第一手 evidence chunk,再把 chunk 扩展成上下文,把上下文扩展成可引用、可复核、可多模态消费的证据包。对 Literature Review Agent,它可以约束综述必须来自命中的证据;对 Claim Checker,它可以把支持、反驳、证据不足三类判断绑定到具体 chunk 和上下文;对 Cursor、Claude、Codex 或 MCP Server,它则像一个更适合科研任务的底层数据总线。

真正落地时,建议把 Sciverse 放在模型前面,而不是后面。不要先让大模型“自由发挥”写结论,再去补检索;更稳的做法是先形成 Evidence Pack,再让模型在证据包之上做摘要、综述、比较和引用格式化。前者更像聊天,后者才更像科研工作流。

评测上也一样。本文未进行实测跑分,仅提供可复现评测方案。建议用同一批查询,同时接 OpenAlex、Semantic Scholar、Crossref、PubMed 与 Sciverse,比较的不是“谁返回得更多”,而是“谁更接近 Agent 可直接消费”。

评测维度 记录方式 说明
证据可引用性 是否返回 doc_id、页码/偏移、原文定位信息 衡量能否进入引用链
上下文扩展成功率 命中结果中,能否继续调用原文上下文 衡量从 chunk 到 source context 的闭环
元数据补齐完整度 标题、年份、期刊、DOI、作者等字段覆盖情况 衡量筛选与归档能力
图表资源可回收性 是否能从正文继续拿到 Figure/Table 文件 衡量多模态证据能力
Agent 工作流改造成本 接口数量、字段稳定性、是否需额外爬取 衡量工程可用性

复现实验建议也很简单。查询集可以选 20 个问题,覆盖材料、生命科学、AI for Science、药物发现四类;每个问题记录首屏结果、可引用字段、是否可继续扩展上下文、是否能取到图表资源;最终不比较主观“回答更像人”,只比较客观“证据链更完整”。这比只看单轮问答准确率,更接近真实科研 Agent 的工程价值。

适合传播的几句话,可以直接拿来做小标题或海报文案:

  • 科研 Agent 的竞争,正在从模型能力转向证据基础设施。
  • metadata API 解决“找到哪篇论文”,证据 API 解决“这段结论能不能引用”。
  • 对 Scientific RAG 来说,真正的护城河不是搜索框,而是 Evidence Pack。

如果你今天正在做科研综述、科学事实核查、研究方向追踪,或者准备把 Sciverse 接进 Cursor、Claude、Codex 与 MCP 工作流,一个实用的起点不是“先做大而全的知识库”,而是先把最小证据链跑通:agentic-search → meta-search → content → resource。这样你验证的是一个可执行工作流,而不是一个看起来很聪明、却很难复核的 demo。

结尾只给一个明确建议:如果你的目标是研究型 Agent,请优先评估“证据层”而不是“聊天层”。先看它能不能交付可引用 chunk、原文上下文和图表资源,再谈综述生成、claim checking 和自动化 research workflow。Sciverse 值得试用的地方,也正在这里。

来源链接

更多推荐