AI智能体靠网页搜索补全知识,但搜索返回的碎片信息让智能体反复抓取页面、解析HTML、提取文本,这笔隐藏的检索税让token消耗暴涨。自建索引把网页预先清洗成完整文档,一次调用直接推理,token成本直降76%。本文拆解三种检索方式的底层差异,揭示跨记录查询的隐藏价值,帮你把AI智能体的搜索账单砍到脚踝。
LLM患上顺行性遗忘症
AI大神卡帕西Andrej Karpathy打过一个比方,LLM(大语言模型)像个得了顺行性遗忘症的同事。这种病很怪,旧记忆全留着,新记忆一个都存不进去。你昨天教他的东西,今天见面他一脸茫然。但你三年前跟他聊过的事,他倒背如流。想象一下,你的同事记得公司2019年的所有项目细节,但昨天开的会、今天发的邮件、刚才聊的决策,他全当没发生过。这种同事你敢把重要任务交给他吗?
LLM的遗忘症表现在两个地方。第一,它记不住你。上一秒聊得热火朝天,下一秒重启对话,它看着你像看陌生人。你花了半小时调教出来的语气、偏好、上下文,刷新页面全没了。第二,它记不住世界。训练数据截止到某个时间点,之后发生的事,股市涨跌、人事变动、产品发布、政策调整,它一概不知。它活在训练截止日之前的平行宇宙里。2024年训练的大模型,对2025年发生的事完全失明。
记忆功能能补上第一个缺口。市面上各种记忆方案,向量数据库、长期记忆层、会话持久化,都在解决这个问题。第二个缺口才是智能体的命门。智能体被雇来干活,干的就是"当下"的事。市场变了、人跳槽了、价格调整了、新闻爆出来了、竞品出招了,智能体得知道。网页搜索就是它的眼睛,搜索质量直接决定智能体有多好用。眼睛不好使,脑子再聪明也白搭。一个得了顺行性遗忘症的博士,配上一副模糊的眼镜,这就是很多智能体的真实写照。
搜索工具装上了,账单却炸了
给智能体装个搜索工具,看起来万事大吉。跑几轮 traces 一看,结果让人想摔键盘。你付的token钱,绝大部分砸进了原始页面文本的抓取和清洗。真正用来回答问题的token,薄得像张纸。这就好比你雇了个博士当助理,结果他八成时间在拆信封、整理文件柜,只有两成时间在做你交给他的正经事。你付的是博士的工资,买到的却是文员的产出。
问题出在搜索API返回的东西上。典型的搜索接口给你一堆链接和三十来字的摘要,没了。智能体拿到的不是网页内容,是网页的目录。它得自己去拉HTML、剥标签、挖可用文本,这些脏活累活全发生在上下文窗口里,按token计费。这叫检索税,智能体在真正推理之前,先烧掉一堆token给内容做预处理。检索税不是一次性开销,是每轮搜索都收的过路费。
单次查询这点开销不起眼。研究任务、简报流水线这种需要多轮搜索的场景,每一轮都交一遍检索税,而且税基越滚越大。因为智能体循环有个讨厌的特性,每次新搜索都要把整个已经膨胀的上下文重新塞进去。第一跳抓了三个页面,第二跳带着这三个页面再搜,第三跳带着前面所有内容继续搜。上下文像滚雪球,检索税像复利,越滚越吓人。三跳之后,智能体的上下文窗口里塞满了它已经读过但不得不重复携带的页面内容,就像一个人背着越来越重的背包爬山,每走一步都更累。
Akshay Pachaar做了个干净实验,问题选的是"Y2K是什么"。这个问题故意挑得特别刁钻,因为LLM训练时就知道答案,推理成本在三组实验里完全一样。多出来的token全是检索开销,没有别的干扰因素。纯记忆回答约600 token,这是基线,相当于智能体闭着眼睛凭记忆回答,零检索成本。单次网页搜索跳约3,750 token,比基线贵了6倍多。但摘要太薄,智能体读完后发现信息不够,得重新抓取、细化。三跳循环爬到约28,700 token。自建索引一次调用约6,900 token,搜索循环比自建索引贵了4倍多,比基线贵了整整48倍。差距就是检索税的实体化,每一笔多出来的token都是智能体在替搜索接口擦屁股。
三种检索方式打了一架
解法不在更聪明的智能体,不在更精致的提示词,在搜索调用返回什么。这个问题很多人搞错了方向,拼命优化提示词工程,给智能体写更详细的指令,让它更擅长从碎片里拼凑答案。但根子问题是输入质量太差,再好的厨师也做不出美味如果食材是烂的。你提示词写得再漂亮,智能体拿到的还是目录和碎片,它再聪明也变不出完整文档。
SERP(搜索引擎结果页)给你URL和摘要,智能体自己上网读。这等于给一个人一张图书馆索引卡,让他自己找书、自己翻书、自己划重点。神经搜索进步一点,返回高亮片段,但仍然是碎片。要拿到完整记录还得再调一次,第二次调用又交一笔检索税。自建索引在查询到来之前就把网页爬完、洗完、存好,返回的是可以直接读的完整文档。爬取成本在索引构建时一次性支付,查询时零额外开销。
拿Christoph Molnar做例子,他是《Interpretable Machine Learning》一书的写作者,机器学习可解释性领域的大牛。三种检索方式搜他的结果天差地别。SERP返回六条结果,每条一个标题、一个链接、一段三十字摘要。智能体拿到的是六个标签页的目录,不是一个答案。它得决定点哪个链接、拉哪个页面、从页面里挖什么信息。每一步决策都在消耗token,每一步执行都在交检索税。点错链接、拉错页面、挖错信息,还得重来,token继续烧。
神经搜索返回几条高亮,"统计学家、机器学习可解释性研究者"、"开源书籍40万+读者",但仍然是片段。它找到了对的人,但信息是零散的。完整档案需要额外调用,额外调用意味着额外token。神经搜索比SERP强在语义理解,能匹配同义词和近义表达,但返回形态本质上还是碎片。你问它"谁写了那本讲黑箱模型解释的书",它能找到Christoph Molnar,但给不了他的完整履历。
自建索引一次返回结构化档案。姓名、职位履历(Mindful Modeler研究科学家,2021年起)、著作(《Interpretable Machine Learning》第三版)、教育背景(慕尼黑大学统计学博士)、网站列表、掌握语言。智能体拿到完整记录,直接开始推理。没有二次调用,没有页面抓取,没有HTML解析,检索税为零。查询成本从"拉页面+解析+提取+推理"压缩成"推理"一个步骤。
Seltz就是按这个思路做的自建索引,三个域对应三种完成的文档,每种域解决一类查询需求。人物域返回完整结构化档案,每个职位带起止时间、教育背景、网站、任职组织。你查一个人,拿到的是他的完整职业画像,不是一段简介。新闻域返回完整文章文本,可以按时间窗口过滤,只拉特定时段发布的内容。做趋势分析、事件追踪时特别有用,不会被旧新闻干扰。维基域返回清洗过的维基百科文档,用来给公司、行业、话题铺背景知识。做深度研究前先扫一遍维基域,建立基础认知框架,再往下钻。
一个注意事项,人物域在总监和区域负责人层级效果最好。这些人网上信息相对完整但又不至于被海量报道淹没,结构化效果最好。最资深的高管,比如世界500强CEO,先用开放网页搜索定位,再用Seltz信息补全( enrichment) 下面的人。不同层级用不同工具,这是检索形态匹配问题的具体体现。
有些答案藏在记录交叉的地方
完整文档的价值不止于砍掉检索税。有些问题不存在于任何单个搜索结果里,答案只在多条记录的交叉处浮现。这种查询叫跨记录查询,或者 join 查询,是数据库领域的经典概念,但在网页搜索场景里几乎没人讨论。
SERP和神经搜索都做不到跨记录查询。它们持有的每条记录都不够完整,无法做 join,活儿又落回智能体头上。智能体得自己记住A页面的一条信息,再去B页面找对应信息,然后在脑子里做匹配。这个过程中,A页面的信息一直躺在上下文里占着token位置,B页面的信息又叠加上去,上下文越来越膨胀,检索税越交越多。智能体像个手工做拼图的工人,每找到一块碎片就得拿在手里,再找下一块,手里越拿越多,效率越来越低。
GTM团队跑过一个真实问题,这个问题在销售领域天天有人头疼:上个季度哪些目标账户招了数据或AI方向的领导。回答这个问题需要两样东西凑在一起,缺一不可。完整的职位履历,用来找谁什么时候换了什么岗位。近期新闻,用来确认时间点和触发事件。单独查人物履历,你知道谁跳槽了,但不知道跳去哪家公司。单独查新闻,你知道某家公司有动静,但不知道具体是谁、什么职位、什么时候上任。两个信息源各说一半,拼在一起才是完整答案。
你查人物域找最近进入数据或AI相关角色的人,拿到一份带时间戳的职位变动清单。再交叉引用新闻域,用公司名和时间窗口做过滤,找触发事件。输出的是一份带排序的 warm accounts 列表,每条都有足够的上下文写一封 相关的首封 outreach(外联,主动联系外面客户信件等)。这个答案网上没有现成的页面,它只在记录 join 之后才存在,而 join 的前提是你手里握着完整记录。碎片化的搜索结果永远拼不出这个答案。
这个场景在B2B销售、投资研究、竞争情报、人才招聘里反复出现。任何需要"谁+在什么时间+做了什么+在哪个组织"这种多维信息的问题,都依赖跨记录查询。自建索引的价值在这里被低估了,它不只是省钱,它解锁了一类原本回答不了的问题。SERP和神经搜索给不了完整记录,所以给不了这类答案。这不是智能体不够聪明,是工具给错了输入。
发现链和深度链应该拆开
Seltz不是开放网页搜索的替代品,它是特定问题的专用工具。开放搜索擅长发现,查谁现在担任什么职位、确认上周发布了什么、读今天早上上线的页面、追踪突发事件。这些查询的特点是时效性强、信息分散、需要广撒网。开放搜索的索引覆盖全网,新页面几小时就能被抓到,这是自建索引比不了的。自建索引的更新周期通常以天或周为单位,追不上分钟级的新闻。
一旦你知道要找什么,Seltz一次返回完整记录,而不是一个标题加一个链接。深度查询的特点是目标明确、需要完整信息、反复验证。查一个人的完整履历、读一篇新闻的全文、了解一个公司的背景,这些场景自建索引完胜。你不会再遇到"摘要太薄需要重新抓取"的尴尬,也不会遇到"高亮片段缺少关键信息"的 frustration。
很多流水线不管问题需要什么,所有查询走同一个搜索工具。发现查询和深度查询混着来,循环两边都交检索税。发现阶段用开放搜索广撒网,深度阶段用自建索引一次拿全。把两种工具链起来,每次迭代拿到匹配问题需求的检索形态。发现走开放搜索,深度走自建索引,每一轮都变便宜。这不是工具替换,是工具分工。就像厨房里既有菜刀又有砍骨刀,切菜用菜刀,剁骨头用砍骨刀,不会有人拿菜刀去砍骨头。
核心论点在这里:智能体循环的成本,模型决定不了多少,搜索调用返回什么才决定一切。返回 完成的文档,你就再也不用为同一批页面付两次钱。如果你在搭处理这类查询形态的循环,自建索引值得一试。检索形态匹配问题,比模型选择问题更重要,也更少人讨论。大家都在比谁的模型更大、谁的提示词更精致,却很少有人问一句:你的智能体拿到的是完整答案还是一张目录卡?
智能体搜索的账单问题,根子在检索形态错配。开放搜索负责发现,自建索引负责深度,链起来之后每次迭代都变便宜。检索税砍掉了,token消耗从28,700压到6,900,智能体终于有钱干正事了。你的AI还在交检索税吗?