我用 Cursor + Claude Code 搭了全栈项目:从需求到部署,AI 干了 90% 的活

适合想用 AI 工具从零搭建完整项目的开发者。
本文用 Cursor + Claude Code 从需求分析到部署上线,全程记录 AI 完成了哪些工作、哪些必须人工介入。

背景:AI 编程工具到底能做多少

2026 年 AI 编程工具已经从"代码补全"进化到"自主执行"。但到底能做多少?是 50% 还是 90%?

我做了一个实验:用 Cursor + Claude Code 从零搭建一个完整的全栈项目(前后端 + 数据库 + 部署),记录每个环节 AI 完成了多少。

项目:任务管理 Web 应用

功能需求:

  • 用户注册/登录
  • 任务 CRUD(创建/读取/更新/删除)
  • 任务分类和标签
  • 团队协作(邀请成员)
  • 数据统计面板

技术栈:

  • 前端:React + TypeScript + Tailwind CSS
  • 后端:Python FastAPI
  • 数据库:PostgreSQL
  • 部署:Docker + Nginx

阶段 1:需求分析(AI 完成度:80%)

我给 Claude Code 一句话需求:

帮我搭建一个任务管理 Web 应用,支持用户注册登录、任务 CRUD、团队协作、数据统计。
技术栈:React + FastAPI + PostgreSQL + Docker。
先帮我分析需求,列出功能模块和技术方案。

Claude Code 输出了完整的需求分析:

功能模块:
1. 用户系统:注册、登录、JWT 认证、密码重置
2. 任务系统:CRUD、分类、标签、优先级、截止日期
3. 团队系统:创建团队、邀请成员、权限管理
4. 统计系统:任务完成率、成员活跃度、时间分布

技术方案:
- 前端:React 18 + TypeScript + Tailwind + React Router
- 后端:FastAPI + SQLAlchemy + Alembic(数据库迁移)
- 认证:JWT + bcrypt
- 部署:Docker Compose(前端 + 后端 + 数据库 + Nginx)

数据库设计:
[完整的表结构和字段定义]

人工介入:我调整了 3 个功能优先级(把"数据统计"降到 Phase 2),确认了技术选型。

阶段 2:数据库设计(AI 完成度:95%)

基于确认的需求,帮我设计 PostgreSQL 数据库 schema,包括:
- 所有表的字段定义
- 外键关系
- 索引建议
- 生成 Alembic 迁移文件

Claude Code 输出了完整的 SQL schema + Alembic 迁移代码,包括:

  • users 表(id, email, password_hash, name, created_at)
  • teams 表(id, name, owner_id, created_at)
  • team_members 表(team_id, user_id, role)
  • tasks 表(id, title, description, status, priority, due_date, assignee_id, team_id)
  • tags 表(id, name, color)
  • task_tags 表(task_id, tag_id)

人工介入:我加了一个 deleted_at 字段(软删除),其他直接用了。

阶段 3:后端开发(AI 完成度:90%)

API 接口

基于数据库 schema,帮我实现 FastAPI 后端,包括:
- 所有 CRUD 接口
- JWT 认证中间件
- 权限校验
- 分页查询
- 错误处理

Claude Code 生成了完整的后端代码:

  • main.py - FastAPI 入口
  • models/ - SQLAlchemy 模型
  • schemas/ - Pydantic 请求/响应 schema
  • routers/ - API 路由(auth, tasks, teams, stats)
  • middleware/ - JWT 认证中间件
  • database.py - 数据库连接

代码量:约 800 行 Python,AI 生成了 750 行,我手动修改了 50 行。

人工介入的 50 行

  • 调整了分页查询的默认值
  • 加了软删除逻辑
  • 修正了一个外键级联删除的问题
  • 添加了请求频率限制

测试

给所有 API 接口写 pytest 测试用例,覆盖正常情况和异常情况。

AI 生成了 35 个测试用例,覆盖了所有接口的正常/异常场景。我手动补充了 5 个边界条件测试。

阶段 4:前端开发(AI 完成度:85%)

基于后端 API,帮我实现 React 前端,包括:
- 页面路由
- 登录/注册页面
- 任务列表页面(支持筛选、排序)
- 任务详情/编辑页面
- 团队管理页面
- 数据统计图表
- 响应式布局

Claude Code 生成了完整的前端代码:

  • src/pages/ - 所有页面组件
  • src/components/ - 可复用组件
  • src/api/ - API 调用封装
  • src/hooks/ - 自定义 hooks
  • src/context/ - 状态管理

代码量:约 1200 行 TypeScript,AI 生成了 1000 行,我手动修改了 200 行。

人工介入的 200 行

  • UI 细节调整(按钮颜色、间距、动画)
  • 表单验证逻辑补充
  • 错误提示文案优化
  • 移动端适配微调

阶段 5:Docker 部署(AI 完成度:95%)

帮我写 Docker Compose 配置,包括:
- 前端(Nginx 代理)
- 后端(FastAPI + Uvicorn)
- 数据库(PostgreSQL)
- 环境变量配置
- 健康检查

AI 生成了完整的 docker-compose.yml + Dockerfile(前后端各一个)+ nginx.conf。直接 docker-compose up 就能跑。

人工介入:修改了 Nginx 的 CORS 配置和 SSL 证书路径。

总结:AI 完成度统计

阶段 AI 生成代码量 人工修改量 AI 完成度
需求分析 100% 结构 调整优先级 80%
数据库设计 完整 schema 加 1 个字段 95%
后端开发 750/800 行 50 行 90%
前端开发 1000/1200 行 200 行 85%
Docker 部署 完整配置 CORS 微调 95%
总计 约 3000 行 约 300 行 约 90%

AI 做不好的 10%

环节 为什么 AI 做不好 必须人工介入
UI 细节 AI 不知道你的审美偏好 按钮颜色、间距、动画
业务逻辑 AI 不懂你的业务规则 软删除策略、权限模型
性能优化 AI 写的是"能跑"的代码 数据库索引、缓存策略
安全加固 AI 不会主动做安全 频率限制、输入校验、SQL 注入防护
错误处理 AI 的错误处理太泛 具体的错误提示文案
移动端适配 AI 生成的是桌面优先 响应式细节调整

踩坑记录

坑 1:AI 生成的代码风格不一致

症状:后端有的函数用 async,有的不用。前端有的用 functional component,有的用 class。

原因:每次对话 AI 的"记忆"有限,前后生成的代码风格可能不同。

解决:在 CLAUDE.md 里明确写代码规范,或者一次性生成完整代码。

坑 2:AI 不处理边界条件

症状:任务列表页面,没有任务时显示空白,没有"暂无数据"提示。

原因:AI 默认假设数据存在,不处理空状态。

解决:让 AI 补充空状态、加载状态、错误状态的处理。

坑 3:AI 生成的 API 响应格式不统一

症状:有的接口返回 {data: ...},有的返回 {result: ...}

解决:在 prompt 里统一规定响应格式 {code, message, data}

坑 4:AI 不做数据库索引优化

症状:任务列表查询很慢,1000 条数据要 2 秒。

原因:AI 生成的 schema 没有加索引。

解决:手动给 tasks.team_idtasks.assignee_id 加索引。

坑 5:AI 的 Docker 配置不含健康检查

症状:数据库还没启动完,后端就报连接失败。

解决:让 AI 加 depends_on + healthcheck 配置。

工作量对比

方式 预估耗时 实际耗时
全手动开发 5-7 天 -
AI 辅助(本次) - 1.5 天
节省 - 约 75%

总结

3 条核心经验:

  1. AI 能完成 90% 的代码,但 10% 的人工介入决定了项目质量。UI 细节、业务逻辑、性能优化、安全加固必须人工做。

  2. 先让 AI 做规划再写代码。需求分析和数据库设计让 AI 先做,你确认后再开发。返工率降低 80%。

  3. AI 生成的代码必须 review。不是不信任 AI,而是 AI 不懂你的业务。review 的重点是边界条件、错误处理、安全问题。


你用 AI 工具搭过完整项目吗?AI 完成了多少?评论区交流。

更多推荐