ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

为什么系统综述 Agent 不能只有语义检索:citation pagination 才是 Related Works 的工作层

2026/8/5 11:47:34 拓冰建站 浏览量
为什么系统综述 Agent 不能只有语义检索:citation pagination 才是 Related Works 的工作层

导语

最近一周,Agent 工作流讨论仍在继续升温,但科研场景里一个更实际的问题开始暴露出来:找到论文,不等于展开 related works。对系统综述、滚雪球检索和证据扩展来说,真正决定工作流深度的,不是再多召回几个 chunk,而是能不能把一篇论文的 citations、references 和 related works 稳定翻完。Sciverse 的价值,恰好就在这里变得清晰起来。

正文

很多科研 Agent 的第一步已经做得不错了。

给它一个自然语言问题,它能用语义检索找到几段相关文本;再进一步,它还能把这些片段送进大模型,生成一段“看起来像综述”的回答。问题在于,系统综述从来不只是“找到相似内容”,而是要持续回答三个更难的问题:

第一,这篇论文到底建立在谁之上。
第二,后来又有哪些论文真正引用了它。
第三,和它处在同一问题空间里的相关工作,边界到底扩展到哪里。

这也是为什么最近 Agent 生态越强调工具调用,科研工作流反而越需要一层更细的数据接口。工具能不能调起来是一回事,调出来的数据是否能继续扩展成 citation graph,是另一回事。前者解决“能接”,后者解决“能做完”。

在这个问题上,OpenAlex、Semantic Scholar、Crossref、PubMed 各自都有明确价值,但它们更适合承担的层并不相同。OpenAlex 很适合做开放学术图谱和大规模元数据分析,Crossref 很适合 DOI 与出版元数据链路,PubMed 在生命科学检索中仍然是基础入口,Semantic Scholar 对论文发现和引用网络也很强。但如果一个 Agent 工作流要从“发现论文”继续走到“回到原文、扩展关系、抽取图表、拼接 evidence pack”,就需要一套更连贯的调用层。

这正是 Sciverse 的切入点。按照最新官方llms-full.txt的描述,Sciverse 当前公开定位不是普通搜索框,也不是聊天机器人,而是面向 research agents 和 RAG workflows 的 scientific evidence data API。它把科研工作流拆成几个可以组合的接口层:

工作流层主要问题更合适的接口
候选论文定位找到目标论文、限定年份/期刊/语言/DOImeta-search
字段发现确认哪些字段能筛、能排、能投影meta-catalog
证据片段召回回答开放式科学问题,拿到可引用 chunkagentic-search
原文核验把 chunk 拉回原文上下文content
关系扩展展开 citations、references、related worksmeta-paper-relations
图表取证下载 Figure/Table/PDF 资源resource

这里最容易被低估的,就是meta-paper-relations

很多开发者会默认:既然meta-search已经能返回论文记录,引用关系是不是顺手也能拿到?问题在于,citation、reference、related works 本身是无界数组。热门论文可能对应数百、数千条关系,列表页接口通常只会内联一个截断结果,足够“看见有关系”,但远远不够“把关系跑完”。对系统综述 Agent 来说,这会直接造成两个后果:

一是 related works 扩展深度不足。
二是引用链容易停在第一页,看起来有图谱,实际上没有遍历。

Sciverse 在最新公开文档里把这个边界说得很清楚:meta-paper-relations的存在,就是为了分页获取完整的 citations、references 和 related works 列表,而不是让开发者误把被截断的内联字段当成完整关系图。这一点很关键,因为它改变了科研 Agent 的系统设计。

一个更可靠的 Literature Review Agent,通常不该是“问一句,返回十个 chunk”这么简单,而应该是下面这条链路:

  1. meta-search定位种子论文,拿到unique_id
  2. meta-paper-relations分页扩展REFERENCES,补齐这篇论文依赖的上游工作。
  3. 再分页扩展CITATIONS,补齐后续追随、验证、反驳或应用它的工作。
  4. 需要读证据时,再用doc_idcontent回到原文。
  5. 需要图表时,再根据相对路径调resource取 Figure/Table。

这条链路背后的判断其实很简单:系统综述的核心不是“找到一篇像的论文”,而是“沿着论文关系继续工作”。

如果拿行业里常见的几类工具做对比,这个差异会更直观:

维度SciverseOpenAlexSemantic ScholarCrossref
结构化元数据检索支持,适合 Agent 筛选链路支持
原文上下文读取核心能力非核心非核心非核心
Figure / Table 资源支持非核心非核心非核心
引用 / 相关工作分页扩展支持,适合工作流继续执行强,但常需自行封装强,但集成方式因场景而异部分支持
面向 Agent 的组合调用强,接口边界清晰常需自行拼装常需自行拼装常需自行拼装

这不是“谁替代谁”的问题,而是谁更适合哪一层。OpenAlex 更像地图,能告诉你学术空间的结构;Sciverse 更像工作台数据层,让 Agent 可以继续做 citation expansion、source reading 和 evidence retrieval。

从架构上看,这类 Agent 最容易犯的错误,就是把三件事混成一件事:

第一,把“论文发现”当成“关系扩展”。
第二,把“元数据命中”当成“证据已经可核验”。
第三,把“返回了相关论文”当成“系统综述已经开始”。

更合理的拆法,应该至少有三层:

架构层输入输出对应 Sciverse 能力
Metadata Layer查询条件、排序要求、筛选规则候选论文池、unique_iddoc_idmeta-catalog+meta-search
Relation Layer目标unique_id、关系方向分页 citation/reference/related works 列表meta-paper-relations
Evidence Layerdoc_id、offset、资源路径原文上下文、Figure/Table、可复核证据content+resource+agentic-search

一旦这样拆,很多科研 RAG 的老问题就变得清楚了。为什么有些系统“看起来能回答”,但写不出像样的 related works?因为它只有 Evidence Layer,没有 Relation Layer。为什么有些系统能列很多论文,却做不出滚雪球检索?因为它把 metadata list 当成了 citation graph。

下面给一个最小可复现的 Python 示例。它不假设任何不存在的 SDK,只使用requests调官方公开接口。以下字段以最新线上文档 / OpenAPI 为准。

importosimporttimeimportrequests BASE_URL="https://api.sciverse.space"API_TOKEN=os.environ["SCIVERSE_API_TOKEN"]HEADERS={"Authorization":f"Bearer{API_TOKEN}","Content-Type":"application/json",}defpost_with_retry(path,payload,retries=3):forattemptinrange(retries):resp=requests.post(f"{BASE_URL}{path}",headers=HEADERS,json=payload,timeout=30)ifresp.status_code==429:retry_after=int(resp.headers.get("Retry-After","5"))ifattempt==retries-1:raiseRuntimeError(f"Rate limited after{retries}attempts:{resp.text}")time.sleep(retry_after)continueresp.raise_for_status()returnresp.json()raiseRuntimeError("Unexpected retry loop exit")# 1) 先用 meta-search 定位一篇目标论文,并拿到 unique_idpaper_search_body={"query":"retrieval augmented generation systematic review","fields":["title","doi","unique_id","doc_id","publication_published_year","publication_venue_name_unified"],"page":1,"page_size":1}paper_result=post_with_retry("/meta-search",paper_search_body)results=paper_result.get("results",[])ifnotresults:raiseRuntimeError("No paper found from meta-search")paper=results[0]unique_id=paper.get("unique_id")doc_id=paper.get("doc_id")ifnotunique_id:raiseRuntimeError("Target paper has no unique_id; cannot call /meta-paper-relations")# 2) 再分页拉取这篇论文的参考文献或被引论文relations_body={"unique_id":unique_id,"relation":"REFERENCES",# 可选: CITATIONS / REFERENCES / RELATED_WORKS"page":1,"page_size":25}relations=post_with_retry("/meta-paper-relations",relations_body)items=relations.get("items",[])total_count=relations.get("total_count")total_pages=relations.get("total_pages")print("Target paper:",paper.get("title"))print("DOI:",paper.get("doi"))print("doc_id:",doc_id)print("relation items on current page:",len(items))print("total_count:",total_count,"total_pages:",total_pages)# 3) 如果需要核验证据,再回到 content 读取原文上下文ifdoc_id:content_resp=requests.get(f"{BASE_URL}/content",headers=HEADERS,params={"doc_id":doc_id,"offset":0,"limit":700},timeout=30)ifcontent_resp.status_code==429:raiseRuntimeError("content endpoint is rate limited; retry later")content_resp.raise_for_status()content_json=content_resp.json()print("content preview:",content_json.get("text","")[:300])

这段代码真正想说明的不是“怎么调一个接口”,而是科研 Agent 的最小闭环应该怎么建:

先确定 paper identity,再扩展 relation graph,最后回到 source context。

如果把这个顺序反过来,只靠agentic-search命中的 chunk 去做系统综述,通常会有两个风险。第一,chunk 很强,但它回答的是“哪段文本相关”,不是“这篇论文在引用网络里站在哪里”。第二,片段召回天然偏向局部语义相似,而系统综述需要的是可追溯的工作边界。

因此,meta-paper-relations的价值不在于“多了一个接口”,而在于它把科研 Agent 从“搜索后结束”推向了“搜索后继续工作”。

当然,这并不意味着语义检索不重要。恰恰相反,Sciverse 的真正优势在于这些接口能串起来。官方llms-full.txt里给出的高层 API map 已经很明确:agentic-search负责 open research question 的 evidence retrieval,meta-search负责 structured discovery,content负责 source reading,resource负责 figure/table retrieval,而meta-paper-relations负责 citation pagination。它们不是互相替代,而是构成了面向科研 Agent 的 AI-ready 科学数据层。

从这个角度看,今天最值得讨论的已经不是“Agent 会不会找论文”,而是“Agent 能不能把论文关系真正跑完”。

对 Literature Review Agent、Systematic Review Screener、Claim Checker 这类应用来说,后者才决定它能不能进入生产级工作流。

评测 / 验证方案

本文未进行实测跑分,仅提供可复现评测方案。

可以用下面这套方法验证一个科研 Agent 是否真的具备“关系扩展能力”:

测试项做法观察指标
种子论文定位meta-search找到 20 篇已知综述论文是否稳定返回unique_id
参考文献扩展对每篇论文调用meta-paper-relationsREFERENCES是否能完整分页,不停在第一页
被引扩展CITATIONS并限制固定页数是否能形成可追踪的后续工作链
原文核验对扩展出的关键论文抽样调用content是否能回到原文而不是只停在 metadata
图表补证对包含图表路径的论文调用resource是否能补齐 Figure/Table 证据

如果一套系统只能完成第一项和部分第四项,那它更像“科研搜索增强”;只有当第二项和第三项也稳定成立,它才更接近“系统综述 Agent”。

最后给一个更直接的判断。

科研 RAG 的下一步,不是再多召回几个 chunk。
系统综述 Agent 的下一步,是让论文之间的关系真正可以被遍历、分页、追溯和复核。

这也是为什么 Sciverse 更适合作为科研 Agent 的调用层,而不只是一个论文搜索入口。

如果你正在用 Cursor、Claude、Codex 或 MCP 搭科研工作流,值得优先试试三件事:先用meta-catalog校验字段,再用meta-search定位种子论文,最后把meta-paper-relations接进 related works 扩展链路。等你的 Agent 真正开始沿着 citations 和 references 工作时,Sciverse 这层“AI-ready 科学数据层”的价值才会完整显现出来。

参考来源

  1. Sciverse 官方文档总览
  2. Sciverse API 文档:Agentic Search
  3. Sciverse API 文档:Meta Search
  4. Sciverse API 文档:Meta Catalog
  5. Sciverse API 文档:Meta Paper Relations
  6. Sciverse API 文档:Content
  7. Sciverse API 文档:Resource
  8. Sciverse OpenAPI JSON
  9. Sciverse Agent Tools 仓库
  10. Model Context Protocol 文档