现代搜索架构:从线性流水线到 Agentic 规划
约 807 字大约 3 分钟
2025-06-05
🏗️ 搜索系统架构:范式的演进
搜索架构正在经历从“固定流水线”到“动态智能体”的转变。 理解这两种范式的差异,是构建高性能、高智能搜索系统的关键。
🏛️ 范式一:传统线性流水线 (Classic Pipeline)
这是目前大多数工业级搜索引擎(如电商、内容平台)采用的架构。特点是:稳定、高吞吐、层层过滤。
1) 漏斗模型 (The Funnel)
- 多路召回 (Recall):从 10 亿文档中找出 500-1000 个候选(BM25 ∥ 向量检索)。
- 粗排 (Pre-ranking):将 1000 个降至 100 个(双塔模型或简单树模型)。
- 精排 (Reranking):将 100 个降至 10 个(Cross-Encoder 或深度模型)。
2) 工程关键:数据一致性
- 离线索引构建:涉及 ETL 任务、Embedding 批量生成及 ANN 索引导出。
- 在线服务:需要确保在线模型版本与离线生成的 Embedding 维度、预处理逻辑完全一致。
🤖 范式二:Agentic 搜索架构 (Agentic Search)
这种范式下,搜索不再是“一锤子买卖”,而是一个感知、规划、执行、反思的循环。
1) 核心组件:动态路由与规划 (Router & Planner)
- 动态分发:根据意图识别(QU)结果决定处理路径。
- 简单问题(如“北京天气”)-> Fast Path: 直接命中 KV 缓存或 API。
- 复杂问题(如“对比三款不同品牌洗碗机的优缺点”)-> Slow Path: 触发 Agent 规划。
2) 推理循环 (ReAct 模式)
Agent 会反复执行以下动作:
- Thought: “我需要比较 A 和 B,但我现在只有 A 的信息。”
- Action: “调用搜索工具查询 B 的参数。”
- Observation: “获得了 B 的参数,发现 B 的容量更大。”
- Conclusion: 整合所有碎片知识,生成最终报告。
⚖️ 两种架构的权衡 (Trade-offs)
| 维度 | 传统流水线 | Agentic 架构 |
|---|---|---|
| 时延控制 | 稳定 (100ms 级) | 波动 (数秒级) |
| 长尾覆盖 | 依赖扩展策略 | 通过推理动态解决 |
| 可观测性 | 易追踪每一层漏斗 | 较难 (由于 LLM 推理黑盒) |
| 资源消耗 | 主要是索引和轻量模型 | 极其消耗 LLM Token |
🛠️ 混合路径:工业界的最佳实践 (Hybrid Route)
不要二选一,而是采用 “多级分流”:
- Cache 层:覆盖 60% 的高频重复问题。
- Traditional Pipeline:覆盖 35% 的普通垂直搜索需求。
- Agentic RAG:仅对 5% 的高难度、需要跨文档推理的查询触发,以控制总成本和平均响应时间。
🤔 思考题
- 如何设计一个“成本敏感型”的路由器,既能保障效果又能在流量峰值时自动关闭高耗能的 Agentic 模式?
- 在 Agentic 架构中,如果工具(如 Google Search API)返回了矛盾的信息,Agent 应该依据什么逻辑进行冲突解决?
🎉 章节小结
从流水线到 Agent,是搜索引擎从“索引查找器”进化为“问题解决者”的过程。架构师的职责不是追求最先进的模型,而是根据时延预算、算力成本、意图复杂度,设计出最合理的“快慢路分流”方案。