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 官方文档:

Cursor Rules

项目规则的作用,就是让 AI 每次工作时都有稳定的工程上下文,而不是依赖一次 Prompt 临时说明。


二、从 0 到 1 构建一个全栈项目

以一个简单的团队任务管理系统为例:

OpenTask

功能:

用户
 ├── 注册 / 登录
 ├── Workspace
 │    ├── 成员
 │    └── Project
 │         └── Task
 │              └── Comment
 └── Dashboard

技术栈:

Nuxt 4
Hyperf
MySQL
Redis
Docker
GitHub

Nuxt 4:

Nuxt 官方文档

Hyperf:

Hyperf 官方项目

Docker:

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:

Vitest 官方文档

E2E 测试可以使用 Playwright:

Playwright 官方文档

例如 Task 创建功能至少测试:

正常创建
参数错误
未登录
无权限
资源不存在
数据库异常

Git 则负责控制 AI 的修改范围:

git diff
git add .
git commit -m "feat(task): implement task CRUD"

不要让 AI 连续修改几十个文件之后才检查 Diff。


六、常用 AI Coding 工具

目前比较常见的工具主要有三类。

Cursor

适合:

项目开发
代码阅读
代码修改
重构
Debug
Agent Coding

Cursor 官方文档

Claude Code

适合:

终端开发
代码库分析
批量修改
自动测试
脚本和 Git 操作

Claude Code 官方文档

GitHub Copilot

适合 GitHub 生态:

代码
Issue
Pull Request
Code Review
GitHub Actions

GitHub Copilot 官方文档

不需要过度纠结工具排名,实际项目中完全可以根据任务选择不同工具。


七、几个实用的 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:

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 才真正能够成为高效的开发工具。