Vibe Coding 技巧:从 0 到 1 构建一个全栈项目
近年来,Cursor、Claude Code、GitHub Copilot 等 AI Coding 工具快速发展,AI 已经可以参与代码编写、项目分析、测试、Debug 和重构。
Vibe Coding 因此逐渐成为一种新的开发方式。
但 Vibe Coding 并不是“把需求告诉 AI,然后让 AI 把整个项目写出来”。
更合理的理解是:
开发者负责需求、架构、技术决策和验收,AI 负责大量具体的编码和工程执行工作。
核心流程可以概括为:
需求 → 设计 → 拆分任务 → AI Coding → 测试 → Review → Git → CI/CD
一、先建立项目上下文
使用 AI 开发项目,最容易出现的问题是 AI 不理解项目。
因此项目开始时,建议先建立基本文档:
project/
├── docs/
│ ├── requirements.md
│ ├── architecture.md
│ ├── database.md
│ └── api.md
│
├── .cursor/
│ └── rules/
│
├── frontend/
├── backend/
├── docker-compose.yml
└── README.md
其中:
requirements.md 描述产品需求;architecture.md 描述技术架构和模块关系;database.md 描述数据模型;api.md 描述接口规范;.cursor/rules 描述项目开发规则。
例如:
技术栈:
Nuxt 4 + Vue 3 + TypeScript
PHP 8.3 + Hyperf
MySQL 8 + Redis
Docker Compose
开发规范:
1. API 统一使用 /api/v1
2. 数据库修改必须使用 Migration
3. Controller 不处理复杂业务
4. 优先复用现有代码
5. 禁止无理由增加依赖
6. 不修改无关模块
Cursor 官方文档:
项目规则的作用,就是让 AI 每次工作时都有稳定的工程上下文,而不是依赖一次 Prompt 临时说明。
二、从 0 到 1 构建一个全栈项目
以一个简单的团队任务管理系统为例:
OpenTask
功能:
用户
├── 注册 / 登录
├── Workspace
│ ├── 成员
│ └── Project
│ └── Task
│ └── Comment
└── Dashboard
技术栈:
Nuxt 4
Hyperf
MySQL
Redis
Docker
GitHub
Nuxt 4:
Hyperf:
Docker:
项目不要一次全部实现,而是拆成:
TASK-001 用户注册
TASK-002 用户登录
TASK-003 Workspace
TASK-004 Project
TASK-005 Task
TASK-006 Comment
TASK-007 Dashboard
每个任务尽量独立完成。
例如 Task:
实现 Task CRUD
Backend:
- Migration
- Model
- Service
- Controller
- Validation
- API Test
Frontend:
- TaskList
- TaskForm
- TaskDetail
要求:
- 支持分页
- 支持搜索
- 支持状态过滤
- 检查用户权限
- 不增加第三方依赖
验收:
- 创建成功
- 修改成功
- 删除成功
- 无权限返回 403
- 测试全部通过
相比一句“帮我做任务管理”,这种任务描述更加可靠。
三、Vibe Coding 最重要的技巧:先分析,再修改
面对已有项目,不要直接让 AI 修改。
例如:
请分析当前登录流程。
检查:
1. Controller
2. Service
3. User Model
4. Token
5. Redis
6. Exception
7. API Response
暂时不要修改代码。
说明当前实现以及建议修改的文件。
确认方案后,再开始编码。
一个比较稳定的流程是:
Analyze
↓
Plan
↓
Implement
↓
Test
↓
Review
而不是:
Prompt
↓
大量生成代码
↓
最后才发现方向错了
四、控制 AI 的修改范围
AI 最容易出现的问题之一,就是“顺手重构”。
例如只是修复一个登录 Bug,却修改了:
Controller
Service
Repository
Database
Frontend
依赖
配置
因此任务中应该明确:
只解决当前问题。
不要:
- 重构项目
- 修改数据库结构
- 增加依赖
- 修改公共 API
- 修改其他模块
遵循:
Small Task + Small Diff + Small Commit
一次只处理一个明确的问题。
五、测试和 Git 是 Vibe Coding 的安全线
AI 生成代码之后,不能直接认为功能完成。
至少应该:
代码
↓
Test
↓
Build
↓
Review
↓
Git Commit
前端可以使用 Vitest:
E2E 测试可以使用 Playwright:
例如 Task 创建功能至少测试:
正常创建
参数错误
未登录
无权限
资源不存在
数据库异常
Git 则负责控制 AI 的修改范围:
git diff
git add .
git commit -m "feat(task): implement task CRUD"
不要让 AI 连续修改几十个文件之后才检查 Diff。
六、常用 AI Coding 工具
目前比较常见的工具主要有三类。
Cursor
适合:
项目开发
代码阅读
代码修改
重构
Debug
Agent Coding
Claude Code
适合:
终端开发
代码库分析
批量修改
自动测试
脚本和 Git 操作
GitHub Copilot
适合 GitHub 生态:
代码
Issue
Pull Request
Code Review
GitHub Actions
不需要过度纠结工具排名,实际项目中完全可以根据任务选择不同工具。
七、几个实用的 Vibe Coding Prompt
项目分析
请阅读当前项目。
不要修改代码。
分析项目结构、技术栈、核心模块和依赖关系,
指出当前实现中值得注意的问题。
功能开发
实现用户登录功能。
要求:
1. 使用现有认证机制
2. 使用现有 API Response
3. 不增加依赖
4. 不修改无关模块
5. 添加必要测试
完成后执行测试并报告结果。
Debug
当前出现以下错误:
[错误日志]
请先定位根因,不要直接猜测。
按照:
复现 → 定位 → 分析 → 修复 → 测试
完成整个过程。
Code Review
请 Review 当前修改。
重点检查:
安全、权限、异常处理、数据库查询、
性能和测试覆盖。
不要修改代码,只输出问题。
其实不需要复杂 Prompt。
一个好的任务通常只需要:
目标
+
范围
+
约束
+
验收标准
八、从 Demo 到生产
如果只是:
AI
↓
生成代码
↓
能运行
这只能算 Demo。
真正的项目应该加入:
Git
↓
Pull Request
↓
Automated Test
↓
Code Review
↓
Build
↓
Deploy
例如使用 GitHub Actions:
自动执行:
PHP Test
TypeScript Check
Lint
Vitest
E2E
Docker Build
这样 AI 负责提高开发速度,而 Git、测试和 CI/CD 负责保证代码质量。
九、Vibe Coding 的几个核心原则
如果只记住几个技巧,可以总结为:
1. 不要一开始就 Coding。
先明确需求、架构和数据模型。
2. 给 AI 足够的项目上下文。
规则、架构、数据库和 API 应该形成项目文档。
3. 把大需求拆成小任务。
一次只完成一个可以独立验证的功能。
4. 限制修改范围。
明确哪些可以修改,哪些不能修改。
5. 测试必须跟着功能走。
不要等项目完成以后才开始测试。
6. 经常查看 Git Diff。
AI 改了什么,开发者必须知道。
7. 重要技术决策不要完全交给 AI。
架构、数据库、安全、权限和生产环境仍然需要开发者负责。
十、总结
Vibe Coding 并不是:
不会写代码
+
AI
=
程序员
更准确的理解是:
软件工程能力
+
AI Coding
=
更高的开发效率
传统开发中,开发者需要亲自完成大量代码编写;Vibe Coding 则把其中大量重复性的实现工作交给 AI。
但以下工作仍然非常重要:
需求分析
架构设计
任务拆解
代码 Review
测试验证
安全控制
Git 管理
因此,一个成熟的 Vibe Coding 工作流可以简单归纳为:
需求
↓
架构
↓
任务
↓
AI Coding
↓
Test
↓
Review
↓
Git
↓
CI/CD
真正值得学习的,不是如何写一个“万能 Prompt”,而是如何把 AI 的代码生成能力融入原有的软件工程流程。
当开发者能够清楚地知道“做什么、为什么这么做、修改什么、如何验证”,AI 才真正能够成为高效的开发工具。