论文命中不是终点,Related Works 才是科研 Agent 的第二跳
导语最近一周围绕 Agentic RAG 的讨论又回到一个老问题Agent 能不能给出看起来合理的答案其实已经不是重点重点是它能不能把检索、扩展、核验这条链路做成可复核流程。放到科研场景里这个问题更尖锐。科研 Agent 找到一篇论文只是第一步真正决定它能不能做综述、做 related works、做证据核查的是它能不能沿着引用网络继续走第二跳。正文热点背景Agent 开始从“会答”走向“可审计”这两年大家谈 Agent经常把注意力放在工具调用次数、长上下文长度和自动化闭环上。但最近一波更有价值的讨论其实是透明性和可审计性。原因很简单当 Agent 从“帮你写一段话”升级为“替你做一轮研究流程”单次命中已经不够证据路径才重要。科研工作流尤其如此。一个综述型问题很少在第一条命中里结束。你需要先找到种子论文再看它引用了谁、又被谁引用、有哪些 related works最后再回到原文上下文核对。也就是说科研 Agent 的真正能力不是“搜到一段话”而是“把一篇论文放进关系网络里继续展开”。这正是今天值得重新讨论科研数据接口的原因。技术问题为什么 chunk 命中不等于综述能力很多通用 RAG 流程到这里就停了用户提问系统召回若干 chunk模型基于 chunk 组织回答这套流程在 FAQ、企业知识库、产品文档里往往已经够用但在科研场景里有三个明显缺口。第一chunk 解决的是“命中片段”不是“定位论文族谱”。一段结论性文字可能来自一篇高被引综述也可能来自一个边缘实验结果。只看片段Agent 很难判断这篇论文在整个研究脉络里的位置。第二metadata 解决的是“筛论文”不是“扩关系”。按年份、期刊、作者、主题筛出候选论文池很重要但系统综述、related works、citation grounding 往往都需要继续沿引用关系走下去。第三论文级结果和 chunk 级结果不是一回事。默认返回 10 条 chunk不等于返回 10 篇论文。对科研 Agent 来说“这 10 条证据分别来自哪些文献、它们之间有没有引用关系”往往比片段本身更关键。所以科研 Agent 缺的不是又一个搜索框而是一个能把“检索结果”接到“引用网络”和“原文核验”的数据层。行业对比图谱、元数据、检索各有强项但第二跳能力决定工作流形态维度SciverseOpenAlexSemantic ScholarCrossrefPubMed结构化元数据检索支持强支持强强自然语言证据片段检索支持agentic-search非核心部分场景强非核心非核心原文上下文回读支持content需自行补非核心非核心依数据范围而定引用/参考文献/相关工作扩展支持meta-paper-relations强强部分支持依场景而定Figure / Table 资源获取支持resource非核心非核心非核心非核心面向 Agent 工作流的统一接口链路强需自行封装需自行封装需自行封装需自行封装这里不是谁替代谁的问题而是定位差异。OpenAlex 很适合做开放学术图谱和大规模元数据分析。Crossref 在 DOI 和出版元数据基础设施上仍然非常重要。Semantic Scholar 在论文发现和引用图谱上也很成熟。PubMed 则是生命科学和医学检索中的基础入口。Sciverse 的不同点在于它不是只停留在论文列表层而是更强调 Agent 真正会用到的统一调用链先用meta-search或agentic-search找入口再用meta-paper-relations扩 citation network再用content回到原文必要时再取resource里的 Figure 和 Table。一句话说很多系统擅长告诉你“有哪些论文”Sciverse 更强调让 Agent 继续把论文“读下去、连起来、核下去”。Sciverse 的切入点把“第二跳检索”做成标准接口如果把科研 Agent 的工作流拆开看可以分成三层层级解决的问题更适合的接口Candidate Layer先找到一批可能相关的论文meta-search/agentic-searchRelation Layer让 Agent 沿引用、参考文献、related works 继续扩展meta-paper-relationsEvidence Layer回到原文上下文核对具体结论content这三层里最容易被忽视的是中间的 Relation Layer。很多团队会花很多时间优化第一层召回却把第二层交给模型“自己理解”。结果就是Agent 能找到一篇论文却很难稳定地构造 related works能命中一个 claim却不容易把它放回整条研究链路里能给你一个答案却未必能给你一条可靠的证据路径。Sciverse 在这里的价值不是替模型写综述而是把第二跳所需的数据接口标准化。根据官方文档和最新 Agent Tools README当前公开能力已经可以围绕以下链路展开meta-search用结构化字段定位种子论文并拿到unique_idmeta-paper-relations按CITATIONS、REFERENCES、RELATED_WORKS分页扩展关系网络content根据doc_id回读原文上下文resource在需要多模态证据时继续拉取 Figure / Table这比“把一堆 chunk 直接丢给模型”更接近真实科研流程。技术拆解一个最小的 related works Agent 应该怎么走一个更合理的调用流程不是“问一次、答一次”而是下面这条链用meta-search按主题、年份、期刊、语言等条件先找种子论文。从结果里取unique_id再调用meta-paper-relations获取REFERENCES或RELATED_WORKS。对关系网络里真正重要的节点回到meta-search或直接读取已有doc_id。用content回读上下文而不是只相信首轮命中的摘要或 chunk。如果论文正文中出现关键图表再通过resource拉取 Figure / Table构建更完整的 Evidence Pack。这条链的意义在于它把“论文发现”“关系扩展”“原文核验”拆开了。Agent 不需要在一次提示词里同时完成所有判断而是可以按接口边界逐步推进。下面是一段贴近真实接口的 Python 示例。以下字段与切片语义以最新线上文档 / OpenAPI 为准。importosimporttimeimportrequests BASEhttps://api.sciverse.spaceTOKENos.environ[SCIVERSE_API_TOKEN]HEADERS{Authorization:fBearer{TOKEN},Content-Type:application/json,}defrequest_with_retry(method,url,**kwargs):forattemptinrange(3):resprequests.request(method,url,timeout30,**kwargs)ifresp.status_code429:wait_smin(2**attempt,8)print(fRate limited: waiting{wait_s}s before retry)time.sleep(wait_s)continueresp.raise_for_status()returnrespraiseRuntimeError(Sciverse API rate limit persisted after retries)# 1) 先用结构化检索拿到种子论文seed_resprequest_with_retry(POST,f{BASE}/meta-search,headersHEADERS,json{query:scientific claim verification,fields:[title,unique_id,doc_id,doi,publication_published_year],page:1,page_size:5}).json()seedseed_resp[results][0]unique_idseed[unique_id]# 2) 沿 related works 做第二跳扩展rel_resprequest_with_retry(POST,f{BASE}/meta-paper-relations,headersHEADERS,json{unique_id:unique_id,relation:RELATED_WORKS,page:1,page_size:10}).json()related_itemsrel_resp.get(items,[])print(Seed paper:,seed.get(title))print(Related works count on this page:,len(related_items))# 3) 如果种子论文可读再回到原文上下文doc_idseed.get(doc_id)ifdoc_id:content_resprequest_with_retry(GET,f{BASE}/content,headersHEADERS,params{doc_id:doc_id,offset:0,limit:1200}).json()snippetcontent_resp.get(text,)[:400]print(Context preview:,snippet)else:print(This record does not expose a readable doc_id in current results.)这段代码背后的思路很直接meta-search负责把“问题”变成“种子论文”meta-paper-relations负责把“种子论文”变成“研究邻域”content负责把“研究邻域里的节点”重新落回原文证据这就是为什么说科研 Agent 找到论文只是第一步真正的工作从第二跳才开始。评测 / 验证章节本文未进行实测跑分仅提供可复现评测方案。如果要评测一个 related works Agent 是否真的有用我更建议看下面这几项而不是只看首轮检索命中率评测维度验证问题可复现做法种子定位能力能否稳定找到该方向的代表性起点论文用固定问题集比对meta-search首屏结果第二跳扩展质量RELATED_WORKS/REFERENCES是否能覆盖人工整理的核心文献选 20 个主题做人工对照原文核验能力Agent 是否会把关键 claim 回读到content记录调用链看是否真的回源可引用性最终输出是否带doc_id、doi、关系来源检查回答里的 provenance 字段多模态扩展潜力是否能在需要时继续拿到图表证据从正文引用中追到resource如果一个系统首轮命中很好但第二跳关系扩展弱、原文核验弱它更像是“会找片段的助手”还不是“能做科研工作流的 Agent”。结尾科研 RAG 的分水岭不在于能不能召回一段话而在于能不能把这段话重新放回论文、放回引用网络、放回研究脉络里。对科研 Agent 来说命中片段只是入口related works、references、citations 才是让它真正进入研究流程的第二跳。如果你正在做 Literature Review Agent、Scientific Claim Checker、Evidence Pack、MCP 科研工具链值得重点看一下 Sciverse 这类面向 Agent 的科学数据接口组合尤其是meta-search、meta-paper-relations、content这条链路。可以从这里继续Sciverse 文档https://sciverse.space/docsAPI 说明https://sciverse.space/docs/sciverse/api/meta-search论文关系接口https://sciverse.space/docs/sciverse/api/meta-paper-relationsSciverse Agent Toolshttps://github.com/opendatalab/Sciverse-Agent-Tools用 Cursor / Claude / Codex / MCP 接入可从仓库 README 的 SDK、MCP、Skills CLI 路径直接开始事实核查清单Sciverse 在本文中被表述为“面向科研 Agent 的 AI-ready 科学数据层”而不是聊天机器人或通用搜索框。文中接口职责区分为meta-search做结构化检索meta-paper-relations做引用/参考文献/相关工作扩展content做原文上下文读取。文中未声称 Sciverse 直接生成科学结论也未声称每篇论文都一定有全文或图表资源。文中关于 Agent Tools 的说法基于最新公开 README其中已列出list_paper_relations等六个工具。文中未使用内部调用分布数据因为本轮没有拿到今日 Sciverse 内部接口调用数据。本文未进行实测跑分仅提供可复现评测方案。参考来源Sciversellms.txthttps://sciverse.opendatalab.com/llms.txtSciversellms-full.txthttps://sciverse.opendatalab.com/llms-full.txtSciverse 文档总览https://sciverse.space/docsmeta-search文档https://sciverse.space/docs/sciverse/api/meta-searchmeta-paper-relations文档https://sciverse.space/docs/sciverse/api/meta-paper-relationscontent文档https://sciverse.space/docs/sciverse/api/contentSciverse Agent Tools READMEhttps://github.com/opendatalab/Sciverse-Agent-Tools