AI Web Search Agent Loop

Nikola Balic (@nibzard)· emerging

问题

传统LLM存在训练截止日期,这意味着它们无法知晓最新事实或实时信息。仅仅将模型对接至搜索API并不够——模型还需要具备以下能力:

  • 判断何时需要搜索、何时可调用内部知识库
  • 将对话context转化为有效的搜索查询词
  • 获取多元的长尾结果,而非仅返回热门页面
  • 基于中间结果迭代优化搜索流程
  • 规范引用信息来源,以此建立用户信任并缓解对幻觉问题的担忧

方案

实现一个迭代式网页搜索Agent循环,由协调Agent管理多个并行工作Agent,以全面研究指定主题。

核心组件:

  1. 搜索决策层:一个经过训练的分类器,用于判断何时适合发起网页搜索(采用监督微调(SFT)、人类反馈强化学习(RLHF)或强化学习(RL)技术训练)

  2. 查询转换:将对话上下文转换为高效的搜索查询与运算符:

    • 关键词提取(SERP API存在32个关键词的数量限制)
    • 特定域搜索(例如:仅搜索instagram.com、仅搜索Reddit)
    • 时间运算符(例如:仅返回过去3个月的结果)
  3. 并行工作Agent生成:协调Agent会创建多个专业化的工作Agent,这些Agent具备以下能力:

    • 同时搜索不同领域/研究角度
    • 运用不同运算符与查询变体
    • 将搜索结果汇总回协调Agent
  4. 迭代优化:协调Agent基于初始结果执行以下操作:

    • 识别搜索发现引出的新问题
    • 生成执行更精准搜索的新增工作Agent
    • 重复上述流程,直至对结果质量满意
  5. 引用与索引:为每次搜索会话维护一个临时索引,同时保留规范的来源归因

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

← 返回社区