如果你的研究产出是要进一条记录、而不是摆在人眼前,那么这四家里只有一家能告诉你哪个来源支撑哪个字段——而这一处差别,压过你将读到的所有「报告质量」比较。搜索 API 返回的是文档,把智能体循环留在你的进程里。研究 API 把那个循环拿走了,而这既是它的产品也是它的代价:你不必再为编排付钱,也不再能给它插桩。
一览
四项服务,都接收一个问题、返回研究结论,而那个循环在电线的它们那一侧。
| 服务 | 接口 | 默认语料 | 计费单位 |
|---|---|---|---|
OpenAI deep research(o3-deep-research、o4-mini-deep-research) | Responses API,后台模式 | 默认没有——你必须挂上 web_search_preview 和/或一个 MCP 服务端 | 按令牌:输入 $10/M,输出 $40/M |
| Gemini Deep Research agent | Interactions API,仅异步,仅付费层 | Google 搜索、URL Context、代码执行 | 按任务:标准档约 $2,Max 档约 $5 |
| Perplexity Sonar Deep Research | chat-completions 形状 | Perplexity 自家索引 | 五个计量表,见下 |
| Exa Research / Exa Agent | REST,同步或异步 | Exa 的神经索引 | 按请求:每千次约 $12–15 |
价格为撰稿时的目录价,且这四家在过去半年里都改过价;把比例关系当作耐久的,把绝对数字当作易腐的。
你买的究竟是什么
在搜索 API 之上造一个研究智能体,循环得你自己写:拆解问题、发出查询、抓取并阅读、判断证据够不够、再发查询、综述成文。大概三百行,很琐碎,而你全部的成本与全部的失败模式都住在那里。这些步骤里的每一步,同时也是你自己追踪里的一段 span,由你自己的评测来打分。
研究 API 把那三百行删掉了。作为交换,规划、查询扩展、「读还是跳过」的决定以及停止规则,全都挪到了一条你看不穿的 API 边界之后。回来的是一份报告和一串来源。你可以端到端地评测那份报告——而端到端也是你唯一能评测它的方式,因为产生它的那条轨迹不归你。
这是一笔正当的交换,而且往往是对的那一笔。它不再是对的,恰恰在有人问「这个答案为什么是错的」那一刻——因为诚实的回答是:这份报告,是由你正想调试的那个系统写的一份摘要。下面全部的内容,都是在讲这四家里哪一家在那一刻能给你更多可用的东西。
没人列进表格的那根轴:引用到底是什么
四家都在宣传引用。它们用这个词指的是两样不同的东西,而两者之间的落差是这次比较里最大的一处差别。
一份参考文献不是逐条论断的保证
OpenAI 的 deep research 模型与 Perplexity 的 Sonar Deep Research,交还的都是散文加上一组 URL。这些 URL 是真的,也真的被访问过。它们不是的那样东西,是「某一条具体断言」与「支撑它的证据」之间的绑定。如果报告说某个阈值是 40 毫秒、并列出九个来源,你无法用程序判定这九个里哪一个——如果有的话——含有那个数字。一个人可以读九个页面去核。一个下游系统则根本核不了。
Gemini 处在中间。Deep Research agent 提供的是按论断的细粒度出处,而不只是一份文档清单;这对读者而言是实质性的改善,但仍然不是一份机器契约:你拿到的是一次归因,而不是「你要的那个 schema 里、某个字段上有一个值」。
字段级依据是另一种产品
Exa 是那个异类,也是这次比较之所以成立的原因。你传入一个 outputSchema;拿回的是符合该 schema 的 output.content,以及 output.grounding——按字段携带引用与置信度。那不是一种更好看的引用格式。那是「一份你读的文档」与「一条你可以写进数据库、出处列已经填好的记录」之间的差别——也正是前一篇讲权威记录里由智能体填入的值的文章主张你绝不该缺着它就发出去的那样东西。
判断规则很短。如果产出由人来读、由人来据以行动,一份参考文献就够了,你该去优化报告质量。如果产出要去填字段——一条 CRM 记录、一张定价表、一份尽调清单、一个评测集——你需要绑定到字段上的依据,而今天这会把候选收窄到一家。想靠再叫一个模型把论断与来源对齐,来给散文报告事后补上字段级依据,是一个已知的坏套路:你只是加了第二次没有依据的生成,然后管它叫验证。
谁的语料,以及你能不能往里加东西
第二处真正的分野,是这个循环能不能被指向任何属于你的东西。它比营销说辞所暗示的要清晰得多。
- OpenAI 要求你至少选一个。一次 deep research 请求必须挂上至少一个数据源:
web_search_preview、一个远程 MCP 服务端,或者两者;code_interpreter可以一并使用。那个 MCP 服务端不是普通的那种——deep research 模型期待一种特定的形状:一个返回 top-k 标识符的search工具,和一个把这些标识符解析成文档的fetch工具。这条约束是在干实事:它逼着你的语料进入与网页工具相同的「先检索再阅读」接口,而这正是那个循环能够对两类来源一视同仁的原因。 - Gemini 支持远程 MCP 服务端与文件检索,但不支持自定义函数调用。你可以把这个智能体限制在网页上(Google 搜索加 URL Context)、限制在私有来源上(文件检索加你的 MCP 服务端),或者两者混合。你做不到的是递给它一个任意函数——所以一个需要在循环中途调用你自家定价服务的研究任务,超出了它的范围;绕路的办法是把那个服务包装成一个 MCP 服务端,硬给它套上它本来没有的 search/fetch 语义。
- Perplexity 与 Exa 就是公开网络,没有别的。两家都做得很好,也都没装作不是这样。如果你的研究问题需要你的内部 wiki、你的数据室或你的工单历史,这就是选错了产品层级,而且靠往提示词里塞上下文是替代不了的——你等于在要求模型去推理一些它根本取不到的文档。
所以「自建还是购买」这个问题不是关于质量的。它是关于你的研究语料是不是公开的。如果是,就买;这些厂商做网页研究,会比你的循环做得好。如果答案有一半住在你公司内部,那你是在 OpenAI 与 Gemini 之间按 MCP 的使用手感做选择,要不然就回到在自家的智能体式检索层之上把循环写出来。
钱:四种无法通约的计量表
写出来,撰稿时的目录价是这样:
OpenAI o3-deep-research $10 / M input $40 / M output
Gemini deep-research ~$2 / task (standard), ~$5 / task (Max)
underneath: Gemini 3.1 Pro at $2 / M in, $12 / M out
plus Google Search grounding at $14 / 1K queries
(~80 queries standard, ~160 Max; implicit caching
covers 50-70% of input tokens)
Perplexity sonar-deep-research $2 / M input $8 / M output
+ $2 / M citation tokens
+ $3 / M reasoning tokens
+ $5 / 1K search queries
Exa research w/ schema ~$12-15 / 1K requests
agent fixed modes $0.012 (Minimal) - $1.00 (X-high) / run
不先把循环深度定死,这些根本没法比;而循环深度是厂商的决定,不是你的。一个按令牌计费的服务没有天花板:一个触发四十次检索的问题,花的是一个触发十次的问题的四倍,而你的请求里没有任何东西说过该跑几次。这就是 OpenAI 的计量表与 Exa 的计量表之间的全部差别。
- Gemini 的按任务价格是这一组里最诚实的那件东西,恰恰因为分项就公布在它下面。八十次接地查询按每千次 14 美元算是 1.12 美元的检索,装在一个 2 美元的任务里——这立刻告诉你推理几乎是白送的、检索才是产品。它同时也告诉你:那个固定价只在查询预算成立时才成立。
- Perplexity 的五个计量表最不可预测,而原因是其中那两个不寻常的:引用令牌与推理令牌,都是你既不指定、事先也看不到的量。单价各自都很低。方差可不低。
- Exa 的固定档位是用一个封顶的努力等级换来的可预测性。从 Minimal 到 X-high 是一个你逐次运行去拨的旋钮——这对生产流水线是对的形状,对一个「事后发现很难、值得多跑一阵」的问题则是错的形状。
- 没有谁为重试买单。当一次运行交回的报告过不了你的质量门,你就得再付一次。把你那道门的通过率折进上面的每一个数字之后再去比——一个价格只有七成、通过率只有六成的服务其实更贵,而这与别处的每成功任务成本是同一套算术。
它们全都是作业,不是调用
这四家每一次运行都要好几分钟,其中两家干脆不装:Gemini 的 Deep Research agent 仅支持异步,而 OpenAI 的 deep research 模型本就该用后台模式来驱动,因为一个同步请求撑不到运行结束。Exa 两种形状都提供,而在最便宜的那几档之上,你想要的是异步那种。
随之而来的运维后果,是团队往往很晚才发现的那部分。你需要一个地方持久化作业句柄、一个轮询器或一个 webhook、一次不会把已完成作业重跑一遍的重试、一个在第九分钟失败时安放部分结果的位置,以及一套面向用户的「等待」说法。这正是你本想靠买下循环来跳过的那套持久状态设施——买下循环免掉的是研究步骤的编排,不是作业的编排。
还有两件更小但会咬人的事:
- 语料是不可信输入,而那个循环是自主去读它的。一个研究智能体的全部工作,就是抓取并阅读陌生人写的页面,而这四家里有三家还会跟着链接走。回来的东西是数据,不是指令;而「循环归厂商所有」这件事并不能让它变成厂商的问题——报告落进的是你的上下文窗口。参见提示词注入。
- 报告很长,而长度是一笔下游成本。一份六千词的报告,在此后消费它的那个智能体的每一轮里都是八千令牌。在服务允许的地方,去要你需要的那个 schema,别要那篇散文。
什么时候选哪个
| 情形 | 选 | 为什么 |
|---|---|---|
| 产出要去填一条记录里的结构化字段 | Exa | 唯一带置信度的字段级依据;其余都得靠第二遍无依据的处理来假装有 |
| 答案有一部分住在内部系统里 | OpenAI 或 Gemini | 两者都接远程 MCP 服务端;OpenAI 强制 search/fetch 形状,Gemini 禁用自定义函数 |
| 由人读报告、由人做决定 | Gemini 或 OpenAI | 产出最长、综述最好;Gemini 的按论断出处是更好的阅读体验 |
| 高吞吐,每条的预算固定 | Exa 或 Gemini | 按请求与按任务计价是仅有的两种能让你做预测的;令牌计量表封不了顶 |
| 新鲜度比深度更要紧 | Perplexity | 专为研究而建的 API,跑在一个实时索引之上,也是四家里出首个结果最快的 |
| 你要的是轨迹,不只是答案 | 一个都别选 | 在搜索 API 之上把循环写出来——这是这一整个品类服务不了的情形 |
常见问题
研究 API 是不是就是搜索 API 上面套了个提示词?
不是,而差别在于那个循环,不在于提示词。搜索 API 回答一条查询;研究 API 规划一串查询、决定读什么、决定什么时候够了、并写出综述。你买的,与其说是检索,不如说是那条停止规则。
哪一家产出的报告最好?
对由人来读的那类又长又难又含混的问题,OpenAI 与 Gemini 一贯最深入,而 Perplexity 是最快抵达「够用」的那个。这个排名也是本文里最不耐久的东西——它今年已经变过两次,而且它是一根不该用来定架构的轴。
另外三家能弄出字段级引用吗?
原生不行。常见的绕路办法是再跑一遍模型,把报告里的句子映射到来源清单上,而这产出的是一批本身也没有依据的、语气笃定的对齐结果。如果你需要的是保证,就从那个在检索期间把它算出来的服务那里拿,别从一个事后对齐器那里拿。
它们会读我的私有数据吗?
OpenAI 与 Gemini 可以,通过远程 MCP 服务端——OpenAI 明确要求 search/fetch 接口,而 Gemini 另外提供文件检索、同时不支持自定义函数调用。Perplexity 与 Exa 只检索它们自家的网页索引。
我该怎么评测这类服务?
搭一组你已经知道答案、且无法从单个页面上答出来的问题,然后给三样东西打分:答案本身、对你已知存在的那些来源的召回,以及报告断言了「任何被引来源都不含有的内容」的比率。只有第三样不常见,而它正是把这四家分开的那一样。参见为什么智能体评测很难。
自己写循环是不是更便宜?
按单任务算,通常是——前提是你已经有一份搜索 API 合约和一个外壳。按总账算,通常不是,直到量大到你的工程时间能摊薄为止——而那个交叉点不取决于每次调用的价格,取决于你是否需要那条轨迹来做评测或调试。是那个需要、而不是价格,才是把循环留在自己手里的理由。
延伸阅读
本站相关:
- 智能体式检索——这些服务卖的那个循环,一步步写出来。
- 研究智能体——自建而非购买时的实战手册。
- 轨迹——为什么那份报告是由你正在评判的系统写的一份摘要。
- 幻觉与依据——一次引用要绑到什么上,才算值点什么。
- 单位经济性——比较那些根本不是同一把尺的计量表。
- Brave、Exa、Tavily 与 Parallel——这一切底下的那层搜索 API。