Claude 的全新 Deep Research 工具在单次调用中可以处理高达 657 万个 token——这只有庞大的计算预算才能支撑。该系统并非一个单一的语言模型;它作为一个严格的 JavaScript map-reduce 流水线运行,通过分发搜索、获取数据、将观点与三个独立的验证器进行比对,最后合成报告。
为什么这种架构至关重要
大多数 AI 驱动的研究助手提供单一的“提问-回答”界面,让模型一次性生成文本和引用。Claude 的 Deep Research 则彻底颠覆了这种模式。它将任务分解为离散的、类型化的阶段,并强制模型遵守软件约束框架(harness)。设计者构建它的目的是在提供丰富且有据可查的答案的同时,将幻觉控制在范围内。这种方法源自一种自动化的漏洞挖掘框架,即先生成一个假设,然后刻意尝试去证伪它。用研究术语来说,一个观点被提出后,三个对抗性代理(adversarial agents)会在其进入最终合成阶段之前尝试将其驳回。
Map-reduce 工作流
- 分发搜索 (Fan-out search) – 编排器生成并行工作单元,查询一系列数据源。
- 获取数据 (Fetch data) – 每个工作单元提取原始片段、元数据以及任何可用的结构化信息。
- 对抗性验证 (Adversarial verification) – 三个独立的代理接收每一个观点,并被指示在不确定时默认判定为“驳回 (refuted)”。只有收集到足够的肯定票,观点才能存活。
- 合成 (Synthesis) – 存活的观点被缝合进最终的 JSON 报告中,用户可以将其渲染为叙述性文本。
约束框架内部
约束框架(harness)是一层薄薄的代码,定义了语言模型可以执行的操作。其规则表现为一组结构化任务:
- SCOPE – 模型接收研究问题的简明描述。
- SEARCH – 模型必须输出源标识符列表,绝不能是自由文本。
- EXTRACT – 对于每个来源,模型返回一段支持后续任何观点的逐字引文。
- VERDICT – 模型生成一个包含观点、支持引文和置信度评分的 JSON 对象。
- REPORT – 最终阶段将所有经过验证的观点封装进单个文档中。
约束框架强制执行“证据绑定 (evidence binding)”:没有精确引文的观点会被自动丢弃。它还公开了“策略常量 (policy constants)”,无需更改代码即可进行调整——例如观点需要多少张肯定票、系统可以读取多少个来源,或者进入验证阶段的观点最大数量。
在提取和验证之间设有一个分流(triage)步骤。系统不会将每个观点都发送给昂贵的对抗性代理,而是根据重要性和来源质量对其进行排序,然后仅转发前 25 个。这种筛选机制防止了 token 使用量和计算成本失控。
对抗性验证的实践
验证阶段的设计刻意非常严苛。三个代理中的每一个都会收到相同的观点及其来源引文,并在指令集下运行,该指令集要求代理除非找到决定性的证据,否则必须假设观点是错误的。如果任何一个代理不确定,它就会投“驳回 (refuted)”票。观点必须收集到可配置数量的“确认 (affirmed)”票才能存活。
在非正式测试期间,对抗层捕捉到了一个将聚合指标误读为特定精确度评分的观点。模型生成了一个关于精确度的自信陈述,但来源仅报告了一个聚合指标。
该设计揭示了 AI 系统构建的哪些规律
- 将控制与推理分离 – 模型负责推理;约束框架负责执行流程纪律。
- 类型化接口减少幻觉 – 通过要求 JSON 输出和精确引文,系统消除了自由文本带来的偏差。
- 在昂贵的验证步骤之前过滤观点,可以降低 token 使用量和计算成本。
- 将外部输入视为不可信 – 每个来源引文都会由独立的代理重新检查,防止单个错误文档污染答案。
这些原则呼应了向“模型之外的模型 (model-outside-the-model)”架构转变的更广泛趋势,即由确定性代码而非概率性语言模型来处理编排、验证和资源分配。
潜在的缺点与开放性问题
该流水线的优势——其严谨性——同时也带来了挑战。
另一个争议点在于对原文引用的依赖。并非所有知识都存在于精确的措辞中;有些见解只有在综合多份文档后才会显现。
下一步关注点
Claude's Deep Research 仍处于研究阶段,但其架构预示着这样一个未来:大语言模型将被嵌入到受严格控制的工作流中,而不是任其自主决策。需要监测的关键指标包括:
- Token 效率指标 —— 随着调度系统获得更具选择性的筛选逻辑,6.57 M token 的基准是否会缩小?
- 延迟趋势 —— 当三个验证智能体参与其中时,系统返回完整报告的速度有多快?
核心启示
Claude's Deep Research 表明,当被限制在规范的多阶段工作流中时,语言模型可以生成值得信赖且有据可查的回答。真正的突破不在于模型的大小,而在于周围的软件系统——它迫使模型证明每一个主张,在消耗算力之前对证据进行排序,并在三个智能体达成一致之前,将每一个外部片段都视为可疑。对于任何构建 AI 驱动工具的人来说,教训是显而易见的:让模型思考,但让代码决定它能说什么。
