我让百炼的模型自己上网查了一回天气,顺便翻了它的检索轨迹

起因是一句很客气的拒绝

上周我问模型今天上海天气怎么样,它九秒回我一句"我无法提供实时天气数据,因为我的知识库没有联网更新功能",然后给了三条建议让我自己去查。语气特别好,特别没用。

我之前一直以为这是没办法的事。想让它会查,就得自己搭一套:接个检索服务,或者开个带浏览器的机器,或者写爬虫喂网页。哪个都麻烦,而且搭完之后多轮检索的循环逻辑长在我自己代码里,以后改起来全是我的事。后来发现阿里云百炼的模型自己带联网工具,命令行里多写一个参数就行。我 10 月 27 号试了一下午,把踩到的和看到的都记在这儿。

多写的那一个参数

bl text chat --api responses --tool '{"type":"web_search"}' --message "今天上海天气怎么样" --timeout 120 --max-tokens 400

装命令行在CLI 安装页,一条命令的事;Key 在控制台密钥管理页领。版本我用的 2.5.0。

同一个问题,不带这个参数 9.2 秒摊手,带上 24.5 秒给我一张当天的表:多云到阴,实况最高 23.4 度最低 17.7 度,北风小于三级,湿度七到八成,空气质量良。日期它自己写对了,2026 年 10 月 27 日,周二。

同一个问题,带与不带联网工具的对照

多花的那十五秒,买回来的是一个正确的日期和一份真的预报。说实话这个交换我觉得挺值。

它还会自己开网页

工具参数能重复传。我又加了个 web_extractor,是网页抓取。然后我让它去读官方文档那一页,把参数念回来。74 秒,它开头就说自己已经打开并阅读了那个页面,列了四种搜索策略的名字和默认值。我事后自己开文档对了一遍,逐字一致。

让我愣住的是我全程没告诉它网址、没给关键词、没说读几页。搜几次、读哪几页,是它自己拿的主意。我以前写爬虫那套"我规定它看哪"的思路,在这儿是反过来的。

翻它的账:json 里的轨迹

我不太信"它应该搜了吧"这种话,所以把输出换成了 json。output 数组里躺着十条:四条思考、两次搜索调用、三次网页抓取调用、一条最终回答。用量字段里还有个工具计数,写搜索两次、抓取三次,跟我一条条数的一样。

json 输出里的检索轨迹与工具计数

这件事让我踏实的地方在于,"它到底有没有去查"从此不是我猜的,是可以核对的。以后要是接进什么正经流程,这个计数能进监控。

思考摘要也挺有意思。第一条是"用户用中文问上海今天的天气,我没有实时天气数据,所以我应该去搜"。后面一条是"不同来源给的 10 月 27 日上海数据略有出入,国家气象中心说的是某个值"。它在对账,不是在背。

还有个英文语境的对照更说明问题:不带工具问今天西雅图天气、并报出日期,它先说没有实时数据,然后报的日期是 2026 年 6 月 16 日,而那天是 10 月 27 日。加上工具日期自己就对了。所以"不能联网"和"知道自己不能联网"是两回事。

踩到的三个坑

第一个,输出上限。那次 json 我压到 500 token,它没写完,status 是 incomplete。不是坏了,是我没给够篇幅。第一次看到我还以为链路炸了,白紧张一场。

第二个,超时加输出上限要一起给够。我问它上个月新上架了哪些模型,不带超时参数等了三百秒被壳层掐掉,零输出;带上 300 秒重跑是 205 秒,但 800 的输出上限不够它写完,只拿到一堆"我继续查一下""快接近完整了",没等到结论。两个上限缺一个,拿到的就是半成品。

第三个,token 吃得比想象多。联网那次输入 22789 个,其中 10752 个命中缓存,输出 1225 个,合计 24014。搜回来的网页正文全进上下文,省不掉。要是打算长期跑,容量得按带检索的峰值算。

想自己控制查什么的时候

另一条路是 bl search web,只检索不总结,2.3 秒拿回带标题摘要链接的结果。我那次查联网搜索的资料,第一条是社区博客,第四条就是官方文档页,链接直接能点。想自己挑来源、自己读原文的时候,这条比让模型代读更合适,因为摘要毕竟是它嚼过的。

条数能指定,要三条给三条要八条给八条,不指定给五条。提醒一句:帮助文档写的默认是十,实际不传是五,我按五用;而且它是上限不是保证,冷僻问题要二十条只找得到三条。写分页逻辑的时候别假设一定能拿满,拿不满不是报错,是静默地少给。

这两条路我现在的分工是:要一个"读完的答案"走带工具那条,要一批"我自己看的原料"走检索那条。同一个 Key,同一个命令行,换个参数就是换个用法,不用维护两套东西。

一句诚实话

官方文档把搜索策略分四档,最快那档是默认,多轮检索和带网页抓取的那两档后面标了"启用该策略时,每次调用额外收费"。数额我没抄,用之前自己去核。我这些命令都没显式选策略,命令行里没这个参数,走的是接口默认。

想先在网页上看看,去阿里云百炼控制台逛逛就行。整条路我云上一个资源都没建,既有配置一个没动,从装完到拿到第一个带当天日期的答案,不到十分钟。

posted @ 2026-10-27 18:39  新的白白酱  阅读(13)  评论(0)    收藏  举报