我用 AI 写了一个完整的 SaaS 产品,然后发现了最可怕的问题
我用 AI 写了一个完整的 SaaS 产品,然后发现了最可怕的问题
72 小时,不写一行代码,只用 AI 搭建一个带用户系统、支付、后台管理的完整 SaaS。能做到吗?
答案是可以。但上线后的第 48 小时,我盯着控制台里的报错,突然意识到:AI 能替你按下发布按钮,却给不了你按下之后兜底的能力。
实验背景:一场 72 小时的 AI 编码挑战
2026 年,AI 编程助手已经从补全代码进化到理解上下文、自主拆解任务、生成完整模块。为了验证它的真实边界,我给自己定下了一个极限挑战:
72 小时内,仅通过自然语言提示词(Prompt)加 AI Agent,完成一个可商用的 SaaS 产品 MVP。
要求包含:
- 用户注册/登录/权限管理
- 订阅支付(Stripe 集成)
- 核心业务功能(数据看板加自动化任务流)
- 后台管理系统(用户管理、订单查看、配置面板)
- 完整 CI/CD 与容器化部署
全程我扮演架构审核员和 Prompt 工程师,不手动敲任何业务逻辑代码。
开发过程全记录
第 1 天:需求分析与架构设计(AI 的表现:惊艳但急躁)
第一天上午,我把产品 PRD 扔给 AI。10 分钟后,它返回了完整的系统架构图、数据库 ER 图、技术栈选型和 API 路由清单。
技术栈推荐:
Next.js 15 (App Router) + TypeScript + Prisma + PostgreSQL + Stripe + Tailwind + Docker + GitHub Actions。
亮点:
- 结构清晰,模块划分合理
- 甚至主动补充了环境变量管理策略和错误边界处理建议
隐患:
- 架构是标准模板化的,没有针对业务峰值做缓存设计
- 也没有考虑多租户隔离策略
- 我提醒了两次,它才勉强补上 Redis 会话层和行级安全策略(RLS)的占位代码
第 2 天:核心功能开发(AI 的表现:高效但缺乏肌肉记忆)
第二天进入深水区。我按模块拆分 Prompt,AI 以每小时 800 到 1200 行的速度吐代码。
以下是它生成的用户认证模块核心片段:
import NextAuth from "next-auth";
import CredentialsProvider from "next-auth/providers/credentials";
import { compare } from "bcryptjs";
import { db } from "@/lib/prisma";
export const authOptions = {
providers: [
CredentialsProvider({
name: "Credentials",
credentials: {
email: { label: "Email", type: "email" },
password: { label: "Password", type: "password" }
},
async authorize(credentials) {
if (!credentials?.email || !credentials?.password) return null;
// ... 校验逻辑
}
})
],
callbacks: {
async jwt({ token, user }) {
if (user) token.role = user.role;
return token;
},
async session({ session, token }) {
session.user.role = token.role;
return session;
}
},
pages: { signIn: "/login", error: "/auth/error" },
session: { strategy: "jwt" },
secret: process.env.NEXTAUTH_SECRET,
};
const handler = NextAuth(authOptions);
export { handler as GET, handler as POST };
问题暴露:
- 代码能跑,但仔细看会发现:缺少登录频率限制
- 密码策略校验被跳过
- JWT 未设置合理的 maxAge
我手动加了 3 条 Prompt 修正,它才补上 rateLimit 中间件和 zod 校验层。
第 3 天:集成测试与部署(AI 的表现:自信但脆弱)
最后一天,我要求 AI 输出容器化配置和自动化流水线。
以下是它生成的 Dockerfile 加 GitHub Actions CI/CD:
FROM node:20-alpine AS base
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production && npm cache clean --force
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["node", "server.js"]
name: Deploy SaaS
on:
push:
branches: [main]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build & Push
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ secrets.REGISTRY }}/saas-app:latest
- name: Deploy to Server
run: |
ssh ${{ secrets.SSH_HOST }} \
"docker pull ${{ secrets.REGISTRY }}/saas-app:latest && docker-compose up -d"
一键 Push,流水线跑通,域名解析生效,浏览器里跳出熟悉的 Dashboard。
成功上线。
成果展示
- 耗时: 68 小时
- 总代码量: 约 5000 行
- 技术栈: Next.js 15 / Prisma / PostgreSQL / Stripe / Docker / GitHub Actions
- 状态: 公网可访问,注册/订阅/数据看板全链路跑通
表面看,这是一个程序员失业倒计时的里程碑。但当我试图接手维护时,真正的噩梦才刚刚开始。
最可怕的 5 个问题(AI 开发的黑盒代价)
1. 我完全不理解自己写的代码
AI 生成的代码能跑,但逻辑链条是断裂的。它喜欢用高阶封装、动态路由、隐式类型推断。当业务需要调整一个字段的生命周期时,我发现自己像在拆一颗没有图纸的炸弹。能跑不等于可控。
2. 任何小修改,都需要重新生成大量代码
改一个表单校验规则?AI 会连带重写整个组件树。调一次 Stripe Webhook 签名逻辑?它会把路由守卫一起覆盖。上下文窗口有限,AI 记不住之前的隐性约定,只能暴力覆盖。维护成本呈指数级上升。
3. 隐藏的 Bug 无处不在,且极难调试
- 支付成功后,并发请求导致数据库状态不一致(缺少乐观锁/重试机制)
- 后台管理面板的缓存未设置失效策略,数据延迟长达 15 分钟
- 某个异步任务在内存中累积未释放,部署 4 小时后容器 OOM 重启
这些 Bug 不是语法错误,而是架构级设计缺失。AI 不会预见边界情况,它只响应你问的问题。
4. 技术栈混乱,AI 随意引入依赖
package.json 里塞了 87 个依赖。AI 为了快速解决问题,随手引入 lodash、dayjs、qs、甚至两个功能重叠的 UI 库。依赖树深不见底,npm audit 报出 12 个中高危漏洞,部分依赖已停止维护两年。
5. 安全隐患严重
- 未配置 CSP 和 CORS 白名单
- 数据库连接池未设置超时重试
- 敏感日志(含 token 片段)直接输出到 stdout
- 支付回调未做幂等性校验
AI 默认你是内部测试环境。一旦上线,这些缺口就是黑产爬取的绿色通道。
客观评价:AI 到底能做什么?不能做什么?
经过这场极限测试,我对 AI 编程的定位逐渐清晰:
✅ AI 能做什么(效率放大器)
- 快速生成原型脚手架与重复性代码(CRUD、表单、基础路由)
- 提供常见问题的标准解法(状态管理、权限拦截、错误边界)
- 辅助写测试用例、注释、文档和部署脚本
- 缩短从想法到可点击 Demo 的时间至原来的 1/5
❌ AI 不能做什么(人类护城河)
- 系统架构设计: 多租户隔离、缓存策略、消息队列选型、容灾方案
- 复杂业务逻辑: 状态机、事务边界、业务规则冲突仲裁
- 安全审计与合规: 权限越权防护、数据脱敏、GDPR/等保合规
- 长期可维护性: 代码规范统一、技术债清理、依赖治理、性能调优
结论
AI 让你更快地做出产品,但不能让你做出更好的产品。
72 小时的实验证明了一件事:AI 是顶级的执行者,但绝不是合格的决策者。
当你把编程的门槛降到会提问就行时,真正的门槛并没有消失,只是转移了:
- 从 怎么写代码 到 怎么判断代码对不对
- 从 实现功能 到 设计系统边界与容错机制
- 从 调通接口 到 保障安全、性能与可维护性
未来的 SaaS 开发者,核心竞争力不再是手速或背 API,而是架构思维、调试能力、安全意识和产品嗅觉。AI 可以帮你跑完 80% 的路,但最后 20% 决定生死的路,只能靠你自己走。
你怎么看?
- 你用过 AI 生成过完整项目吗?踩过哪些坑?
- 如果 AI 能写完代码,你认为开发者的不可替代性究竟在哪?
欢迎在评论区留下你的实战经验或反驳观点。技术没有标准答案,只有不断迭代的认知。
(附:本次实验的 Prompt 模板、架构决策清单、安全审计 Checklist 已整理成开源仓库,见评论区置顶链接。)
#AI编程 #SaaS开发 #独立开发者 #技术思考 #2026开发趋势
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)