跳到正文

DEEP RESEARCH PROJECT INTERVIEW · Q04 / 25

Deep Research 报告有引用就可信吗?多个来源互相矛盾怎么办?

从 Claim 与 Evidence 映射、来源独立性、时间版本和指标口径出发,讲清 Deep Research 报告如何核验引用并处理多来源冲突。

作者与复核:吴师兄内容依据:公开教程、代码示例与工程推导查看关联教程 →查看吴师兄公开作品 →

25 道题目Q04
本页内容23 节

30 秒先说结论

在 Search 和 Visit 阶段建立结构化证据单元,把来源 ID、原文、位置、时间、版本和目标主张绑定。多个来源冲突时先核对对象、版本、时间、指标定义和测试条件,再判断是口径差异、过时来源还是真正无法确认。发布前逐主张检查引用覆盖、支持度、适用性和独立性。

一份研究报告在每段后面都标了来源,看起来很专业。

可点开引用后,常见的问题并不少:来源只提到了相关主题,没有支持报告里的具体数字;三条引用其实都转载同一篇文章;报告引用的是新页面,结论却来自旧版本;两个来源口径相反,Agent 没有解释,直接选了更符合自己结论的那一个。

这说明“报告带引用”和“结论可以核验”不是一回事。

普通 RAG 的引用通常围绕一次回答和几段检索证据展开。Deep Research 的报告更长,结论更多,来源横跨多个网站和时间点,还会经历多轮搜索、摘要和综合。引用链一旦在中间断掉,最终报告仍然可以写得很顺,却很难知道哪一句是事实、哪一句是推断。

所以这道题真正考的是:

Deep Research 怎样让每个关键结论都回到原始证据?多个来源相互矛盾时,系统依据什么判断、怎样表达不确定性,又怎样验证引用不是装饰?

先区分“来源相关”和“来源支持”

一篇文章与某个主题相关,不代表它支持报告里的具体主张。

假设报告写:“方案 A 在当前部署方式下维护成本更低。”引用页面只说“方案 A 部署简单”。它与结论相关,但没有比较对象,也没有给出维护成本口径。报告把“部署简单”扩展成“维护成本更低”,中间多了一层推断。

再比如报告写:“某技术在 2026 年已经默认启用某功能。”引用的是 2024 年的路线图。页面确实提到了该功能,但只能支持“计划支持”,不能支持“已经默认启用”。

因此,一条引用至少要过三道检查。

第一,来源讲的是不是同一个对象、版本和时间。

第二,证据片段是否直接支持当前主张,而不是只在主题上相似。

第三,报告的措辞强度是否超过证据。来源说“可能”,报告不能改成“一定”;来源是单个案例,报告不能扩展成普遍规律。

引用链要从工具返回时就建立

如果 Agent 只把网页正文作为一大段 Observation 塞给模型,等最终写报告时再让模型回忆来源,很容易错配。

更稳的方式是在 Visit 工具返回时就结构化保存证据单元。一个证据单元可以包括来源 ID、页面标题、规范化 URL、发布时间或更新时间、访问时间、相关原文、位置、目标主张和来源类型。

Search 返回的标题和摘要只适合发现线索。关键结论需要进入正文,确认上下文和口径。若页面无法访问,只能把搜索摘要标成弱线索,不能与已核验正文等价。

研究状态里保存的也不应只是“我知道了某事实”,而应是“当前主张由哪些证据支持、哪些证据反对、还缺什么”。这样后续摘要和重规划才不会把来源关系压掉。

从搜索线索到报告主张的证据链

来源要在检索时绑定证据,在报告里绑定主张,不能最后凭记忆补链接。

一条关键主张应该怎样建模?

可以把报告里的关键陈述拆成 Claim。

每个 Claim 保存主张文本、主张类型、适用对象、时间和版本、支持证据、反对证据、当前状态以及表达边界。

主张类型可以是事实、比较、计算结果或建议。

事实主张要核对原文。比较主张需要对多个对象使用可比口径。计算结果要保存输入和公式。建议则必须说明它依赖哪些用户约束,不能伪装成客观事实。

当前状态可以是已支持、部分支持、存在冲突、待验证和公开不可得。

表达边界决定最终怎么写。已支持可以用确定陈述;部分支持需要限定范围;存在冲突要并列来源;公开不可得要告诉读者没有足够证据。

这种结构使引用从排版元素变成研究数据。报告生成只是把已经核验的 Claim 按章节组织,而不是现场发明结论再找链接。

三个链接可能只有一个来源

交叉验证最容易被数量欺骗。

某个新闻最初来自一家公司公告,随后被媒体 A 转述,博客 B 又引用媒体 A。Agent 搜到三个页面,以为是三方一致,实际只有一个信息源。

判断来源是否独立,可以检查页面是否引用同一原文、关键措辞是否高度一致、发布时间是否呈转述链、数字和错误是否完全相同。

独立性并不要求所有来源来自不同类型机构,它要求系统识别传播血缘,不能把同一事实的重复转载算成多方证明。

对关键数字,优先追到原始公告、官方文档、论文或数据表。二手来源可以帮助解释和发现线索,但不应在原始资料可得时替代它。

也要防止另一种极端:盲目崇拜“官方”。厂商文档最适合确认功能和配置,第三方测试可能更适合观察某种环境下的表现。来源价值取决于它能支持哪类主张,而不是给网站排一个永久可信度名次。

多个来源冲突,先不要让模型投票

两个来源给出不同数字,不一定有人错误。

可能比较的不是同一对象版本;时间点不同;测试硬件不同;样本范围不同;指标名字相同但定义不同;一个给平均值,一个给高分位值;一个是实验环境,一个是生产观察。

因此,冲突处理先对齐口径,不能一上来就按来源数量投票。

先对齐对象和版本。功能是否在某个版本后才出现,旧文档仍可能有效,但不适用于当前版本。

再对齐时间。市场、政策和产品能力会变化,发布时间和数据所属期不能混用。

再对齐指标定义。吞吐、延迟、准确率和成本都依赖测量方式,名称相同不代表可比。

再对齐条件。硬件、数据规模、并发、缓存、索引配置和过滤条件都可能改变结果。

最后检查原始出处。某个来源可能只是转述时丢了限定条件。

来源冲突时的口径对齐流程

冲突不一定需要选边,先判断它是事实矛盾还是测量条件不同。

冲突处理后,报告有三种写法

第一种,冲突可以解释。

例如两个性能数字来自不同硬件。报告应分别保留,并说明不可直接横向比较,而不是算平均值。

第二种,某个来源明显过时或不适用。

报告可以采用当前版本的原始资料,同时说明旧说法为什么不再适用。不能静默删除,否则读者无法理解互联网上为什么还有相反信息。

第三种,冲突仍无法解决。

报告应明确并列来源和分歧,说明目前无法下确定结论,并给出下一步需要的证据。真正专业的研究报告允许存在“暂不能确认”。

不应该做的,是让模型根据文风、网站知名度或自己偏好的结论选择一个来源,然后把另一个藏起来。

引用完整性和引用准确性不是一回事

引用完整性关注:报告里的关键主张,有多少提供了来源。

引用准确性关注:已经提供的引用,是否真的支持对应主张。

一份报告可以完整性很高,每句话后面都有编号,却准确性很低,编号链接与陈述并不对应。

也可以准确性很高,但只给少数结论配了来源,大量重要判断没有出处。

还要检查引用位置。把五个链接统一放在段尾,读者很难判断每个来源支持哪一句。更清楚的做法是让引用紧跟具体主张,或在表格中为每个比较单元保留证据 ID。

评估时应先识别报告中的关键 Claim,再逐条判断是否有证据、证据是否蕴含主张、来源是否适用。不能只统计链接数量。

计算结果和建议也需要来源链

研究报告里的数字不一定直接抄自网页,也可能由 Agent 计算得到。

这时引用不能只指向最终数字。系统要保存输入数据分别来自哪里、使用了什么单位、做了什么转换和计算。若两个输入属于不同时间口径,即使算式正确,结果也可能没有意义。

建议类主张同样需要证据链。建议不是事实,但它应明确依赖哪些用户约束和已经确认的事实。例如“更适合小团队”至少要说明团队对运维、部署和预算的要求,以及候选在这些维度上的证据。离开约束,建议就不再成立。

可以把最终报告分成三层:原始事实绑定来源;派生结论绑定事实和计算;建议绑定结论和用户约束。这样读者能够沿着建议回到输入,而不是只看到一句模型判断。

来源质量不能压成一个永久分数

工程上很容易为每个网站设置一个可信度分数,然后优先使用高分来源。

这个方向可以帮助排序,但不能代替主张级判断。

同一个来源在不同问题上价值不同。官方文档适合确认功能与参数,却未必适合证明真实负载下的表现;论文适合说明实验方法,却不一定反映某个产品当前版本;用户讨论可以帮助发现 bad case,但不应单独支持普遍结论。

因此来源元数据可以记录类型、时间、是否原始出处和历史可用性,最终仍要判断“它是否适合支持当前 Claim”。不要因为来源整体评级高,就跳过对象、时间和口径核对。

来源评分还可能制造看不见的偏见。若系统只允许少数高分网站进入报告,新出现但重要的原始资料可能被忽略。评测集应加入权威但过时、非官方但有完整测试条件、同源转载和新发布原始资料等边界样本。

引用链还要处理页面变化

研究报告生成后,来源页面可能更新、移动或删除。

保存 URL 之外,还应记录访问时间、页面标题、证据片段和定位信息。允许保存快照时,要遵守内容授权、隐私和存储策略;不能为了可追溯就无边界复制受限内容。

报告再次打开时,可以提示来源当前是否仍可访问,但不能用今天的页面内容悄悄替换当时证据。历史结论基于哪个时间点,需要保持清楚。

如果来源失效,系统可以寻找官方迁移页面或新的原始出处,并把它作为一次版本更新。旧报告保留原证据状态,新报告说明来源变化,避免引用链在后台被静默改写。

引用编号为什么不能直接写死?

读者看到的引用通常是 [1][2],但系统内部不能把这个展示编号当作来源身份。

报告在编辑、压缩或增加新段落后,展示顺序会变化。如果正文直接保存“引用 3”,而没有保存稳定的 Source ID 和 Evidence ID,重新排序时就可能把原本支持延迟结论的资料,错误地挂到成本结论后面。这类编号错位看起来只是排版问题,实际会破坏证据关系。

更稳妥的做法是让每条主张绑定内部稳定 ID,发布报告时再根据首次出现顺序生成读者看到的编号。表格、摘要和附录也引用同一组内部 ID,不各自复制一套编号。报告发生修改时重新渲染展示编号,但不改变历史证据对象。

这样既能支持正文重排,也方便审计某条结论究竟来自哪次访问、哪个页面版本和哪段证据。编号服务阅读,稳定 ID 服务追溯,两者职责不同。

摘要和演进报告最容易弄丢什么?

长任务会对历史做摘要。如果摘要只保留“结论”,不保留来源 ID、限定条件和冲突状态,最终报告就会出现“结论还在,证据断了”。

例如原始记录是:“在特定硬件和数据规模下,来源 S3 报告某结果;另一来源 S5 使用不同条件,不可直接比较。”

错误摘要可能只剩:“方案 A 性能较好。”

这不只是信息变短,而是把有条件的证据改成了无条件判断。

因此,演进报告或动态摘要至少要保留关键主张、来源 ID、时间版本、限定条件、冲突与缺口。原始正文可以放在外部证据库,需要时按 ID 重新取回,不必把整页永久塞进上下文。

一个教学示例:两份“冲突”的公开测试

下面是结构教学示例,不对应真实产品或真实测试数字。

来源 A 声称某方案“查询更快”,测试条件是单用户、数据已缓存、小规模数据集。

来源 B 声称同一方案“延迟更高”,测试条件是多用户、带结构化过滤、较大数据集。

这两份结果不能用多数投票,也不能简单平均。

Agent 应先抽取共同字段:版本、硬件、数据量、并发、过滤、缓存状态、指标定义。对齐后发现二者测量的是不同工作负载。最终报告可以写:“现有公开结果覆盖不同场景,无法形成统一性能排序;在无过滤的小规模条件下来源 A 更有利,在带过滤的并发条件下来源 B 观察到更高延迟。当前项目需要按自身负载复测。”

这里的专业性不来自选出赢家,而来自拒绝制造不可比的结论。

四类引用 bad case 怎样定位?

Bad case 一:引用页面相关,但不支持数字

先定位数字第一次在哪一步出现。它来自工具正文、模型计算,还是生成阶段自行补出。没有证据记录的数字应删除或降级,不要继续给它找一个主题相关链接。

Bad case 二:编号错位

报告多次改写后,原来的引用编号与来源列表顺序发生变化。解决方式是内部始终使用稳定 Source ID,展示层最后再渲染编号,不能在正文里直接维护易变的 [1][2]

Bad case 三:摘要丢了限定条件

检查从原始证据到演进报告、再到最终报告的每次状态更新。需要把条件和冲突状态设成不可丢字段,并对摘要做信息保留测试。

Bad case 四:多个来源其实互相转载

检查引用链、正文相似度和发布时间,找到最初出处。报告可以保留不同解读,但不能把转载数量写成独立共识。

怎样做报告发布前核验?

第一步,抽取关键 Claim。优先检查数字、时间、比较、因果和建议依据。

第二步,检查每个 Claim 的证据覆盖。没有来源的事实主张进入待修复队列。

第三步,检查蕴含关系。证据是否直接支持主张,主张有没有扩大范围或增强语气。

第四步,检查来源适用性。对象、版本、时间和条件是否一致。

第五步,检查来源独立性和冲突。多个链接是否同源,反对证据是否被遗漏。

第六步,检查引用可访问性。页面失效时是否保留标题、时间、片段和替代入口;但也要遵守内容授权和隐私要求。

第七步,人工抽检高风险结论。自动评估适合批量发现问题,影响决策的关键主张仍应保留人工复核。

Deep Research 报告的引用质量矩阵

链接多不等于证据好,覆盖、支持、适用和独立需要分开检查。

引用评测集应该怎样准备?

准备一组明确支持的样本,证据原文能直接蕴含主张。

准备一组主题相关但不支持的困难负样本,检验系统是否只做语义相似匹配。

准备一组时间和版本不一致的样本,检验适用性。

准备一组同源转载,检验独立性。

准备一组合理冲突和真正矛盾,检验口径对齐和不确定性表达。

准备一组资料不可得的任务,正确答案应包含信息缺口,而不是虚构引用。

评估结果按错误类型拆分,才知道应该修检索、证据存储、摘要、报告生成还是引用渲染。

面试官继续追问,怎么接?

追问一:是不是至少两个来源才算可信?

不是固定数量问题。某些事实由唯一权威文档定义,一个原始来源已经足够;某些比较或争议结论需要多个独立来源。关键是来源类型与主张匹配。

追问二:官方来源一定比第三方来源好吗?

官方资料适合确认功能、规则和版本,第三方资料可能更适合观察特定负载下的表现。不能给来源永久排名,要判断它能支持什么主张。

追问三:怎样判断引用支持主张?

先做规则检查对象、数字、时间和否定关系,再用模型按明确 Rubric 判断蕴含,最后对高风险主张人工抽检。模型判断也不是事实裁判,需要持续校准。

追问四:页面后来更新或失效怎么办?

保存访问时间、页面标题、证据片段和稳定来源 ID;允许时保留受控快照或归档定位。报告要说明结论基于哪个时间点,不能假设网页永远不变。

追问五:引用和交叉验证会不会让任务太贵?

会增加动作,所以应按主张风险分级。关键数字、比较和建议依据优先核验,低风险背景信息可以采用较轻流程。不能为了所有句子形式一致而重复搜索。

面试现场如何讲清引用闭环

我不会等报告写完后再补链接,而会在 Search 和 Visit 阶段建立证据单元,保存稳定来源 ID、原文片段、位置、时间、版本和它支持的主张。研究状态里维护每个 Claim 的支持证据、反对证据和当前状态,最终报告只是把已经核验的 Claim 组织起来。

多个来源冲突时,我不会直接投票,而会先对齐对象、版本、时间、指标定义和测试条件,再检查是否来自同一个原始出处。冲突可以由口径解释时分别保留;某个来源过时则说明不适用原因;仍无法确认时并列分歧并标记信息缺口。

评估会把引用完整性和准确性分开。先抽取数字、比较、因果等关键主张,再检查有没有证据、证据是否直接支持、来源是否适用和独立。还要测试摘要是否保留来源和限定条件。最终要让读者能够从每个关键结论回到真正支持它的证据,链接数量本身没有意义。

引用系统发布前检查清单

你的引用链经得起这五问吗

不要只展示最终报告里的链接数量,沿着一条关键主张往回查,看看证据链是否真的闭合。

  • 你的系统是否保存原文片段和位置,还是只有 URL?
  • Search 摘要与 Visit 正文是否被区分为不同证据等级?
  • 摘要是否保留来源 ID、时间、版本和限定条件?
  • 能否展示一个来源冲突的真实脱敏案例?没有就把流程写成设计方案。
  • 是否测过引用支持度,而不是只统计引用数量?

一份可信的 Deep Research 报告应做到:每个关键结论都能被证据支持,无法支持的部分则诚实地留在边界之外。 每段机械附一个链接,并不能替代这项要求。

INTERVIEW FOLLOW-UPS

面试官会怎样继续追问?

这些追问会继续检查方案取舍、验证方法和项目事实。
  1. Q01

    是不是至少两个来源才算可信?

  2. Q02

    官方资料一定比第三方测试更可靠吗?

  3. Q03

    怎样自动判断证据是否支持报告主张?

  4. Q04

    网页更新或失效后,历史报告怎样继续核验?

PROJECT CHECK

换成你的项目,这几件事能否说清楚?

  • 关键主张绑定稳定来源 ID 和原文位置
  • 区分搜索摘要与已经核验的网页正文
  • 冲突来源对齐版本、时间、指标和条件
  • 引用评测同时检查完整性和支持度
用自己的项目经历练一次