返回探索
指南VibeFix 编辑部更新于 2026年10月2日

从 Demo 到生产:AI 生成代码的上线前检查清单

Demo 只占 10%,上线才是剩下的 90%。专为 AI 生成项目设计的上线前检查清单:安全、数据、可观测、性能与成本、发布回滚——因为 agent 有三个系统性盲区,而"能不能上线"的判断永远是你的。

部署主题封面:现代化软件交付流水线插画

AI 编程最甜蜜的陷阱是 demo:一个下午,你就有了一个能跑、好看、甚至能演示给朋友看的产品。然后你把它发到网上,三天后:API key 被刷爆、数据库被删、用户数据泄露、账单爆表。Demo 只占 10%,上线才是剩下的 90%。这篇文章是一份专为 AI 生成项目设计的上线前检查清单——agent 帮你写了代码,但"能不能上线"这个判断,永远是你来做。

为什么 AI 生成的项目特别需要这份清单?因为 agent 的交付有三个系统性盲区:它不考虑成本(每个 API 调用都像不要钱)、它不考虑攻击者(默认全世界都是好人)、它不考虑"以后"(没有备份、没有迁移、没有回滚的概念)。这三件事,恰恰是生产环境的全部。

一、安全:先堵住会死人的洞

  • 密钥与凭证。检查所有 API key、数据库密码、JWT secret 是否进了环境变量。AI 生成的代码最爱把 key 硬编码在源码里——grep 一遍 sk-、api_key、secret,确认 git 历史里也没有提交过(用 git log -p | grep 查)。已经提交过的 key,一律视为泄露,立即轮换。
  • 注入攻击面。所有用户输入进数据库、进 shell、进模板的地方,确认有参数化/转义。让 agent 专门跑一轮"攻击者视角"审查:prompt 里直接说"假设你是黑客,找出这段代码的 5 个注入点"。
  • 鉴权与越权。每个接口问自己:没登录能调吗?登录了能调别人的数据吗?AI 生成的 CRUD 经常"鉴权全靠前端隐藏按钮"。写 3 个 curl 测试:未登录、普通用户、管理员,逐个接口打一遍。
  • 依赖与供应链。跑 npm audit / pip audit,把 high 以上漏洞修了。检查 agent 有没有引入你没听过的冷门包——每个依赖都是信任,每多一个包就多一个被投毒的可能。

二、数据:丢了什么都能重来,丢了数据不行

  • 备份策略。数据库有没有自动备份?备份保留多久?恢复演练过一次吗?"有备份"和"能恢复"是两回事——没演练过的备份等于没有备份。
  • 迁移方案。表结构变更是走 migration 文件,还是 agent 直接手改生产库?后者是灾难之源。确认每一次 schema 变更都有可回滚的 migration。
  • 数据删除与隐私。用户注销时数据删干净了吗?日志里有没有记明文密码、token、身份证号?AI 生成的日志经常"记太多",上线前 grep 一遍敏感字段。

三、可观测:上线后两眼一抹黑是最贵的

  • 日志。关键路径(登录、支付、核心操作)有没有结构化日志?日志里有没有 request id 能串起一次完整调用?出问题时你靠什么定位——靠猜吗?
  • 告警。至少配三个:错误率突增、核心接口 P99 延迟超标、磁盘/内存用量超 80%。告警要能真正吵醒你——发到一个你不看的邮箱等于没配。
  • 健康检查。有没有 /health 端点?部署平台靠它判断服务死活。很多 AI 生成的项目连这个都没有,挂了都没人知道。

四、性能与成本:AI 时代的新账本

  • N+1 与慢查询。让 agent 跑一遍 EXPLAIN,检查列表页有没有循环查库。这是 AI 生成代码里出现频率最高的性能 bug,没有之一。
  • 缓存。读多写少的数据(配置、排行榜、首页)有没有缓存?没有缓存的上线,等于邀请全世界来打爆你的数据库。
  • AI 调用成本。如果你的产品自己调用了大模型 API:有没有做结果缓存?有没有设置单用户/单日的 token 上限?有没有防刷(rate limit)?历史上真实发生过:上线第一天被薅了 5 万美元 token 账单的项目。
  • 静态资源。图片有没有压缩、CDN 有没有配?AI 生成的前端经常引用 5MB 的原图,手机用户打开一次骂一次。

五、发布与回滚:给"搞砸了"留条后路

  • 回滚方案。这次发布搞砸了,能在 5 分钟内回滚到上一个版本吗?说不出"能"字的,先别发布。容器镜像 tag、数据库 migration 的 down 脚本,都是回滚的弹药。
  • 灰度。能不能只放 5% 流量验证?至少做到"可快速全量回滚"。AI 生成的代码第一次上生产,默认它有 bug——灰度不是不自信,是专业。
  • 环境隔离。开发、预发、生产是三套独立的环境和数据库吗?Agent 在"开发环境"里调通的东西,直连生产库跑,就是事故预告。

我的观点:checklist 不是官僚,是"把运气换成确定性"

很多独立开发者反感 checklist,觉得那是大公司的官僚。但真相是:大公司用 checklist 是因为它付过学费,你不用是因为你还没付。AI 把"做出 demo"的成本打到了接近零,于是"上线"成了新的稀缺能力——而上线的能力,一半是技术,一半是敬畏心。

更深一层想:agent 时代,"能不能上线"的判断力,正在成为人和 AI 的分工线。写代码、写测试、写文档,agent 越来越行;但"这个系统在真实世界里会怎么死",需要的是对人性(攻击者、误操作的用户)、对经济学(成本、账单)、对墨菲定律的理解——这些恰恰是 agent 的盲区。你在这份清单上花的每一分钟,都是在加固这条分工线。

最后给个可执行的建议:把这份清单存成你项目的 PRODUCTION_CHECKLIST.md,每次发版前让 agent 逐项自查并给出证据(截图、命令输出、链接),你只做最后的抽查。从"相信 agent"到"验证 agent",这一步跨过去,你的 vibe coding 才算真正毕业。

浏览项目广场发布你的项目

相关文章

数据中心机房里的服务器与网线,象征 vibe 项目的缓存架构与性能优化
指南
缓存是 vibe 项目 ROI 最高的性能手段,也是 bug 最多的地方:一份从浏览器到 AI 结果的完整实战

每个 vibe 项目迟早会遇到同一个时刻:列表页一打开就要查十几次库,并发稍高数据库就被打满。这篇实战从缓存的三问心智模型讲起,逐层拆解 HTTP 缓存头、Next.js 数据缓存、Redis 应用缓存与 AI 结果缓存(语义缓存/prompt 缓存),给出缓存键设计、穿透击穿雪崩的三件套解法和失效策略,最后附一份上线检查清单。

后端工程性能优化独立开发
笔记本电脑屏幕上显示着浏览器中的网站注册页面
资讯
ChatGPT Sites 冲上 HN 热榜:提示词建站,到底是玩具还是生产力?

10 月 3 日,Sites in ChatGPT 以约 209 点赞、218 评论冲上 HN 前页。这不是发布,而是一场清算:提示词直达 URL,到底是玩具、原型托管,还是生产力?四个争论焦点、文档实锤的技术事实(D1/R2、登录、自定义域名),以及给 vibe coder 的三个判断。

AI 编程实践产品发布独立开发