Vibe Coding 入门教程
Vibe Coding(氛围编程)是一种借助大语言模型(LLM),用自然语言描述需求来生成代码的全新编程范式,让你将精力集中在「想做什么」而非「怎么写」。
什么是 Vibe Coding
「Vibe Coding」一词由前特斯拉 AI 总监、OpenAI 联合创始人 Andrej Karpathy 在 2025 年 2 月首次提出。
他在社交媒体上这样描述:一种全新的编码方式,你完全沉浸在氛围中,拥抱指数级的效率提升,甚至忘记代码本身的存在。
简单来说,Vibe Coding 就是:你用人话告诉 AI 你想要什么功能,AI 帮你把代码写出来。
你不需要纠结语法细节、不需要记忆 API 参数、不需要手动调试每一个错误——这些都由 AI 来处理。
你的角色从「写代码的人」转变为「描述需求的人」,或者说——从程序员变成了产品经理+架构师。

Vibe Coding 不是让 AI 替代你思考,而是让 AI 处理低价值的重复劳动,让你专注于更有创造性的部分:理解问题、设计架构、验证结果。
Vibe Coding vs 传统编程
理解 Vibe Coding 与传统的编程方式有什么不同,有助于你更好地使用它。
| 维度 | 传统编程 | Vibe Coding |
|---|---|---|
| 输入方式 | 逐行手写代码 | 自然语言描述需求 |
| 关注点 | 语法、API、实现细节 | 需求、架构、验证 |
| 调试方式 | 手动断点/日志调试 | 把错误信息丢给 AI,让它修复 |
| 速度 | 取决于打字速度和熟练度 | 取决于需求描述的清晰程度 |
| 适用场景 | 所有编程任务 | 原型开发、CRUD、脚本工具、UI 页面 |
| 核心技能 | 编程语言掌握度 | 需求拆解 + 结果验证能力 |
为什么现在可以 Vibe Coding
Vibe Coding 之所以在 2025 年成为可能,是因为几个关键条件的成熟。
大模型编码能力的飞跃
GPT-4、Claude 4、Gemini 等模型在代码生成方面的准确率大幅提升。
它们不仅能写出语法正确的代码,还能理解项目上下文、遵循最佳实践、处理边界情况。
更重要的是,它们可以处理超长上下文——一次性阅读整个项目,理解你的代码库结构。
AI 编程工具的爆发
Cursor、Claude Code、GitHub Copilot、Windsurf 等工具将 AI 能力深度集成到了开发流程中。
这些工具不仅能补全代码,还能直接修改文件、运行终端命令、搜索代码库——像一个真正的开发者一样工作。
Agent 模式的出现
Agent 模式的工具可以自主执行多步骤任务:读取文件、编写代码、运行测试、根据测试结果修复错误。
你只需要下达一个初始指令,Agent 会自己循环迭代直到任务完成。
主流工具介绍
以下是目前最主流的 Vibe Coding 工具,各有侧重。
| 工具 | 类型 | 核心特点 | 适合场景 |
|---|---|---|---|
| Qoder | Agent IDE | 深度代码库理解、Quest 自动任务、多 Agent、Repo Wiki、CLI/IDE 双模式 | 中大型工程、长期项目维护 |
| Trae | AI 原生 IDE | 对话驱动开发、自动生成与修改代码 | Vibe Coding、新项目快速搭建 |
| Cursor | AI 编辑器 | 项目级理解、多文件修改、Agent 模式 | 全栈开发、大型项目 |
| Claude Code | CLI Agent | 在终端中执行复杂任务、自动修改项目 | 后端、自动化开发 |
| GitHub Copilot | AI 编程助手 | 智能补全、聊天、Agent | 日常开发辅助 |
| Windsurf | AI 编辑器 | Cascade 工作流、自动多文件修改 | 快速开发、小中型项目 |
| OpenAI Codex | AI 编程 Agent | 理解任务并执行完整开发流程 | 自动化开发 |
| Bolt.new | 在线 AI 开发平台 | 一句话生成完整应用 | MVP、原型验证 |
| v0 by Vercel | UI 生成工具 | 自动生成 React 页面 | 页面设计、组件开发 |
| Replit AI | 在线 IDE | 云开发 + AI 协作 | 教学、快速测试 |
| Lovable | AI 应用生成器 | 从描述直接生成 SaaS | 创业、产品验证 |
| Firebase Studio | AI 应用平台 | AI + 后端服务集成 | App / Web 开发 |
如果你是第一次接触 Vibe Coding,可以先使用国内的 Qoder 或 Trae 开始,操作类似 VS Code,学习曲线最平缓,且不会改变你熟悉的编辑器环境。
快速开始
下面以 Claude Code(终端 CLI)和 Cursor 为例,展示 Vibe Coding 的典型工作流。
使用 Claude Code
假设你要写一个 Python 脚本,从 CSV 文件中读取数据并生成统计报告。
第一步:在终端中启动 Claude Code。
claude

第二步:用自然语言描述你的需求。
你不需要写任何代码,只需要清楚地说明你想要的:
# 直接用人话告诉 AI 你要什么 $ claude > 帮我写一个 Python 脚本,读取 sales.csv 文件, > 按月份统计销售额,生成一个 sales_report.csv 报告文件。 > 报告包含:月份、总销售额、订单数、平均客单价。 > 跳过空行和无效数据,有异常时打印警告但继续执行。
第三步:AI 会自动创建文件、编写代码、并运行验证。
实例
import csv
from collections import defaultdict
import sys
def generate_sales_report(input_file, output_file):
"""从 CSV 读取销售数据,按月统计并输出报告"""
# 按月聚合数据
monthly = defaultdict(lambda: {"total_sales": 0.0, "orders": 0})
# 读取 CSV(使用 utf-8-sig 处理 BOM 头)
with open(input_file, "r", encoding="utf-8-sig") as f:
reader = csv.DictReader(f)
for row_num, row in enumerate(reader, start=2):
try:
# 跳过完全空行
if not any(row.values()):
continue
# 提取字段——必填字段缺失时跳过并警告
date_str = row.get("date", "")
amount_str = row.get("amount", "")
if not date_str or not amount_str:
print(f"警告: 第 {row_num} 行缺少必填字段,已跳过")
continue
# 解析月份(取前7位:YYYY-MM)
month = date_str[:7]
amount = float(amount_str)
monthly[month]["total_sales"] += amount
monthly[month]["orders"] += 1
except (ValueError, KeyError) as e:
print(f"警告: 第 {row_num} 行数据异常 ({e}),已跳过")
continue
# 写入报告
with open(output_file, "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["月份", "总销售额", "订单数", "平均客单价"])
for month in sorted(monthly.keys()):
data = monthly[month]
avg = round(data["total_sales"] / data["orders"], 2)
writer.writerow([month, data["total_sales"], data["orders"], avg])
print(f"报告已生成: {output_file}")
print(f"共覆盖 {len(monthly)} 个月份")
# 程序入口
if __name__ == "__main__":
input_file = "sales.csv"
output_file = "sales_report.csv"
generate_sales_report(input_file, output_file)
输入示例 CSV:
date,product,amount,quantity 2025-01-15,Widget A,199.00,2 2025-01-20,Gadget B,59.50,1 2025-02-03,Widget A,199.00,3 2025-02-14,Gadget B,59.50,2 2025-03-08,Widget A,199.00,1
运行结果:
$ python sales_report.py 报告已生成: sales_report.csv 共覆盖 3 个月份
生成报告内容:
月份,总销售额,订单数,平均客单价 2025-01,258.5,2,129.25 2025-02,258.5,2,129.25 2025-03,199.0,1,199.0
使用 Cursor
在 Cursor 中,按 Cmd + I(Mac)或 Ctrl + I(Windows)打开 Composer。
Composer 支持多文件编辑,可以一次性修改项目中多个文件。
你可以在 Composer 中输入:
## 需求 给现有的 REST API 项目添加用户认证功能: 1. 创建 User 模型(字段:id, username, email, hashed_password, created_at) 2. 实现 /register 和 /login 两个接口 3. 使用 JWT token,过期时间 30 分钟 4. 注册时验证 email 格式和 username 长度(3-20 字符) 5. 密码最少 8 位,至少包含一个数字和一个字母 ## 技术栈 - FastAPI + SQLAlchemy + SQLite - passlib 做密码哈希 - python-jose 做 JWT
Cursor 会读取你的项目结构,然后逐步创建模型、路由、中间件等文件。
期间你可以随时提修改意见,比如「把 JWT 过期时间改成 1 小时」「给返回结果加上用户角色字段」。
Vibe Coding 最佳实践
虽然 Vibe Coding 降低了写代码的门槛,但要想用得顺畅,依然需要掌握一些技巧。
需求描述要具体
模糊的需求产出模糊的代码。
| 不推荐的描述 | 推荐的描述 |
|---|---|
| 帮我写个登录功能 | 实现邮箱+密码登录,使用 JWT token,过期时间 30 分钟,密码用 bcrypt 加密 |
| 美化一下这个页面 | 把按钮改成圆角、加上 hover 阴影效果,主色调改为蓝色 #3b82f6 |
| 修一下这个 bug | 当用户输入负数时,程序崩溃了。应该返回错误提示而不是崩溃。错误堆栈见下。 |
| 加个缓存 | 用 Redis 缓存用户信息,key 为 user:{id},过期时间 10 分钟,更新时主动失效 |
分步骤推进
不要一开始就描述一个完整的大型系统。
把大任务拆成多个小步骤,每步验证通过后再进行下一步。
比如:先搭数据模型 → 再写 API 接口 → 再加认证 → 再加前端页面。
这样每一步的上下文都清晰可控,AI 不容易在中间「迷失方向」。
始终验证结果
AI 生成的代码不一定正确。
你需要做的事:
- 运行代码,确认它能正常工作
- 检查关键逻辑,确保没有隐藏的 bug
- 确认边界情况被正确处理(空输入、异常值、并发)
- 检查安全相关的代码(密码处理、SQL 查询、权限校验)
Vibe Coding 的核心原则:你信任 AI 来写代码,但你不信任 AI 写出来的代码一定是正确的。验证是你不可推卸的责任。
提供足够的上下文
AI 不了解你的项目,除非你告诉它。
在描述需求时,提供以下上下文会让结果好很多:
- 当前使用的技术栈和框架版本
- 相关的文件路径和代码片段
- 项目的目录结构和命名规范
- 已有的数据库模型或接口定义
用错误信息驱动迭代
这是 Vibe Coding 最高效的调试方式。
当代码运行出错时,直接把错误信息复制给 AI,让它修复。
大部分语法错误、类型错误、导入错误,AI 都能在几秒内修好。
实例
Traceback (most recent call last):
File "main.py", line 23, in process_data
result = data["results"] / count
TypeError: unsupported operand type(s) for /: 'str' and 'int'
# 补充说明
# count 可能为 0,需要处理除零错误
常见误区与注意事项
误区一:AI 可以替代所有编程知识
Vibe Coding 降低了编程门槛,但没有消除门槛。
你仍然需要理解基本概念:变量、函数、API、数据库、HTTP、异步等。
否则你无法判断 AI 生成的代码是否正确,也无法有效地描述需求。
误区二:一次性描述所有功能
不要把整个产品的 PRD 文档复制给 AI,期望它一次性生成完美代码。
AI 的注意力有上限,需求越多越容易出错。
更有效的方式是:核心功能 → 验证 → 添加功能 → 验证 → 继续迭代。
误区三:不读 AI 写的代码
有些开发者拿到 AI 生成的代码后直接合入,这是非常危险的。
AI 可能会引入安全漏洞、性能问题、或者完全不合理的架构。
你至少需要快速浏览一遍关键逻辑,确保没有明显问题。
注意事项
- 敏感信息(API 密钥、数据库密码)不要直接写在对话里——先在代码中用环境变量占位,再手动填入
- 每次关键修改后提交 Git,方便出问题时回滚
- AI 生成的代码可能不符合你团队的编码规范,需要手动调整
- 对于需要高可靠性的代码(支付、认证、数据处理),AI 生成后务必人工审查
适合 Vibe Coding 的场景
Vibe Coding 并非万能,了解什么场景适合它能帮你更好地分配精力。
| 场景 | 适合度 | 说明 |
|---|---|---|
| 原型/MVP 开发 | 极高 | 快速验证想法,几个小时出一个可用的 demo |
| CRUD 接口 | 极高 | 重复模式明确,AI 完成度很高 |
| 前端页面/组件 | 很高 | HTML/CSS/React 组件,AI 非常擅长 |
| 脚本/自动化工具 | 很高 | 一次性脚本、数据处理、文件操作 |
| 单元测试编写 | 很高 | 根据函数签名生成测试用例 |
| 复杂算法实现 | 中等 | 需要清晰的算法描述,且需人工验证正确性 |
| 底层系统优化 | 较低 | 涉及内存布局、缓存行、硬件特性,AI 容易出现细微错误 |
| 高安全需求代码 | 谨慎 | 加密、认证、支付类代码,AI 生成后必须专家审查 |
小结
Vibe Coding 代表了一种编程范式的转变:从「程序员手动实现」走向「程序员描述需求,AI 负责实现」。
它不会让程序员失业,但它会改变程序员的工作方式。
未来的核心竞争力不再是写代码的速度,而是:拆解问题的能力、验证结果的能力、以及判断什么值得做的眼光。
Vibe Coding 真正的价值不是让你少写代码,而是让你有更多时间去思考「应该写什么」。
