AI Agent 需要搜索网络。不是爬取,不是抓取,而是搜索——提出问题,获取有来源的答案。
你有很多选择:Google Programmable Search、Perplexity API、Bing Web Search、Tavily、Exa、AnyCap 有根据搜索(grounded search)。每种工作方式不同,在检索质量、答案合成、引用处理和开发者体验之间做出不同的权衡。
以下是为 Agent 提供网络访问权限时真正重要的因素,以及哪个 API 适合哪种工作流。
两种架构:检索型 vs. 有根据搜索
所有网络搜索 API 都属于以下两种架构之一:
仅检索型 API 返回链接。Agent 获得 URL、标题和摘要,然后必须逐个访问页面、提取内容并自行合成答案。Google Custom Search、Bing Web Search 和 Exa 都是这种方式。
检索流程:
Agent: search("query") → URL + 摘要
Agent: 爬取每个 URL → 提取内容
Agent: 将内容传给 LLM → 合成答案
Agent: 手动构建引用列表
有根据搜索 API 返回答案。Agent 获得带内联引用的合成回答——检索、内容提取和合成都在一次 API 调用中完成。Perplexity API 和 AnyCap grounded search 就是这种方式。
有根据搜索流程:
Agent: search("query") → 答案 + 引用
Agent: 将答案传给用户或下一步
这个差异不是学术问题。仅检索型 API 给 Agent 一个链接列表;有根据搜索 API 给 Agent 一个答案。两者之间的差距,就是你需要自己构建的全部基础设施。
API 对比
AnyCap Grounded Search
架构: 有根据搜索(单次调用返回答案 + 引用)
访问方式: CLI — anycap search "query" --citations
工作原理: Agent 执行一条命令。AnyCap 搜索实时网络,检索最优结果,爬取来源页面获取完整内容,基于这些来源合成答案,并返回带内联引用和来源 URL 的结果。
主要特点:
- 返回合成答案,而非链接列表
- 内联引用附带来源 URL——每条声明均可追溯
- 结构化输出,可通过 jq 管道提取字段
- 一个 CLI,与所有其他 AnyCap 能力使用同一接口
- 免费额度:新用户 250 积分
最适合: Agent 需要答案而非研究任务的工作流。搜索直接输入分析、生成或发布的流水线——全部通过一个 CLI 完成。
示例:
anycap search "latest Go 1.25 changes" --citations | jq '.data.content'
Perplexity API(Sonar Pro)
架构: 有根据搜索(答案 + 引用)
访问方式: REST API,支持 SDK。POST /chat/completions,使用支持搜索的模型。
工作原理: Perplexity 的 API 将实时网络搜索集成到 LLM 响应中,模型检索当前信息并返回带内联引用的答案。
主要特点:
- 速度快——响应在数秒内
- 良好的引用处理,带内联来源链接
- API 友好,响应结构清晰
- 多种模型:Sonar(快速)、Sonar Pro(更深入)、Sonar Reasoning Pro
- 实时网络访问——适合时事和事实查询
局限性:
- 搜索增强型答题,而非深度多来源研究
- 规模化使用成本较高
- 与其他能力的 API 相互独立——研究、图像生成、发布需要单独集成
最适合: 实时事实核查、时事查询、快速信息检索。速度比深度更重要的聊天机器人类应用。
示例:
import requests
response = requests.post(
"https://api.perplexity.ai/chat/completions",
headers={"Authorization": "Bearer $PERPLEXITY_API_KEY"},
json={
"model": "sonar-pro",
"messages": [{"role": "user", "content": "Latest Go 1.25 changes"}]
}
)
Google Programmable Search Engine
架构: 仅检索型(链接 + 摘要)
访问方式: REST API,前称"Custom Search API"。需要 Google Cloud 项目配置。
工作原理: Agent 通过配置好的搜索引擎查询 Google 搜索索引,返回 URL、标题和文字摘要。Agent 需要单独爬取每个页面、提取内容并合成答案——共三个独立步骤。
主要特点:
- Google 搜索索引——可用的最佳检索质量
- 可配置:限制特定网站或搜索全网
- 免费额度:每天 100 次查询
- 文档完善的 REST API
局限性:
- 返回链接,而非答案。Agent 需要单独的内容提取和合成流水线。
- Custom Search Engine 限制 10 个网站,除非付费使用 Site Search。
- 无 AI 合成——需要自行提供 LLM 进行答案生成。
- 配置复杂:需要 GCP 项目、API 启用、凭证管理。
最适合: 必须使用 Google 搜索索引,且已有独立内容提取和合成基础设施的工作流。
示例:
# 第一步:从 Google 获取链接
results = google_search("latest Go 1.25 changes")
urls = [r['link'] for r in results['items']]
# 第二步:爬取每个页面(需单独工具或服务)
contents = [crawl(url) for url in urls]
# 第三步:合成答案(需单独 LLM 调用)
answer = llm.generate(f"Summarize: {contents}", citations=urls)
Bing Web Search API
架构: 仅检索型(链接 + 摘要)
访问方式: 通过 Azure Cognitive Services 的 REST API。
工作原理: 微软搜索索引。返回网页、图片、视频和新闻结果及摘要。对多数查询,检索质量与 Google 相当。
主要特点:
- 良好的检索质量——微软搜索索引
- 多模态:一个 API 返回网页、图片、视频、新闻结果
- 较慷慨的免费额度:部分套餐每月 1,000 次查询
- 文档完善的 Azure 集成
局限性:
- 仅检索型——Agent 负责合成。
- 需要 Azure 订阅和资源配置。
- Azure 特有的身份验证流程。
最适合: Microsoft 生态系统团队。需要在网络搜索之外还进行图片和新闻搜索的工作流。
Tavily
架构: 混合型——检索 + 轻量合成
访问方式: REST API,专为 AI Agent 搜索构建。
工作原理: Tavily 搜索多个来源,提取相关内容,返回原始结果和合成摘要。专门为 AI Agent 和 RAG 系统设计的搜索 API。
主要特点:
- 为 AI Agent 构建——API 设计比通用搜索 API 更简洁
- 同时返回原始结果和合成答案
- 可配置搜索深度及域名包含/排除
- 开发者友好的文档
局限性:
- 搜索索引小于 Google 或 Bing
- 合成质量随查询复杂度而变化
- 与其他能力相互独立集成
- 按查询计费,规模化后成本累积
最适合: 需要专用搜索 API 且开发者体验优于 Google 或 Bing 的 AI 应用。需要外部数据的 RAG 系统。
Exa
架构: 带语义理解的检索型
访问方式: REST API,面向 AI 的内容聚焦搜索。
工作原理: Exa 专注于带语义理解的内容检索——通过含义而非关键词来查找页面。返回完整页面内容(而非摘要)和干净的文本提取结果。
主要特点:
- 语义搜索:按含义而非关键词查找页面
- 返回完整页面内容,而非摘要
- 适合查找特定类型内容(公司页面、文档、研究论文)
- 内容聚焦:专为 AI 消费设计
局限性:
- 仅检索型——合成是你的责任。
- 语义聚焦意味着关键词特定查询表现可能有所不同。
- 索引规模小于 Google 或 Bing。
最适合: 找到正确内容比答案合成更重要的工作流。需要完整页面内容进行深度分析的研究。
对比矩阵
| AnyCap GS | Perplexity | Google PSE | Bing | Tavily | Exa | |
|---|---|---|---|---|---|---|
| 类型 | 有根据搜索 | 有根据搜索 | 仅检索 | 仅检索 | 混合型 | 仅检索 |
| 返回内容 | 答案 + 引用 | 答案 + 引用 | 链接 + 摘要 | 链接 + 摘要 | 链接 + 摘要 | 链接 + 内容 |
| Agent 访问 | CLI | REST API | REST API | REST API | REST API | REST API |
| 引用 | ✅ 内联 | ✅ 内联 | ❌ 无 | ❌ 无 | ⚠️ 部分 | ❌ 无 |
| 配置 | 1 条命令 | API 密钥 + SDK | GCP 项目 | Azure 资源 | API 密钥 | API 密钥 |
| 可组合性 | ✅ 完整 | ❌ 独立 | ❌ 独立 | ❌ 独立 | ❌ 独立 | ❌ 独立 |
| 免费额度 | 250 积分 | 无 | 每天 100 次 | 每月 1,000 次 | 有限 | 有限 |
| 速度 | 秒级 | 秒级 | 毫秒级 | 毫秒级 | 秒级 | 秒级 |
| 合成质量 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 无(不合成) | 无(不合成) | ⭐⭐⭐ | 无(不合成) |
如何选择
Agent 需要在一次调用中获得带引用的答案: → AnyCap 或 Perplexity。如果 Agent 运行在 CLI 环境且需要可组合性(搜索 → 研究 → 生成 → 发布,一个工作流完成),选 AnyCap。如果你在构建基于聊天的应用,选 Perplexity。
Agent 需要最佳检索质量,且你有合成基础设施: → Google PSE 或 Bing。Google 提供最佳索引质量。如果你在 Azure 上,选 Bing。
Agent 需要干净的内容提取,而非合成: → Exa 或 Tavily。Exa 适合语义内容发现,Tavily 适合带轻量合成的均衡方案。
Agent 需要在统一工作流中将搜索作为众多能力之一: → AnyCap。价值不仅在于搜索本身——而是搜索、深度研究、图像生成和发布都在一个 CLI 和一套认证下运行。
框架:检索是基础,合成是差异化因素
每个搜索 API 都返回链接。区别在于之后发生了什么。
仅检索型 API 只说"这里有 10 个 URL"。Agent 需要自己完成后续工作。有根据搜索 API 则说"这是答案,这是每条信息的来源"。Agent 直接传递即可。
如果 Agent 在做大批量事实核查,速度重要且你不想构建检索到合成的流水线,有根据搜索是务实之选。如果你需要 Google 的搜索索引且有基础设施处理其余部分,仅检索型也可行——你只需自己构建中间环节。
延伸阅读:
- AI 驱动的 Agent 搜索:有根据搜索 vs RAG — 为什么 RAG 不是实时网络访问的答案
- 如何为 AI Agent 添加网络搜索能力 — 分步 CLI 教程
- 2026 年 AI Agent 最佳 CLI 工具 — Agent 的 CLI 生态系统