AI Web Search Agent Loop
Nikola Balic (@nibzard)· emerging
问题
传统LLM存在训练截止日期,这意味着它们无法知晓最新事实或实时信息。仅仅将模型对接至搜索API并不够——模型还需要具备以下能力:
- 判断何时需要搜索、何时可调用内部知识库
- 将对话context转化为有效的搜索查询词
- 获取多元的长尾结果,而非仅返回热门页面
- 基于中间结果迭代优化搜索流程
- 规范引用信息来源,以此建立用户信任并缓解对幻觉问题的担忧
方案
实现一个迭代式网页搜索Agent循环,由协调Agent管理多个并行工作Agent,以全面研究指定主题。
核心组件:
-
搜索决策层:一个经过训练的分类器,用于判断何时适合发起网页搜索(采用监督微调(SFT)、人类反馈强化学习(RLHF)或强化学习(RL)技术训练)
-
查询转换:将对话上下文转换为高效的搜索查询与运算符:
- 关键词提取(SERP API存在32个关键词的数量限制)
- 特定域搜索(例如:仅搜索instagram.com、仅搜索Reddit)
- 时间运算符(例如:仅返回过去3个月的结果)
-
并行工作Agent生成:协调Agent会创建多个专业化的工作Agent,这些Agent具备以下能力:
- 同时搜索不同领域/研究角度
- 运用不同运算符与查询变体
- 将搜索结果汇总回协调Agent
-
迭代优化:协调Agent基于初始结果执行以下操作:
- 识别搜索发现引出的新问题
- 生成执行更精准搜索的新增工作Agent
- 重复上述流程,直至对结果质量满意
-
引用与索引:为每次搜索会话维护一个临时索引,同时保留规范的来源归因
flowchart TD
A[用户查询] --> B{搜索决策}
B -->|无需搜索| C[基于内部知识库作答]
B -->|需要搜索| D[查询转换]
D --> E[协调Agent]
E --> F1[工作Agent 1<br/>域:Reddit]
E --> F2[工作Agent 2<br/>域:新闻站点]
E --> F3[工作Agent 3<br/>时间范围:过去3个月]
F1 --> G[SERP API]
F2 --> G
F3 --> G
G --> H[结果聚合]
H --> I{结果是否满意?}
I -->|否| J[优化查询]
J --> E
I -->|是| K[结合引用进行内容合成]
K --> L[最终答案]
如何使用
适用场景:
- 构建需要实时信息的AI助手
- 对事实准确性和来源追溯有要求的应用
- 需要多元、长尾网络内容的研究工具
- 降低特定领域查询中的幻觉问题
实施注意事项:
- SERP API 局限性:当前的SERP API(谷歌、必应、DuckDuckGo)是针对人类而非AI优化的,它们仅筛选前10条结果,无法提供广度与多样性
- 缓存策略:为提升性能,可考虑维护缓存的网络索引,仅将SERP API用于搜索算法环节
- 操作符支持:部分SERP API已弃用高级操作符,限制了查询的精细化能力
- 并行化处理:网络搜索易于并行化,可通过启动多个工作进程提升速度
查询策略: 模型应模拟人类的搜索行为:
- 不要仅依赖第一条结果
- 核查多元来源(如Reddit、新闻站点、专业领域网站)
- 根据已有发现迭代优化查询
- 使用操作符按域名、时效性、内容类型筛选
权衡
优点:
- 可获取训练截止日期之后的实时信息
- 通过源数据锚定减少大模型幻觉现象
- 通过引用提升用户信任度
- 可通过迭代搜索找到细分领域的长尾信息
- 支持并行处理以提升性能
缺点:
- SERP API未针对AI Agent优化(存在关键词限制、人工筛选偏差)
- 系统复杂度高,包含多个动态组件且依赖外部服务
- 与内部知识检索相比,延迟更高、成本更大
- 需要对模型进行训练以实现可靠的工具调用
- 部分SERP操作符已被弃用,限制了优化调整的选项
参考文献
关键词:
解析AI网页搜索的运行机制,是投资机构Amplify Partners发布的技术博客文章,聚焦人工智能驱动网页搜索的核心工作原理。
\n\n
来源摘要
正在获取来源并生成中文摘要…
来源: https://www.amplifypartners.com/blog-posts/how-ai-web-search-works