同一个生意做了四遍:从搜索到Agent,万物皆排序

搜索、广告、推荐、Agent——四代系统的底层逻辑和商业本质,从未改变

如果你在过去二十年里分别做过搜索引擎、广告系统、推荐系统,再到今天做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系统同样需要:

  1. 召回阶段:用embedding相似度或关键词匹配,从1000个工具中筛出20个最可能相关的
  2. 精排阶段:把这20个工具的描述放进LLM的context,让LLM决定用哪个

这不就是搜索引擎的倒排索引 + Learning to Rank的翻版吗?只不过"排序模型"从GBDT换成了LLM。

排序的本质:预估一个分数

更深层地看,无论是搜索的相关性排序、广告的CTR预估、推荐的兴趣匹配,还是Agent的工具选择,排序的本质都是在预估一个分数

系统预估的分数含义
搜索Relevance Score这个文档和query有多相关
广告pCTR × bid这个广告被点击的概率 × 出价
推荐P(engage)用户会和这条内容互动的概率
AgentP(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,变化的方向非常清晰:

  1. 意图表达:从残缺的关键词 → 没有显式表达 → 回到自然语言,但更完整
  2. 系统输出:从返回链接列表 → 返回商品/内容 → 直接帮你执行动作
  3. 价值创造:从节省你的搜索时间 → 节省你的选择时间 → 节省你的执行时间

每一代系统,都在接管用户更多的认知负担。搜索替你找,推荐替你选,Agent替你做。但底层都是同一件事:缩短"需求"到"满足"之间的距离。

七、对从业者的启示

如果你认同四代系统本质相同,那么有几个实用的推论:

1. 搜索和推荐的经验可以直接迁移到Agent系统

Agent系统的工具选择就是搜索,Agent的记忆管理就是用户画像,Agent的规划就是多步排序。如果你做过搜索或推荐,你已经有了做Agent系统最核心的能力。

2. 评估指标可以借鉴

搜索用NDCG和MRR,推荐用CTR和留存,Agent系统也需要类似的定量评估框架。任务完成率、步骤效率(完成任务用了几步)、用户满意度——这些指标和搜索推荐的评估体系是同构的。

3. Agent的竞争壁垒在数据飞轮

搜索引擎的壁垒不是算法,是二十年的点击日志。推荐系统的壁垒不是模型,是海量的用户行为数据。同理,Agent系统的长期壁垒也不会是模型能力(模型会商品化),而是谁积累了最多、最高质量的"用户意图→执行路径→反馈信号"三元组。

4. 商业模式的终局是按效果付费

搜索和推荐已经证明了:最健康的商业模式是按效果付费——用户得到了价值,系统才收费。Agent系统的商业模式最终也会收敛到这个逻辑:不是按Token收费(那只是过渡形态),而是按任务完成度收费。

结语

二十年前,Larry Page说"搜索引擎的终极形态是能理解你的意图并直接给出答案"。十年前,今日头条证明了"最好的搜索是不需要搜索"。今天,Agent系统正在兑现这个承诺——不仅理解你的意图,不仅给出答案,还直接帮你把事情办了。

但如果你跳出产品形态,看底层逻辑,会发现:从搜索到Agent,我们一直在做同一门生意——在信息过载的世界里,缩短需求到满足的距离,然后从效率提升中获取回报。

技术在进化,但本质没有变。理解这个本质的人,无论下一代系统叫什么名字,都不会迷路。


See also