手把手教你给 Agent 加上联网能力,WebSearch + WebFetch 让 Agent 知道世界发生了什么。
大家好,我是二哥呀。
大模型本身是没有联网能力的,他的知识库都是基于某一个时刻训练完成的。
像 GLM-5.1,通过 PaiCLI 去问的话,答案是基于 2024 年及之前的公开文本、代码、文档。

而现在已经是 2026 年 4 月 27 日了,这就意味着如果 Agent 没有联网能力的话,他对新事物是没有感知的。
那怎么给 Agent 加上联网能力呢?
今天这篇内容我们就来完成他。
01、Agent 的联网搜索效果
先来看 PaiCLI Agent 加上联网能力之后能干什么。
在终端里输入提示词:“搜一下沉默王二是谁”。
PaiCLI Agent 会自动调用 web_search 工具,通过智谱搜索 API 获取相关信息。

然后把搜索结果整理成一段非常准确的回复:
沉默王二 是一位知名的技术博主、程序员,真实身份与笔名一致,活跃于技术社区和自媒体领域。

就连我的座右铭都给出来了:没有什么可以使我停留,除了目的,纵然岸边有绿荫,有宁静的港湾,我是不系之舟。这回答我给满分。

再来一个。输入提示词:“paicoding.com 今天有没有更新啊”。
这次 PaiCLI Agent 调用的是 web_fetch 工具,直接去抓取网页内容。

它把教程、文章、sitemap 都抓了一个遍。

最终抓取到最新的文章是:《DeepSeek V4 来了,这波我真的上头(附技术拆解报告)》,昨天发布的。

然后对网站整体做了一个非常细致的总结,包括最近的一些更新内容:
今天(4 月 27 日)暂无新文章发布,最近的一篇是昨天(4 月 26 日)关于 DeepSeek V4 的深度技术拆解文章。该站近期更新频率很高,几乎每隔 1-2 天就有新内容,主要集中在 PaiCLI、AI Agent、RAG、DeepSeek 等前沿 AI 技术方向。

这样 PaiCLI Agent 就具备了最基础的 WebSearch 和 WebFetch 能力,可以随时获取最新的网络信息。
不用手动打开浏览器搜索,不用复制粘帖网页内容,Agent 自己就能搞定。
接下来,我给大家详细讲讲是怎么实现的。
02、Agent 联网搜索的整体架构
PaiCLI 的联网模块放在 com.paicli.web 包下,一共 8 个类,分工明确。

我画了一张依赖关系图,大家感受一下这个架构:

这里有两个设计决策值得说一下。
第一个,搜索和抓取是两个独立的工具,不是一个“联网工具”。
为什么?
因为它们的使用场景完全不同。
搜索是“我不知道去哪找”,抓取是“我知道 URL,帮我把内容拿回来”。
分成两个工具,Agent 可以根据用户意图自己选择用哪个,也可以先搜再抓(搜到 URL 后再 fetch 详情)。
第二个,搜索引擎做了 Provider 抽象。
三个实现类各有特点:智谱的联网搜索可以和 LLM 共用 API Key 零额外配置,SerpAPI 付费但开箱即用,SearXNG 开源免费但需要自己部署。
通过工厂模式自动选择。
为什么不直接在代码里写死用智谱?

因为 PaiCLI 虽然主要面向国内用户,但不排除二哥装逼给海外用户用。
最重要的是,能教大家学到东西,比如策略模式 😄
做了 Provider 抽象之后,以后哪怕再加一个 Bing Search 或者 Tavily,也只需要加一个实现类和工厂里加一行判断就行了,不用动任何现有逻辑。
这就是策略模式的好处,开闭原则玩得很到位。
03、搜索引擎 Provider 抽象
先看接口定义,SearchProvider 只有四个方法:
public interface SearchProvider {
String name(); // provider 名称
boolean isReady(); // 是否可用
String unavailableHint(); // 不可用时的提示
List search(String query, int topK) throws IOException;
}
为什么要有 isReady() 和 unavailableHint()?
因为用户可能还没配置 API Key 就开始用了。
这时候不是抛异常让程序崩掉,而是友好地提示“请配置 XXX”。
这种防御式设计在 CLI 工具里特别重要,用户的环境千其百怪,你不能假设所有配置都是完美的。
智谱搜索
智谱搜索是我给 PaiCLI 选的默认 Provider,原因很简单:PaiCLI 主要面向国内 GLM 用户,智谱的搜索 ...
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
回复