全文链接:tecdat.cn/?p=45027
原文出处:拓端数据部落公众号
引言
在当今软件开发领域,效率与质量始终是开发者追求的核心目标。传统的开发模式往往需要开发者手动完成从环境搭建到代码编写、测试、部署的全流程,不仅耗时耗力,还容易因人为疏忽出现错误。随着人工智能技术的发展,智能体编码逐渐成为提升开发效率的新途径。作为数据科学家,我们在过往的咨询项目中发现,结合先进大语言模型的智能体开发工具能够显著缩短项目周期,降低开发门槛。本文将详细介绍如何使用Gemini 3.1 Pro和Gemini CLI构建一个完整的Web应用,从技术栈选择到最终部署,全方位展示智能体编码的优势。
本文内容改编自过往客户咨询项目的技术沉淀并且已通过实际业务校验,该项目完整代码已分享至交流社群。阅读原文进群获取更多最新AI见解和行业洞察,可与900+行业人士交流成长;还提供人工答疑,拆解核心原理、代码逻辑与业务适配思路,帮大家既懂 怎么做,也懂 为什么这么做;遇代码运行问题,更能享24小时调试支持。
智能体编码的发展与Gemini 3.1 Pro的优势
早期的AI辅助开发工具主要集中在代码补全和简单的语法纠错上,虽然能在一定程度上提升效率,但无法完成端到端的开发任务。随着大语言模型能力的不断提升,智能体编码应运而生,它能够理解开发者的自然语言需求,自主规划开发步骤,生成代码并进行测试和部署。Gemini 3.1 Pro作为谷歌最新的大语言模型,在推理、编码和多模态理解方面表现出色,其长上下文处理能力、工具使用能力和分步推理能力,使其成为智能体编码的理想选择。
Gemini 3.1 Pro的智能体技术栈
使用Gemini 3.1 Pro进行智能体编码主要有四种方式,开发者可以根据自己的经验水平和对技术栈的控制需求进行选择。第一种是浏览器端的快速原型工具,适合初学者快速验证想法;第二种是集成在代码编辑器中的助手,适合习惯在IDE中工作的开发者;第三种是全流程的AI原生开发环境,适合端到端的自主开发;第四种是命令行工具,也就是我们本文重点介绍的Gemini CLI,它能够给开发者提供对上下文、记忆、自定义技能和工作流的完全控制。
相关文章
DeepSeek、LangGraph和Python融合LSTM、RF、XGBoost、LR多模型预测NFLX股票涨跌|附完整代码数据
原文链接:tecdat.cn/?p=44060
开发环境准备
在开始使用Gemini CLI之前,我们需要先准备好开发环境。首先确保本地已经安装了Node.js 20及以上版本和npm包管理器,同时拥有一个谷歌云账号并开启了计费功能,以便能够访问Gemini 3.1 Pro的API。
首先,我们全局安装Gemini CLI:
npm i -g @google/gemini-cli
......
# 此处省略了权限验证和版本检查代码
安装完成后,创建一个新的项目文件夹并进入:
mkdir geek-match
cd geek-match
......
# 此处省略了文件夹初始化和git配置代码
然后启动Gemini CLI:
首次启动时,需要使用谷歌账号或API密钥进行身份验证。验证完成后,在Gemini CLI中输入“/model”,选择手动模式,然后从列表中选择最新的Gemini 3.1 Pro预览模型。
扩展Gemini CLI功能
Gemini CLI支持类似VS Code的扩展市场,我们可以通过安装扩展来增强其功能。对于本文的项目,我们安装两个扩展:一个用于高级网络和仓库搜索,另一个用于获取最新的技术栈文档。
安装扩展的命令如下:
安装完成后,重启Gemini CLI,就可以看到新安装的MCP服务器和技能已经加载到环境中。
创建自定义技能
安装的扩展是通用的,为了构建生产级应用,我们需要创建针对特定技术栈的自定义技能。本文的项目使用以下技术栈:Next.js App Router、Tailwind CSS + shadcn/ui、Drizzle ORM + Neon Postgres、Clerk身份验证、Vitest测试、Vercel部署。
提交指令后,Gemini 3.1 Pro会生成结构化的技能定义,并提示我们进行本地安装。确认安装所有技能后,输入“/skills reload”重新加载技能,再输入“/skills list”验证技能是否添加成功。
完整内容及更多AI见解和行业洞察请进群获取。
项目开发:构建极客匹配应用
现在我们开始使用Gemini 3.1 Pro构建一个名为极客匹配的Web应用,这是一个面向极客的社交匹配应用,具有滑动浏览 profile、双向喜欢生成匹配、匹配列表展示、用户身份验证等功能。
在Gemini CLI中输入以下初始指令:
构建一个生产级的极客匹配最小可行产品。应用需求:
- 基于滑动的profile浏览(喜欢/不喜欢)
- 双向喜欢生成匹配
- 匹配列表页面
- 仅允许已验证用户访问
- 使用Tailwind + shadcn/ui的简洁现代UI
技术栈(请勿更改):
- Next.js App Router(TypeScript)
- 服务端操作 + 路由处理器
- Neon上的Postgres
- 带迁移的Drizzle ORM
- Clerk身份验证
- Vitest单元测试
- 可部署到Vercel
执行规则:
1. 先展示文件夹结构
2. 生成数据库schema和迁移
3. 实现API逻辑和匹配引擎
4. 构建滑动UI
5. 添加受保护路由
6. 生成匹配逻辑的单元测试
7. 提供Vercel部署的环境变量清单
保持解释简洁,专注于简洁、模块化、生产级代码。每一步验证后再进行下一步。
......
# 此处省略了项目初始化的详细配置代码
提交指令后,Gemini CLI会先分析项目结构,并建议激活相应的自定义技能。确认激活技能后,它会按照执行规则逐步生成代码。如果想加快流程,可以按CTRL + Y切换到YOLO模式,跳过确认提示。
持久化上下文和记忆
为了让智能体在开发过程中保持状态,我们使用“/init”命令创建持久化项目记忆,这会在项目根目录生成一个PROJECT_MEMORY.md文件,用于记录项目结构、技术栈、约定、构建命令、测试命令和部署说明。
我们还可以向记忆中添加指令,让智能体遵循专业的Git工作流:
在每次重大更改后,自动暂存相关文件,验证类型和测试,然后使用常规提交格式创建一个小的原子性git提交,永远不提交机密信息,并在继续之前显示提交消息。
......
# 此处省略了Git工作流的详细配置代码
此外,我们还可以添加使用GitHub CLI发布仓库和检查CI状态的指令,确保代码能够持续集成和部署。
添加可靠性和防护栏
生产级应用需要处理各种异常情况和安全威胁,我们在Gemini CLI中输入以下指令来增强应用的可靠性:
这些防护栏能够确保应用在面对恶意输入、意外边界情况、竞争条件和API滥用时仍然稳定运行。
环境变量配置和本地验证
现在我们将应用连接到真实的生产服务,首先在Clerk官网创建一个免费账号和新应用,获取发布密钥和密钥;然后在Neon官网创建一个免费账号和新项目,获取Postgres连接字符串。
使用项目中的.env.example作为模板,创建.env.prod.local文件,替换其中的占位符值:
确保永远不要将.env.prod.local提交到Git。配置完成后,在Gemini CLI中输入指令,让它启动开发服务器、运行数据库迁移、验证连接和身份验证流程。
如果一切配置正确,CLI会提供本地开发地址,比如http://localhost:3000。在浏览器中打开该地址,测试注册、登录、创建profile、滑动匹配等功能。
部署到生产环境
本地验证通过后,我们开始部署到生产环境。首先在Gemini CLI中输入指令,让它提交并推送所有更改到GitHub:
确保所有本地更改都正确提交,没有包含机密信息,主分支是最新的。然后在Vercel官网创建一个免费账号,连接GitHub账号,导入geek-match仓库。
Vercel会自动检测到这是一个Next.js应用并配置构建设置。在部署前,滚动到环境变量部分,导入.env.prod.local或手动添加所有环境变量。确保生产环境变量与本地值一致。
点击部署后,Vercel会安装依赖、构建项目、运行生产构建并 provision 部署。完成后,应用就会上线。在浏览器中打开该地址,测试所有功能是否正常工作。
开发流程总结
整个极客匹配应用的开发流程可以总结为以下步骤:
- 环境准备
- 安装扩展
- 创建自定义技能
- 项目开发
- 持久化记忆
- 添加防护栏
- 本地验证
- 部署上线
结论
通过使用Gemini 3.1 Pro和Gemini CLI,我们在很短的时间内就完成了一个功能完整、生产级的Web应用开发。从环境搭建到最终部署,智能体编码不仅提升了开发效率,还降低了出错的概率。自定义技能让智能体理解我们的技术栈和最佳实践,持久化记忆让它遵循专业的开发流程,防护栏确保了应用的可靠性和安全性。整个开发过程的API使用成本也非常合理,相比传统开发模式具有很大的优势。如果你也想提升开发效率,不妨尝试一下这种智能体编码的工作流。