我用 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_id、tasks.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 完成了多少?评论区交流。

更多推荐