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

📅 2026/8/5 11:44:46
为什么系统综述 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”这么简单而应该是下面这条链路用meta-search定位种子论文拿到unique_id。用meta-paper-relations分页扩展REFERENCES补齐这篇论文依赖的上游工作。再分页扩展CITATIONS补齐后续追随、验证、反驳或应用它的工作。需要读证据时再用doc_id调content回到原文。需要图表时再根据相对路径调resource取 Figure/Table。这条链路背后的判断其实很简单系统综述的核心不是“找到一篇像的论文”而是“沿着论文关系继续工作”。如果拿行业里常见的几类工具做对比这个差异会更直观维度SciverseOpenAlexSemantic ScholarCrossref结构化元数据检索支持适合 Agent 筛选链路强支持强原文上下文读取核心能力非核心非核心非核心Figure / Table 资源支持非核心非核心非核心引用 / 相关工作分页扩展支持适合工作流继续执行强但常需自行封装强但集成方式因场景而异部分支持面向 Agent 的组合调用强接口边界清晰常需自行拼装常需自行拼装常需自行拼装这不是“谁替代谁”的问题而是谁更适合哪一层。OpenAlex 更像地图能告诉你学术空间的结构Sciverse 更像工作台数据层让 Agent 可以继续做 citation expansion、source reading 和 evidence retrieval。从架构上看这类 Agent 最容易犯的错误就是把三件事混成一件事第一把“论文发现”当成“关系扩展”。第二把“元数据命中”当成“证据已经可核验”。第三把“返回了相关论文”当成“系统综述已经开始”。更合理的拆法应该至少有三层架构层输入输出对应 Sciverse 能力Metadata Layer查询条件、排序要求、筛选规则候选论文池、unique_id、doc_idmeta-catalogmeta-searchRelation Layer目标unique_id、关系方向分页 citation/reference/related works 列表meta-paper-relationsEvidence Layerdoc_id、offset、资源路径原文上下文、Figure/Table、可复核证据contentresourceagentic-search一旦这样拆很多科研 RAG 的老问题就变得清楚了。为什么有些系统“看起来能回答”但写不出像样的 related works因为它只有 Evidence Layer没有 Relation Layer。为什么有些系统能列很多论文却做不出滚雪球检索因为它把 metadata list 当成了 citation graph。下面给一个最小可复现的 Python 示例。它不假设任何不存在的 SDK只使用requests调官方公开接口。以下字段以最新线上文档 / OpenAPI 为准。importosimporttimeimportrequests BASE_URLhttps://api.sciverse.spaceAPI_TOKENos.environ[SCIVERSE_API_TOKEN]HEADERS{Authorization:fBearer{API_TOKEN},Content-Type:application/json,}defpost_with_retry(path,payload,retries3):forattemptinrange(retries):resprequests.post(f{BASE_URL}{path},headersHEADERS,jsonpayload,timeout30)ifresp.status_code429:retry_afterint(resp.headers.get(Retry-After,5))ifattemptretries-1:raiseRuntimeError(fRate 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_resultpost_with_retry(/meta-search,paper_search_body)resultspaper_result.get(results,[])ifnotresults:raiseRuntimeError(No paper found from meta-search)paperresults[0]unique_idpaper.get(unique_id)doc_idpaper.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_WORKSpage:1,page_size:25}relationspost_with_retry(/meta-paper-relations,relations_body)itemsrelations.get(items,[])total_countrelations.get(total_count)total_pagesrelations.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_resprequests.get(f{BASE_URL}/content,headersHEADERS,params{doc_id:doc_id,offset:0,limit:700},timeout30)ifcontent_resp.status_code429:raiseRuntimeError(content endpoint is rate limited; retry later)content_resp.raise_for_status()content_jsoncontent_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 retrievalmeta-search负责 structured discoverycontent负责 source readingresource负责 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-relations的REFERENCES是否能完整分页不停在第一页被引扩展调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 科学数据层”的价值才会完整显现出来。参考来源Sciverse 官方文档总览Sciverse API 文档Agentic SearchSciverse API 文档Meta SearchSciverse API 文档Meta CatalogSciverse API 文档Meta Paper RelationsSciverse API 文档ContentSciverse API 文档ResourceSciverse OpenAPI JSONSciverse Agent Tools 仓库Model Context Protocol 文档