再见百度,我用 1 小时,开发了个 AI 搜索引擎!Codex + GPT 5.5 + DeepSeek V4 真香~
Codex + GPT-5.5 + DeepSeek V4 项目实战保姆级教程!手把手带你用 AI 编程开发一个 AI 搜索引擎,从 Tavily Search 联网搜索到 LangChain Agent 智能总结,覆盖前后端全栈开发、MCP 和 Skills 扩展安装、AI 自主浏览器测试全流程。
大家好,我是程序员鱼皮。
想必你已经发现了,如今的搜索引擎已经全面进化了。
以前搜东西,就是输入关键词,然后在一堆蓝色链接里挑着看。
现在呢,直接输入一个问题,AI 会帮你联网搜索、汇总分析,给出一份带引用来源的完整回答。
比如主打 AI 搜索的 Perplexity,据说月活用户已经突破 1 亿了;Google、百度、必应也都在搜索结果里加了 AI 智能摘要。
搜索这件事,正在从「人找信息」变成「AI 帮你找信息」。

那这种 AI 搜索引擎到底是怎么实现的?
这篇文章,我就全程用 Codex + GPT-5.5 来开发一个 AI 搜索引擎,后端对接 DeepSeek V4 实现 AI 联网搜索和智能总结。看完之后,你不仅能学到 AI 编程的流程套路,感受新开发工具和模型的能力,还能学到 AI Agent 应用的开发思路。
建议收藏,我们开始~
需求分析
这次要做的项目叫 yupi-ai-search AI 搜索引擎,对标 Perplexity。
要注意,AI 搜索引擎跟普通的 AI 对话应用不一样。如果你只让 AI 回答问题,它用的是训练数据里的旧知识,回答可能是过时的。AI 搜索引擎的关键在于 联网搜索 能力,让 AI 先去网上搜最新的信息,再基于这些信息来回答,这样才能确保答案是准确、及时的。
具体的需求是:用户输入一个问题,系统自动联网搜索最新信息,再交给 AI 大模型综合分析,生成一份带引用来源的智能回答,同时还能像传统搜索引擎一样查看完整的搜索结果列表。用户还可以通过相关问题推荐继续追问,不断深挖感兴趣的内容。

方案设计
这个项目采用前后端分离架构,前端用 Vue 3,后端用 Python FastAPI + LangChain。
不过传统的前后端技术不是重点,实现 AI 搜索引擎的关键在于两样东西:一个是搜索服务,负责联网获取最新信息;一个是 AI 大模型,负责理解搜索结果并生成综合回答。
AI 大模型我就选择 DeepSeek V4,试试它在真实业务场景中的效果。
这个项目真正的核心是,搜索服务要怎么实现?
搜索服务
先简单聊聊搜索引擎的原理。
传统搜索引擎干的事情其实就 3 步:
- 抓取网页,派爬虫到处爬
- 建立索引,把网页内容整理成数据库
- 排名展示,根据相关性给结果排序
Google、百度这些搜索引擎,背后都是几十万台服务器在跑这套系统。

如果搁以前,让你自己开发一个搜索引擎,简直想都不敢想,光是抓取全网页面这一步就能把人劝退。
但现在不一样了,有了 AI 编程工具,加上现成的搜索引擎 API 服务,你不需要自己爬网页、建索引,直接调 API 就能拿到搜索结果,然后交给 AI 总结就完事了。
目前专门为 AI 应用设计的搜索服务已经有不少了,比如 Tavily Search、Firecrawl、Brave Search API 等等,它们都能通过 API 调用拿到结构化的搜索结果,直接给 AI 使用。

下面重点介绍一下本项目选用的 Tavily Search。
Tavily Search
Tavily Search 是目前 AI 应用开发领域最主流的搜索 API 之一,知名的 AI 应用开发框架 LangChain 官方首推的搜索工具就是它。
它有几个优势:
- 返回的是结构化的搜索结果(标题、URL、内容摘要),不是原始 HTML,直接塞给 AI 就能用,省 tokens
- 搜索速度快,一般 3 秒左右就能出结果
- LangChain 有官方集成包
langchain-tavily,几行代码就能接入 - 支持中文搜索,可以通过
country参数设置为中国,优化中文搜索结果
价格方面,免费版每月 1000 次 API 调用,不需要绑信用卡,对于个人项目和 MVP 验证完全够了。按需付费是每次 0.008 美元(约 6 分钱),Growth 套餐 10 万次/月 500 美元,所以实际上线还是要注意成本的。
下面我带大家简单体验一下。
进入 Tavily 官网,可以看到它提供 4 方面的能力,包括联网搜索、提取网页内容、爬虫和深度研究。

登录后进入管理后台,获取 API Key:

然后进入 调试广场,可以在这里验证搜索效果。
比如我搜索一下 “程序员鱼皮”,可以看到返回了 JSON 格式的结构化结果,每条都包含标题、URL 和内容摘要,搜到了我的博客、GitHub 主页等信息,还挺全面的。

它还支持很多参数设置,比如搜索的详细程度、时间范围、是否包含网页内容、最大搜索结果数、国家等等。
比如我把搜索国家设置为中国,就能搜到国内平台的文章了:

验证完搜索效果没问题,接下来看看怎么在代码里使用。
LangChain 集成 Tavily
这个项目中,我们使用主流的 AI 应用开发框架 LangChain 来集成 Tavily。
LangChain 有现成的官方集成包 langchain-tavily,用起来非常方便。只需要在代码里给 Agent 绑定 TavilySearch 工具,然后创建 Agent 就能直接对话了:
from langchain_tavily import TavilySearch
from langchain.agents import create_tool_calling_agent
tavily_search_tool = TavilySearch(
max_results=5,
topic="general",
)
# 创建 Agent,绑定搜索工具
agent = create_tool_calling_agent(model, [tavily_search_tool])
# 用户提问,Agent 自动判断是否需要搜索
response = agent.invoke({"messages": "最近有什么 AI 新闻?"})
除了搜索,还有 TavilyExtract 工具,可以根据网址提取干净的网页内容:

看不懂代码没关系,之后我们把这些需求写进提示词,让 AI 自己去查文档、写代码就行。
Firecrawl 搜索服务
除了 Tavily,Firecrawl 也是一个不错的选择。Firecrawl 更擅长网页抓取和全站爬取,它本身也提供了搜索功能。
两者的定位有一点儿差异,我用表格简单对比一下:
| 维度 | Tavily Search | Firecrawl |
|---|---|---|
| 定位 | AI 原生搜索 API,专为 RAG/Agent 设计 | Web 数据 API,主打网页抓取和内容提取 |
| 搜索速度 | 1 ~ 3 秒 | ~7 秒(含页面抓取) |
| 返回格式 | 结构化摘要,节省 Tokens | Markdown/HTML/JSON,内容更完整 |
| LangChain 集成 | 官方首推,有专用包 | 有 Python SDK,需自行封装 |
| 开源 | 否 | 是(AGPL-3.0,可自部署) |
| 免费额度 | 1000 次/月 | 1000 credits/月 |
| 100K 量级月费 | $500 | $83 |
| 最适合场景 | AI Agent 联网搜索 | 全站爬取、数据提取 |
对于我们这个 AI 搜索引擎项目,Tavily 的搜索速度和结构化返回更合适,所以选它作为主力。
在后面的环境准备部分,我也会带大家安装 Firecrawl,不过它的作用是帮 AI 编程工具联网搜索技术文档,跟项目本身的搜索功能不是一回事儿。
核心业务流程
最后梳理一下整个 AI 搜索引擎的核心流程:
- 用户在前端输入问题
- 后端接收请求,调用 Tavily Search API 联网搜索,拿到结构化的搜索结果
- 把搜索结果作为上下文注入 Prompt,交给 DeepSeek V4 大模型
- AI 基于搜索结果生成带引用编号的综合回答,通过 SSE 流式返回给前端
- 前端同时展示 AI 综合回答和完整的搜索结果列表
- AI 回答完成后,自动生成相关问题推荐,方便用户继续探索

环境准备
Codex 配置
打开 Codex,确认模型列表里有 GPT-5.5。如果看不到,大概率是账号的问题,可能需要开通更高级的会员,我这里用的是 Plus 会员。

可以看到界面上已经有了 GPT-5.5 模型选项,还支持调节智能程度(低 / 中 / 高 / 超高),我一般选择「高」。
左下角进入设置,把工作模式切换为「用于编程」,这样 AI 的回复会更专业、更适合开发场景:

然后在设置中开启「电脑操控」,并安装 Google Chrome 浏览器扩展。这样后面可以让 AI 帮你自动操作电脑和浏览器进行测试。

安装 AI 扩展
Codex 的 AI 扩展主要包括三类:
- MCP 服务,用于连接外部工具
- Agent Skills 技能包,让 AI 学会特定的专业技能
- Plugins 插件,给 AI 增加更多能力
官方自带了一些内置的插件和技能,比如 Computer Use、Browser Use、PDF 处理、演示文稿编辑等:


不过这次项目需要的几个扩展,Codex 默认没有,得自己安装。
我们需要下面 3 个扩展:
- Firecrawl:联网搜索和网页抓取,让 AI 能获取最新的技术信息
- Context7:查询最新的技术文档和 API 用法,减少 AI 瞎编的情况
- UI UX Pro Max:前端美化技能,让生成的页面更有设计感
你可以直接在 Codex 设置里手动添加 MCP 服务,但是要手动填写一堆参数,非常麻烦!

好在我们可以换一种方式,用每个 AI 服务提供的命令来快速安装。
1、安装 Firecrawl
Firecrawl 是一个联网搜索和网页抓取工具,能让 AI 在开发前先搜索最新的技术信息和文档。虽然我们的项目用的是 Tavily Search 做搜索功能,但 Firecrawl 在这里的作用是帮 AI 编程工具查资料。
打开终端,输入下列命令:
npx -y firecrawl-cli@latest init --all --browser

执行后,会自动打开浏览器,要在弹出的页面中点击授权:

安装完成后,会自动注册 12 个相关技能:

在 Codex 的技能管理中,就能看到新添加的 Firecrawl 相关技能了:

2、安装 Context7
Context7 是一个技术文档查询工具,让 AI 能获取到各种框架和库的最新官方文档,避免用过时的 API 写代码。
先在终端输入一行命令来安装:
npx ctx7@latest setup
它会问是安装 MCP 服务还是 CLI + Skills,这里我选择 CLI + Skills。你会发现,现在越来越多工具已经从 MCP 转向 CLI + Skills 的方式了:

同样在弹出的网页中授权,不用自己获取和输入 API Key,太方便了!

然后选择要给哪个 AI 编程工具安装,我选择为 Codex 安装:

安装成功:

在 Codex 中确认已安装的技能:

3、安装 UI UX Pro Max
这是一个前端美化技能包,能让 AI 生成的页面更有设计感,不会有一大堆的 Emoji。
输入一行命令:
uipro init
选择为 Codex 安装技能:

安装成功:

在 Codex 的技能管理中,能看到新技能:

至此,环境准备完成!下次开发项目时,就不用再重复准备了~
开发编码
新建一个 yupi-ai-search 项目文件夹,在 Codex 中打开:

然后输入提示词。这里分享一下我实际用的提示词,给大家参考:
## 角色
你是一个全栈工程师,擅长 Python + FastAPI + LangChain + Vue 开发。
## 任务
开发一个叫 yupi-ai-search 的 AI 搜索引擎网站。用户输入自然语言问题,系统自动联网搜索最新信息,再将搜索结果交给 DeepSeek V4 大模型综合分析,生成一份带引用来源的智能回答,同时展示完整的搜索结果列表。
核心功能:
1. 搜索主页:简洁的搜索框,输入问题后发起 AI 搜索
2. AI 联网搜索:调用 Tavily Search API 获取最新网页信息,将搜索结果作为上下文注入 Prompt,让 AI 生成综合回答
3. 引用来源展示:AI 回答中引用的信息必须标注来源编号,底部列出所有引用来源的标题和链接,用户可点击跳转原文
4. 搜索结果列表:除了 AI 综合回答外,还要像传统搜索引擎一样展示完整的搜索结果列表,包括 AI 未直接引用到的结果
5. 流式输出:AI 回答支持 SSE 流式输出,打字机效果实时显示
6. 搜索历史:本地存储搜索历史记录,支持快速重新搜索
7. 相关问题推荐:AI 回答完成后,自动生成 3-5 个相关问题供用户继续探索
## 技术栈
- 后端:Python FastAPI + LangChain
- 前端:Vue 3 前后端分离,支持 Markdown 渲染和代码高亮
- AI 模型:对接 DeepSeek V4(兼容 OpenAI SDK 格式,通过环境变量配置)
- 搜索:Tavily Search API(通过 langchain-tavily 集成)
## 要求
1. 页面参考 Perplexity 的简洁风格,搜索页面居中大搜索框,结果页面信息密度高,使用 UI UX Pro Max 技能美化
2. 开发前,先通过 Firecrawl 联网搜索相关信息,通过 Context7 查询 LangChain、FastAPI、Tavily Search、DeepSeek API 的最新文档
3. 必须生成完整可运行的代码,每步完成后必须自主测试验证
虽然看着又臭又长,但其实是借助 AI 生成的,我简单解读一下这段提示词的几个要点:
- 角色定义 放在最前面,让 AI 进入全栈工程师的状态
- 任务描述 用自然语言把需求讲清楚
- 技术栈 只列关键选型,比如 LangChain + Tavily Search 的组合,让 AI 自己决定具体的实现方案
- 最后两条要求是关键,让 AI 先查文档再写代码,避免瞎编写法;让 AI 开发完后自主测试,减少翻车
模型我选择 GPT-5.5,智能程度选「高」,权限给完全访问(主要图个省事儿):

小提示,如果你想让 AI 测试得更完整,可以先获取到 Tavily Search 和 DeepSeek 的 API Key 并直接提供给 AI,否则 AI 是没办法测试搜索和 AI 总结能力的。
把上述提示词发送给 AI,整个任务还是比较复杂的,接下来就是漫长的等待了。。。
可以看到 AI 先用 Firecrawl 和 Context7 搜索了 Tavily Search、LangChain、FastAPI、DeepSeek API 的用法和文档,做完调研后,才能开始写代码:

AI 生成完代码后,会自主打开浏览器进行前端测试:

从开发到测试运行,总共花了 23 分钟。AI 生成了完整的前端和后端项目代码,还自动写好了项目文档:

把鼠标放到 Codex 右侧,可以查看整个任务的生成结果、后台终端和信息来源。

在 AI 回复的最下方,可以查看和审核生成的所有代码文件:

感兴趣的同学可以看下 AI 生成的核心代码。后端的核心是一个 SSE 流式接口,接收到用户的搜索请求后,先调用 Tavily Search 获取网页搜索结果,然后把搜索结果注入 Prompt 并交给 DeepSeek V4 生成带引用的综合回答,最后再生成相关问题推荐。
如果搜索失败了,还有降级策略,会提示用户回答未经联网验证:

测试验证
接下来根据 AI 给出的指引,需要填写 API Key:

先到 DeepSeek 开放平台 获取 DeepSeek 的 API Key,Tavily 的 API Key 前面已经拿到了:

然后修改项目后端目录下的环境变量配置文件,把 .env.example 重命名为 .env,填入你自己的 API Key:

注意,如果你的项目要开源,一定记得在 .gitignore 中忽略 .env 文件,防止 API Key 泄露到 GitHub 上!
配置完环境变量后,让 AI 重启项目:

人工测试
接下来人工测试一下。
打开网页,好家伙,主页竟然如此精简!
AI 真的是很听提示词的话了,简洁风格 + 居中大搜索框,跟 Perplexity 的感觉确实有几分相似 🐶:

来输入一个问题试试:什么是鱼皮的 AI 编程导航?
其实我的 2 个网站分别是 编程导航 和 鱼皮 AI 导航,这里我故意把 2 个产品混为一谈,看看搜索结果和 AI 的总结效果如何~
大概 4 秒左右,界面就展示出了搜索结果列表,然后 20 秒左右给出了完整的 AI 总结。可以看到左侧是 AI 的综合回答,带着引用编号;右侧是完整的搜索结果列表,包含了标题、摘要和链接,跟传统搜索引擎一样可以逐条浏览:

搜索和生成速度还是挺快的,而且 AI 把我的两个不同的产品分得很清楚,内容也是准确的。
底部可以看到引用来源和相关问题推荐,点击引用就能跳转到原文,点击相关问题就能快速发起下一次搜索:

在 Codex 的对话页面,把鼠标放到右侧,点击查看后台终端,能看到 Python 后端的日志信息,每一次搜索请求都有记录:

从搜索结果来看,默认搜索的信息源以国内为主。但 Tavily Search 同样支持国外信息源搜索,比如我问:Claude Code 4.7 怎么样?
这次的搜索来源就变成了中英文混合的了,不少英文技术博客的测评文章都搜到了:

你还可以在提问中指定搜索来源,比如我问:鱼皮在 X 上有哪些 Claude Code 教程?
搜索结果中就包含了 X 的原始文章页面:

怎么样,轻轻松松就开发出了一个属于自己的 AI 搜索引擎,国内外信息尽在我手~
AI 自主测试
核心功能测试没问题了,但如果项目要正式上线,还要测试一堆边界条件,比如输入空白内容会不会崩?网络超时了怎么办?搜索没有结果时页面展示是否正常等等?
一个个手动测太麻烦了,干脆直接让 AI 帮忙。
Codex 内置了浏览器操控能力,输入 @浏览器 使用插件,直接让 AI 自主测试:
@浏览器 打开浏览器,自主测试所有功能
出了问题自动修复,确保所有功能正常可用

可以看到 AI 在 Codex 内部打开了一个浏览器,自己输入了问题并搜索,然后检查搜索结果列表、AI 回答、引用来源、相关问题、搜索历史等所有功能是否正常:

等了 18 分钟,AI 完成了端到端的自主测试,还顺手做了一点儿优化:

至此项目就开发完了,很简单吧?
扩展思路
虽然我们很快就开发出了一个能用的 AI 搜索引擎,但要知道,开发完成只是第一步。一个成熟的搜索引擎产品,要考虑的事情还有很多,这也是跟其他同学拉开差距的地方。
我这里借助 AI 给大家提供一些思路:
- 搜索结果缓存:同样的问题短时间内被多个用户搜索,没必要每次都调 Tavily 的 API,缓存下来能省不少成本
- 搜索结果排序优化:可以根据来源的权威性、内容的时效性来重新排序,而不是直接用 Tavily 返回的顺序
- 多模态搜索:支持搜图片、搜视频、搜文件,不只是文字
- 可观测性:加上日志、监控和链路追踪,知道每一次搜索请求经历了哪些步骤、各花了多少时间、哪里容易出问题
- 成本控制:搜索 API 和大模型 API 都是按量计费的,要做好限流、配额管理,防止被恶意刷接口,一不小心就是一笔大开支
- 安全防护:防止 Prompt 注入攻击、过滤违规内容,这些上线前必须考虑
我们要学会站在巨人的肩膀上,用现成的工具快速搭建原型,但同时也要能看到原型背后缺少的东西,这才是真正的工程能力。
我的感受
最后聊聊我用 Codex、GPT-5.5 和 DeepSeek V4 的真实感受。
先说 Codex,Codex 的界面主打一个简洁,第一眼看上去甚至不像 AI 编程工具,更像个 AI 聊天助手。但功能其实比较完整,比如 MCP 和 Skills 扩展、插件市场、自动化、Git 集成、Browser Use、Computer Use,AI 编程所需的工程能力基本都具备了。
而且最近的更新速度嘎嘎快,还有工夫整个 AI 桌面宠物给我们加点儿情绪价值……(虽然有些 UI 调整我觉得不如之前的好看)

不过缺点也很明显。默认可用的模型有限,不像 Cursor 和 Copilot 原生就整合了 Claude、GPT、Gemini 各种模型随便切。易用性也差了一些,从 MCP 配置那里大家应该已经感受到了。Copilot 可以直接在扩展市场一键搜索安装 MCP,Cursor 也支持可视化编辑 JSON 配置,Codex 这边还得自己折腾命令行或者手写 TOML。

再说说 GPT-5.5 模型。我除了这个项目之外,之前的教程以及自己的项目中也多次用到了 GPT-5.5,整体感觉不如 Claude Opus 4.6。但能力还是很强的,只要提示词到位,基本都能一把梭全栈项目的前端和后端,而且核心业务流程大概率一次性跑通。
我感觉 GPT-5.5 的特点是 很听提示词的话,前端表现中规中矩,不会给你特别大的惊喜。所以想要利用好能力强的大模型,提示词还是得认真写、功能点列清楚、给一点方案和开发流程的引导,AI 才能给你满意的结果。
再看看 GPT-5.5 的成本。这次开发消耗了 13.4 万 tokens,上下文用了 52%。Codex 桌面端的上下文容量是 258K,开发这种全栈项目基本够用了:

我目前开的是 GPT Plus 会员,一个月 20 刀(150 元左右),每 5 小时和每周有限额。做完这个项目后,5 小时的额度用了差不多一半,不算扩展功能的话,1 周差不多能做 10 个完整项目。

最后说说 DeepSeek V4 吧。这次项目用的是 V4-Flash 模型作为搜索引擎的大脑,生成速度还是挺快的,效果也不错,作为搜索结果的整理完全够用了,不需要上 Pro。
Flash 模型的价格很便宜,我测试时用了 24 次请求才花了 9 分钱。按正常上线给用户访问的量来算,1 天 1000 次请求大约消耗 3.75 元,性价比很高,我们团队的一些业务也会对接 DeepSeek API。

总的来说,AI 应用开发的门槛已经非常低了。以前做一个搜索引擎是大厂才能干的事情,现在一段提示词就能搞出来一个能用的原型。
但毕竟「能做出来」和「做得好」之间还有很大的距离,前面提到的缓存、安全、成本控制这些工程化的东西,才是真正考验功底的地方。
OK 就分享到这里,本文会收录到我免费开源的 《Vibe Coding 零基础入门教程》,上千张图、几十万字,带你从 0 开始快速学会 AI 编程,做出自己的产品、跑通变现全流程,一次拿捏。

我是鱼皮,持续分享 AI 编程干货。觉得有用的话记得点赞收藏和关注,也欢迎在评论区聊聊:你现在最常用哪个 AI 编程工具?觉得 GPT-5.5 的 DeepSeek-V4 怎么样?
更多推荐



所有评论(0)