如果你在过去二十年里分别做过搜索引擎、广告系统、推荐系统,再到今天做AI Agent,你可能会有一个越来越强烈的感觉:这不就是同一个生意吗?
表面上看,Google做搜索、Meta做广告、抖音做推荐、OpenAI做Agent,四个完全不同的产品形态,四个不同的技术栈,甚至四个不同的行业叙事。但如果你把外壳剥掉,盯着底层看,会发现一个令人不安的事实:这四代系统的核心逻辑,从来没有变过。
它们都在做同一件事——在信息过载的世界里,帮用户匹配到最相关的东西,然后从匹配效率的提升中抽税。
一、四代系统,一个公式
先把四代系统并排放在一起看:
系统 用户侧 供给侧 系统做的事
───────── ────────── ────────── ──────────────
搜索引擎 一个query 十亿个网页 匹配最相关的10条
广告系统 一次页面展示 十万个广告主 匹配最该展示的广告
推荐系统 一个用户画像 百万条内容 匹配最可能感兴趣的
Agent系统 一个用户意图 千个工具和知识源 匹配最该执行的动作
# generated by hugo's coding agent
看出来了吗?无论系统怎么进化,它始终在解决同一个问题:
从海量供给中,为特定需求,选出最优匹配。
这不是比喻。如果你把四代系统的技术架构画出来,会发现它们共享同一条流水线:
意图理解 → 候选召回 → 精排打分 → 结果交付 → 反馈学习
│ │ │ │ │
│ 搜索:Query理解 倒排索引 BM25/LTR SERP展示 点击率
│ 广告:用户画像 广告库匹配 CTR预估 竞价展示 转化率
│ 推荐:兴趣建模 协同过滤 深度排序 Feed流 停留时长
└── Agent:意图解析 工具检索 规划选择 执行输出 任务完成率
# generated by hugo's coding agent
五个阶段,一个没多,一个没少。 每一代系统只是把每个阶段的实现方式换了一遍,但架构的骨架从未改变。
二、意图理解:从关键词到自然语言,进化的只是界面
搜索引擎时代,用户的意图被压缩成几个关键词。你想找"北京周末适合带孩子去的博物馆",但你输入的是"北京 博物馆 亲子"。系统要做的是从残缺的信号中猜测完整的意图——这就是Query理解、Query改写、同义词扩展存在的原因。
广告系统更极端:用户根本没有表达意图。系统要从用户的浏览历史、地理位置、设备信息中推断用户可能对什么感兴趣。这是一种没有query的搜索。
推荐系统走得更远:不仅没有显式query,连"用户正在寻找什么"这个前提都不存在。系统要从用户的行为序列中建模一个持续演化的兴趣向量——用户自己都不一定知道自己想看什么,系统替你做决定。
到了Agent系统,似乎画了一个圆:用户又开始用自然语言表达意图了——“帮我订明天下午的会议室,要有投影仪的”。但Agent要做的意图理解,远比搜索引擎复杂:
# 搜索引擎的意图理解
def understand_search(query: str) -> list[str]:
"""把 query 拆成关键词和意图分类"""
return extract_keywords(query), classify_intent(query)
# Agent的意图理解
def understand_agent(message: str, context: dict) -> ActionPlan:
"""理解自然语言意图,结合上下文,生成可执行计划"""
intent = parse_intent(message)
constraints = extract_constraints(message) # 明天下午、有投影仪
history = context.get("conversation_history", [])
user_prefs = context.get("user_preferences", {})
return plan_actions(intent, constraints, history, user_prefs)
# generated by hugo's coding agent
进化的方向很清楚:从用户适应系统(学会输入关键词),到系统适应用户(理解自然语言)。但底层在做的事——把模糊的人类需求转化为系统可处理的结构化意图——从来没变。
三、候选召回 + 精排:永恒的两阶段范式
所有这四代系统都面临同一个工程约束:你不可能对所有候选都做精细评估。
Google有万亿网页,你不可能用BERT对每一个网页做相关性打分。广告系统有十万个广告主,你不可能对每个广告都跑一遍CTR预估模型。推荐系统有百万条内容,你不可能对每条内容都做深度排序。
所以,所有系统都收敛到了同一个架构:先粗筛,再精排。
全量候选 ──[召回]──→ 千级候选 ──[粗排]──→ 百级候选 ──[精排]──→ 最终结果
搜索:倒排索引 → TF-IDF初筛 → Learning to Rank
广告:定向条件 + 预算过滤 → 粗排CTR模型 → 精排CTR + 竞价
推荐:协同过滤 + 向量召回 → 双塔模型 → 多目标精排
Agent:工具描述匹配 → 相关性过滤 → LLM规划与选择
# generated by hugo's coding agent
Agent系统也逃不开这个范式。当一个Agent有1000个可用工具(tool/function)时,你不可能把所有工具的描述都塞进LLM的prompt——context window装不下,成本也扛不住。所以Agent系统同样需要:
- 召回阶段:用embedding相似度或关键词匹配,从1000个工具中筛出20个最可能相关的
- 精排阶段:把这20个工具的描述放进LLM的context,让LLM决定用哪个
这不就是搜索引擎的倒排索引 + Learning to Rank的翻版吗?只不过"排序模型"从GBDT换成了LLM。
排序的本质:预估一个分数
更深层地看,无论是搜索的相关性排序、广告的CTR预估、推荐的兴趣匹配,还是Agent的工具选择,排序的本质都是在预估一个分数:
| 系统 | 预估的分数 | 含义 |
|---|---|---|
| 搜索 | Relevance Score | 这个文档和query有多相关 |
| 广告 | pCTR × bid | 这个广告被点击的概率 × 出价 |
| 推荐 | P(engage) | 用户会和这条内容互动的概率 |
| Agent | P(task_success) | 用这个工具能完成任务的概率 |
技术在变,但底层的数学抽象始终是:给候选打一个分,按分排序,取top-K。 万物皆排序,不是修辞,是工程事实。
四、反馈闭环:所有系统都靠"用户行为"进化
四代系统还有一个深层统一:它们都靠用户的隐式反馈来优化自己。
搜索引擎:用户点了第3条结果而不是第1条 → 调整排序模型
广告系统:用户看了广告没点 → 降低该广告的质量分
推荐系统:用户快速滑过某条视频 → 减少该类内容的推荐权重
Agent:用户否决了Agent的操作建议 → 调整工具选择策略
# generated by hugo's coding agent
这个反馈闭环的结构是完全一致的:
系统做一个决策 → 用户做出反应 → 反应被记录为信号 → 信号用于优化下一次决策
区别只在于反馈信号的丰富度和延迟:
- 搜索的反馈最简单:点击/不点击,毫秒级
- 广告的反馈稍复杂:点击、加购、转化,分钟到天级
- 推荐的反馈更丰富:停留时长、完播率、分享、评论,秒到小时级
- Agent的反馈最复杂:任务是否完成、用户是否满意、中间步骤是否合理,可能需要整个会话结束才能评估
Agent系统的反馈闭环目前是做得最差的——这也是为什么Agent的"智能"还远不如搜索和推荐系统稳定。搜索引擎有二十年的点击日志来训练排序模型,而Agent系统才刚刚开始积累反馈数据。
但方向是一样的:谁能更快、更准确地闭合这个反馈环,谁的系统就进化得更快。
五、商业逻辑:从匹配效率中抽税
技术底层一致,商业逻辑自然也一致。
这四代系统的商业模式,本质上都可以用一句话概括:
在供给和需求之间充当中介,通过提升匹配效率创造价值,然后从中抽取一部分作为收入。
系统 供给方 需求方 收入来源
───────── ────── ────── ──────────────
搜索引擎 网页/信息 找信息的人 广告(注意力变现)
广告系统 广告主 有需求的用户 广告费(按点击/展示/转化)
推荐系统 内容创作者 消费内容的人 广告 + 电商佣金
Agent系统 工具/服务提供者 需要完成任务的人 订阅费 + API调用 + ?
# generated by hugo's coding agent
有意思的是,前三代系统的商业模式已经非常成熟——它们的核心收入都来自广告或交易佣金。这两种模式的共同点是:按效果付费。广告主为点击付费,卖家为成交付费,本质上都是在为"系统帮我匹配到了对的用户"这件事买单。
Agent系统的商业模式还在探索期,但底层逻辑必然一致:谁帮用户更高效地完成了任务,谁就有资格收"匹配税"。 可能的形式包括:
- 按任务收费:完成一次订票、写一份报告,收一次费
- 按Token收费:消耗的计算资源直接计价(当前主流)
- 佣金模式:Agent帮你买了东西、订了服务,从交易中抽成
- 订阅模式:月费换取无限次使用
如果你从这个角度看,OpenAI的$200/月订阅和Google的广告收入,本质上赚的是同一笔钱:帮用户从信息过载中解脱出来的"注意力溢价"。
六、一张图看四代系统的递进关系
四代系统不是并列的,是递进的。每一代都在前一代的基础上,扩展了系统的"能动性":
用户主动性 ↓ 系统能动性 ↑
─────────────────────────────→
搜索 用户主动提问 → 系统被动返回结果
↓ "我要找什么"
广告 系统主动展示 → 用户被动接收
↓ "你可能需要这个"
推荐 系统主动猜测 → 用户被动消费
↓ "你一定喜欢这个"
Agent 用户提出目标 → 系统主动执行
"帮我把这件事办了"
# generated by hugo's coding agent
从搜索到Agent,变化的方向非常清晰:
- 意图表达:从残缺的关键词 → 没有显式表达 → 回到自然语言,但更完整
- 系统输出:从返回链接列表 → 返回商品/内容 → 直接帮你执行动作
- 价值创造:从节省你的搜索时间 → 节省你的选择时间 → 节省你的执行时间
每一代系统,都在接管用户更多的认知负担。搜索替你找,推荐替你选,Agent替你做。但底层都是同一件事:缩短"需求"到"满足"之间的距离。
七、对从业者的启示
如果你认同四代系统本质相同,那么有几个实用的推论:
1. 搜索和推荐的经验可以直接迁移到Agent系统
Agent系统的工具选择就是搜索,Agent的记忆管理就是用户画像,Agent的规划就是多步排序。如果你做过搜索或推荐,你已经有了做Agent系统最核心的能力。
2. 评估指标可以借鉴
搜索用NDCG和MRR,推荐用CTR和留存,Agent系统也需要类似的定量评估框架。任务完成率、步骤效率(完成任务用了几步)、用户满意度——这些指标和搜索推荐的评估体系是同构的。
3. Agent的竞争壁垒在数据飞轮
搜索引擎的壁垒不是算法,是二十年的点击日志。推荐系统的壁垒不是模型,是海量的用户行为数据。同理,Agent系统的长期壁垒也不会是模型能力(模型会商品化),而是谁积累了最多、最高质量的"用户意图→执行路径→反馈信号"三元组。
4. 商业模式的终局是按效果付费
搜索和推荐已经证明了:最健康的商业模式是按效果付费——用户得到了价值,系统才收费。Agent系统的商业模式最终也会收敛到这个逻辑:不是按Token收费(那只是过渡形态),而是按任务完成度收费。
结语
二十年前,Larry Page说"搜索引擎的终极形态是能理解你的意图并直接给出答案"。十年前,今日头条证明了"最好的搜索是不需要搜索"。今天,Agent系统正在兑现这个承诺——不仅理解你的意图,不仅给出答案,还直接帮你把事情办了。
但如果你跳出产品形态,看底层逻辑,会发现:从搜索到Agent,我们一直在做同一门生意——在信息过载的世界里,缩短需求到满足的距离,然后从效率提升中获取回报。
技术在进化,但本质没有变。理解这个本质的人,无论下一代系统叫什么名字,都不会迷路。