AI 编程实战:用 ChatGPT + Cursor 一周开发一个 SaaS

我用 AI 工具一周时间,从零到上线了一个 SaaS 产品。本文复盘全过程,包括每个环节的 AI 用法和实际效果。

一、项目背景

产品:AI 内容审核 SaaS(自动检测文章中的违规内容)

目标:MVP 阶段,验证市场需求

团队:只有我一个人

时间:7 天

二、AI 工具栈

| 工具 | 用途 | 节省时间 | |---|---|---| | ChatGPT | 架构设计、文档 | 50% | | Cursor | 写代码主力 | 60% | | v0.dev | UI 设计 | 70% | | Copilot | 行内补全 | 20% |

三、7 天开发日志

Day 1:架构设计

任务

  • 选定技术栈
  • 设计数据库
  • 画 API 文档

AI 怎么帮

\\\` Prompt 给 ChatGPT:

我要做一个内容审核 SaaS,技术要求:

  • 后端:Python(熟悉度高)
  • 前端:Next.js
  • 数据库:PostgreSQL
  • 部署:Vercel + Railway
  • 流量预期:初期 1000 用户/天
请帮我:
  1. 推荐整体架构
  1. 设计核心数据表
  1. 列出 MVP 必备的核心功能
  1. 给出开发顺序建议
\\\`

输出

ChatGPT 给了完整的架构图: \\\` ┌─────────────┐ │ 用户端 │ │ (Next.js) │ └──────┬──────┘ ↓ ┌─────────────┐ ┌──────────────┐ │ API 网关 │ ←─────→ │ PostgreSQL │ │ (FastAPI) │ │ (数据) │ └──────┬──────┘ └──────────────┘ ↓ ┌─────────────┐ ┌──────────────┐ │ 审核服务 │ ←─────→ │ OpenAI API │ │ (Celery) │ │ (审核模型) │ └─────────────┘ └──────────────┘ \\\`

实际用时:从原本 1 天缩短到 2 小时。

Day 2-3:后端 API

任务

  • FastAPI 项目搭建
  • 用户认证(JWT)
  • 文章 CRUD
  • 审核任务队列

AI 怎么帮

\\\` // 在 Cursor 中输入: @file main.py 创建一个 FastAPI 项目,包含:
  1. 用户注册/登录(JWT)
  1. 文章的 CRUD
  1. 异步任务队列(Celery)
  1. PostgreSQL 连接(SQLAlchemy)
要求:
  • 类型注解完整
  • Pydantic 数据验证
  • 错误处理
  • 测试用例
\\\`

Cursor 输出

直接生成完整的项目结构:

\\\`python

app/main.py

from fastapi import FastAPI, Depends, HTTPException, status from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials from sqlalchemy.orm import Session from typing import List import jwt

from app.database import getdb from app.models import User, Article from app.schemas import UserCreate, ArticleResponse from app.auth import createaccesstoken, verifytoken

app = FastAPI(title="Content Moderation API")

@app.post("/api/auth/register", responsemodel=UserCreate) async def register(userdata: UserCreate, db: Session = Depends(getdb)): # 完整实现... pass

更多 endpoints...

\\\`

实际用时:2 天做完通常 1 周的工作。

Day 4:前端 UI

任务

  • 用户登录页
  • 文章提交页
  • 审核结果展示

AI 怎么帮

用 v0.dev(Vercel 出的 AI UI 生成工具): \\\` 描述:内容审核 SaaS 的提交页面

需求:

  • 标题输入框
  • 富文本编辑器(粘贴文章)
  • 提交按钮
  • 顶部导航(Logo + 用户菜单)
  • 深色模式
风格:现代简约,参考 Linear / Notion \\\`

输出

5 套完整 UI 代码(React + Tailwind),直接复制粘贴可用。

实际用时:1 天(原本 3 天)。

Day 5:AI 审核核心逻辑

任务

  • 调用 OpenAI API
  • 处理审核结果
  • 返回结构化数据

AI 怎么帮

\\\` Prompt:

我需要审核一段文章是否合规。请用 OpenAI API 实现:

输入:{title, content} 输出 JSON: { "iscompliant": bool, "violations": [ {"type": "...", "severity": "...", "location": "..."} ], "suggestion": "..." }

要求:

  1. 审核维度:色情、暴力、政治敏感、违法
  1. 严重程度分级:低/中/高
  1. 高严重度直接拒,低/中给建议
\\\`

输出

\\\`python async def moderatearticle(title: str, content: str) -> dict: prompt = f"""作为内容审核专家,评估以下文章:

标题:{title} 内容:{content}

请按维度(色情/暴力/政治/违法)评估,给出 JSON 结果。 """ response = await openai.ChatCompletion.create( model="gpt-4o", messages=[ {"role": "system", "content": SYSTEMPROMPT}, {"role": "user", "content": prompt} ], responseformat={"type": "jsonobject"} ) return json.loads(response.choices[0].message.content) \\\`

Day 6:调试 + 测试

任务

  • 修复 Bug
  • 写测试
  • 性能优化

AI 怎么帮

\\\` // Cursor: 选中测试代码 → Cmd+K 为这个测试函数生成 5 个边界条件测试用例

// ChatGPT: 粘贴报错 → 找根因 \\\`

发现的 Bug:

  • N+1 查询(已修复)
  • 异步任务超时(已加超时)
  • 前端 XSS 风险(已用 DOMPurify)
实际用时:1 天。

Day 7:部署 + 上线

任务

  • Vercel 部署前端
  • Railway 部署后端
  • 配置域名 + HTTPS
  • 监控 + 日志

AI 怎么帮

\\\` 问 ChatGPT:如何把 FastAPI + Next.js + PostgreSQL 部署到云?给我最便宜的方案。

推荐:Vercel + Railway + Supabase(免费层起步) \\\`

30 分钟配置完成上线。

四、数据统计

| 维度 | 不用 AI | 用 AI | |---|---|---| | 总代码行数 | 8000 | 8000 | | 开发时间 | 4-6 周 | 1 周 | | Bug 数量 | 多 | 略多(需要更多 review) | | 文档完整度 | 60% | 95% | | 测试覆盖率 | 50% | 75% |

五、关键经验

5.1 AI 不是万能

  • 架构决策仍要人来定
  • 业务逻辑要人 review
  • AI 写的代码一定要测试

5.2 Prompt 是核心能力

  • 同样的工具,Prompt 不同输出质量差 5-10 倍
  • 投入时间学 Prompt 写作 = 投入时间学编程

5.3 速度 ≠ 质量

  • 写得快 = 可以多尝试几个版本
  • 但仍需要 review 和测试

5.4 持续学习

  • AI 工具每周都在更新
  • Cursor、ChatGPT 几乎月月发布新功能
  • 保持学习才能保持效率

六、给独立开发者的建议

如果你也想用 AI 加快开发:

  1. 先学 Prompt:这是新时代的"编程语言"
  1. 选对工具:Cursor 是当下最强
  1. 小步快跑:每天发布一个功能
  1. 持续迭代:MVP 后根据用户反馈改进
  1. 重视营销:AI 写代码能加速 5 倍,但写文案、设计、运营仍要人

七、结论

AI 时代,一个人 + AI 工具 = 以前一个小团队。 但前提是:你得会指挥 AI。

不会用 AI 的人,正在被会用 AI 的人替代。

现在就开始学,从一个简单项目开始,边做边学。