12.1 搜索能力的重要性

为什么 AI Agent 需要联网搜索

传统的 AI Agent 依赖于 LLM 的训练数据,但这些数据有固有的局限性:

LLM 知识截止问题

知识截止(Knowledge Cutoff)是指 LLM 的训练数据只包含到某个时间点之前的信息。

常见问题:

1
2
3
4
5
6
7
8
// 用户询问最新事件
用户: GPT-5 什么时候发布?
Agent (无搜索): 抱歉,我的训练数据截止到 2023 年,
不知道 GPT-5 的发布信息。

Agent (有搜索): [调用搜索工具]
根据搜索结果,GPT-5 尚未正式发布,
OpenAI 计划在 2024 年晚些时候发布...

知识截止的影响:

  • 无法回答时事新闻问题
  • 价格信息过时
  • 技术文档版本滞后
  • 产品状态信息错误

实时信息获取场景

联网搜索能够解决以下场景:

场景 示例问题 需要
天气查询 “今天北京天气怎么样?” 实时天气数据
价格查询 “比特币当前价格是多少?” 最新市场价格
新闻资讯 “最新的 AI 新闻有哪些?” 最新新闻动态
技术文档 “React 19 有什么新特性?” 最新技术信息
产品信息 “iPhone 15 Pro Max 什么价格?” 当前产品定价
事件查询 “欧冠昨晚比赛结果如何?” 最新赛事结果

时效性强的信息类型

高时效性信息(必须使用搜索):

  • 📰 新闻资讯
  • 🌤️ 天气预报
  • 💰 股票/加密货币价格
  • 📊 体育比分
  • 🎬 影视上映信息
  • 🏷️ 产品价格
  • 🎯 活动状态

中等时效性信息(建议使用搜索):

  • 📚 技术文档版本
  • 🔧 软件/库更新
  • 📖 教程和指南
  • 🏢 公司动态
  • 👤 人物信息

低时效性信息(无需搜索):

  • 📖 历史知识
  • 🔬 科学原理
  • 💡 编程概念
  • 📐 数学公式
  • 🎨 艺术知识

搜索与推理的结合

理想的 AI Agent 应该将搜索能力与推理能力结合:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
用户提问

Agent 分析问题类型

┌──────────────┴──────────────┐
需要最新信息? 不需要最新信息?
↓ ↓
调用搜索工具 使用内置知识
↓ ↓
获取搜索结果 直接回答
↓ ↓
理解结果内容

综合推理和总结

生成最终回答

智能搜索决策

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Agent 的搜索决策逻辑

function shouldSearch(query: string): boolean {
// 1. 检查时间敏感关键词
const timeKeywords = [
"今天", "现在", "当前", "最新", "最近",
"price", "price of", "cost", "天气", "news"
];
if (timeKeywords.some(kw => query.toLowerCase().includes(kw))) {
return true;
}

// 2. 检查实时数据关键词
const realtimeKeywords = [
"bitcoin", "BTC", "股票", "天气",
"比分", "result", "score"
];
if (realtimeKeywords.some(kw => query.toLowerCase().includes(kw))) {
return true;
}

// 3. 检查未知信息
// ... (基于 LLM 自身的判断)

return false;
}

搜索能力增强 Agent 的价值

1. 提供准确答案

无搜索:

1
2
3
用户: 比特币今天价格是多少?
Agent: 根据我的训练数据(截至2023年),
比特币价格大约在 $20,000 左右。

→ 答案过时,可能误导用户

有搜索:

1
2
3
用户: 比特币今天价格是多少?
Agent: [搜索] 根据最新数据,比特币当前价格
约为 $67,500(数据时间:2024-03-08)。

→ 答案准确,有数据来源

2. 增强可信度

搜索结果提供引用来源:

1
2
3
4
5
6
💡 AI 摘要: React 19 引入了服务器组件和新的 Actions API...

找到 5 个结果:
1. React 19 发布公告
URL: https://react.dev/blog/2024/12/19/react-19
React 19 正式发布...

用户可以验证信息来源,提高可信度。

3. 扩展知识边界

Agent 的知识不再受限于训练数据:

  • 最新技术文档
  • 实时市场信息
  • 当前事件状态
  • 用户特定需求

4. 减少幻觉

LLM “幻觉”(Hallucination)问题:

  • 编造不存在的事实
  • 混淆时间线
  • 错误的因果关系

搜索能力提供:

  • 真实数据来源
  • 可验证的信息
  • 准确的上下文

主流搜索方案对比

方案 1:直接调用搜索引擎 API

代表服务: Tavily, Bing Search API

优点:

  • 结构化数据输出
  • AI 优化的结果
  • 稳定的 API

缺点:

  • 需要付费(有免费额度)
  • 依赖第三方服务

方案 2:网页抓取 + LLM 总结

实现:

1
2
3
1. 使用传统搜索获取 URL
2. 抓取网页内容
3. 用 LLM 总结内容

优点:

  • 灵活性高
  • 可定制处理逻辑

缺点:

  • 实现复杂
  • 网页结构变化风险
  • 成本较高(需要多次 LLM 调用)

方案 3:使用 RAG(检索增强生成)

实现:

1
2
3
1. 建立外部知识库索引
2. 向量搜索相关文档
3. 结合检索结果生成答案

优点:

  • 可控的知识来源
  • 成本可预测

缺点:

  • 需要维护知识库
  • 实时性取决于更新频率

本项目选择:Tavily API

选择理由:

  1. 专为 AI 设计:输出格式适合 LLM 处理
  2. 内置答案摘要:减少 LLM 处理成本
  3. 稳定可靠:专业的 API 服务
  4. 免费额度充足:1000 次/月
  5. 实现简单:几行代码即可集成

搜索工具在 Agent 中的角色

搜索工具作为 Agent 工具箱中的一个工具,与其他工具协作:

1
2
3
4
5
Agent 工具箱
├── read - 读取本地文件
├── write - 写入本地文件
├── exec - 执行命令
└── search - 搜索互联网信息 ← 新增

工具调用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
// Agent 自动判断是否需要搜索

用户: 查看当前目录的 README 文件
Agent 调用 read 工具

用户: 告诉我 React 19 的新特性
Agent 调用 search 工具(知识可能过时)

用户: 分析本地的代码文件
Agent 调用 read 工具

用户: 对比比特币和以太坊的价格
Agent 调用 search 工具(需要实时价格)

小结

本节介绍了搜索能力在 AI Agent 中的重要性:

  • LLM 知识截止的局限性
  • 实时信息获取场景
  • 搜索与推理的结合
  • 主流搜索方案对比
  • 选择 Tavily API 的理由

导航

上一篇: 11.6 CLI 图像命令

下一篇: 12.2 Tavily API 集成