搜 25 轮从 35.8 分干到 89 分,可它答错那次搜得最狠

cover

Hello,我是飞飞。

我那条抓资料的链路跑了大半年,有个参数我从来没量过:一个题该搜几轮才收手。

全凭手感。感觉差不多了就停,感觉没搜够就再来一轮。

OpenRouter 前天发了个网页搜索的实时基准,把「模型、搜索引擎、搜索方法、预算」四类配置摆在一起测。我读完发现,我那套手感两头都不对。

先撇清一下。八月八号我写过 Kitesurf,聊的是 agent 浏览器跟我那套 playwright 加 jina 的双通道谁更省,重心在抓取那一层怎么翻 403 那堵墙。这篇不重讲反爬,只谈另一个我一直没碰过的参数:搜多深。

我那条链路一直没量过

先交代我在跑什么,好让你知道这些数落到哪。

我有个 skill 叫 content-researcher,专门给写稿抓料。主力是 playwright,启一个真实 Chromium 去抓页面;被 403 或者超时挡回来,退到 jina.ai 把页面转成干净的 markdown。两条腿配合着,大部分站能过。

这条链路我磨了大半年,踩的坑都很具体。Chromium 版本升了跟 playwright 不兼容,某个站改了反爬突然全 403,jina.ai 偶尔限流返回空内容。

可你注意,这些全是「抓得到抓不到」的问题。

「该搜几轮」这个参数,我压根没当成一个可以调的东西看过。它就在那儿,是个默认值,我从没问过它该是多少。

多搜到底值不值

OpenRouter 这份榜里最直观的一组数,是 Claude Opus 5 在 BrowseComp 上配 Perplexity 引擎跑出来的。

搜 1 轮,准确率 35.8%,每题花 0.14 美元。

搜 5 轮,66.5%,0.51 美元。

搜 25 轮,89.0%,0.99 美元。

我盯着这三行看了半天。

从 1 轮到 25 轮,分数从 35.8 干到 89,是两倍半。钱从一毛四涨到九毛九,七倍。官方那句总结写的是「分数大约翻倍,成本只多 2.5 到 7 倍」。我按这组数自己算了一遍,分数其实涨了 2.5 倍,成本正好顶在 7 倍那个上限。

打个比方,这像打井。往下打五米见了水,再往下打二十五米水更旺。多花的力气是有的,可换来的水量比力气涨得快。

真正让我上心的是中间那个 5 轮。

从 1 轮到 5 轮,准确率涨了 30.7 个点,钱花了 3.6 倍。从 5 轮到 25 轮,再涨 22.5 个点,钱只多了不到一倍。

也就是说,前几轮最值,后面每一分越来越贵,可绝对成本还压在一美元以内。

我那条链路默认搜几轮,我现在都说不上来。但我敢说,肯定不是二十五轮。

榜里还测了一个维度,我读了两遍才反应过来自己也没调过:搜索方法。

一种是插件式的,你给一次查询,它搜一次,回来一批结果就完事。另一种是把搜索当工具交给模型,让它自己决定要搜几次、每次搜什么、看完再要不要接着搜。

说白了,这两种的差别不在搜的次数多少,在谁来决定停不停。

我那条链路是前一种。我给一批关键词,它抓回来,我看着办。它没有「我看完这批觉得不够,再自己拟几个词接着搜」的权力。

这事我以前没觉得是个问题,因为我一直把 researcher 当成一双手,不是一个脑子。现在看,这个选择本身就把上面那条「多搜很值」的收益给锁死了一半,它压根没有多搜的权限。

换模型比换引擎管用

另一条结论我一读就笑了,因为它把我一直靠手感干的事验证了一遍。

原文的说法是:模型不动只换引擎,分数平均差 10 分;而前沿模型跟低成本模型之间,平均差 15 分。

接着打井那个比方。换个引擎像换钻头,有用;换个模型像换打井的师傅,更管用。

这条为什么让我笑。七月我写过一篇,讲搭 agent 别一上来就选模型。里面说我拿脑子当调度器,看一眼这活多难,再决定派给哪一档。格式转换、打标签、粗筛这类死板活,早就切到便宜模型上了。那会儿是纯手感,账也算过:六个 skill 全用 Sonnet 一个月吃掉我 19% 的额度,按任务分档之后降到 8% 到 9%。

现在有人拿数据把这条说了一遍。我那点肌肉记忆,方向是对的。

还有个数值得记:前沿模型换不同引擎,成本能差 2.5 倍;便宜模型只差 1.5 倍。你要是用贵模型,引擎选错了,钱包比分数先有感觉。

榜里还有一条我完全没想到的。GPT-5.6 Luna 搜 25 轮花了 111 秒,搜 1 轮反而要 140 秒。

多搜二十四轮,还快了半分钟。

你知道吗,我琢磨了半天这事怎么可能。大概是搜 1 轮的时候资料不够,模型只能自己在那儿硬想、反复推敲。搜到 25 轮资料齐了,它不用绕了,直接就答出来。

这条对我挺有冲击。我一直默认「搜得多等得久」,所以下意识地不敢往多了配。要是这个现象在别的模型上也成立,那我那个顾虑就是假的。

答错那次它搜得最狠

还有一条结论,是这份榜里最反直觉、也最扎我的。

原文说,失败率高的任务,降低搜索深度反而是省钱的有效路子。

我第一反应是这不对啊。越难的题不是越该多搜吗。

往下读看到了机制,我就服了。

WideSearch 那套题里,模型答对的时候平均搜 17.6 次,答错的时候搜 23.4 次

说真的,这个数比什么都直白。模型答不出来的时候不会停,它会把预算耗光,搜得比答对时还多,然后交一份错的给你。

这一下把我那条链路里最烦的画面解释清楚了。

我见过 researcher 卡在某个站上反复重试,日志刷得飞快。我以前的理解是它在努力,是这个题难。现在看,那多半是它已经找不到了,只是还没停。

回到打井。往下打五米二十五米都值,可要是这块地压根没水,你打到一百米也是白打,而且越往下越贵。

所以该不该多搜,不在这题重不重要,在它搜不搜得出来。

我下周先动哪一处

得先把边界说清楚,这条挺关键。

这份榜是 OpenRouter 自家发的,没有第三方复现。更要紧的是它的测法:每次搜索只取十条结果,不做页面抓取,也不执行代码。原文自己也点了这一层,说市面上多数榜测的是完整 agent 产品,而它这套是专门把搜索配置单独拎出来测。

我那条链路恰恰是要抓完整正文的,playwright 抓页面、jina 转 markdown,都是这份榜里没测的部分。

所以这些数我拿来当方向看,不当我自己链路的预期值。真要知道我那条搜几轮最划算,只能自己量。

下周我打算动两处。

一处是把「搜几轮」从默认值变成一个我真正调过的参数。先看它现在是多少,再按题的类型分开设。

另一处是给它加一个早停。既然答错的时候它反而搜得更多,那就不能让它无限往下打。搜到一定轮数还没拿到能用的东西,就停下来转人工,别把预算烧在一口没水的井上。

早停这事说着简单,真写起来卡在一个地方:怎么让它知道自己「没拿到能用的东西」。

搜回来一堆结果,它是不缺东西的,缺的是对的东西。这跟我之前踩的另一个坑同源,工具调用返回成功不代表拿到的内容是对的。

我暂时想到的土办法是数一个具体的东西:这一轮搜回来的结果里,有没有出现之前没见过的信源域名。要是连着几轮翻来覆去都是那几个站,基本可以判定这条路走到头了。这个判据我还没写进去,下周试。

给你一个今天就能做的动作。把你的调研任务分成两类:一类是「网上肯定有,只是得多翻几页」,一类是「大概率查不到,得靠人问或者靠自己算」。

前一类舍得给轮数,后一类早点收手。分错了,钱和时间两头都亏。

最后想问问你:你那个调研 agent 搜几轮收手,是拍脑袋定的,还是真量过?如果量过,你的拐点在第几轮?评论区聊聊,我下周调完回来摆一下改前改后。