"Vibe coding" 是近年来在开发者社区(尤其是 AI 工程与创意编程圈子)中出现的一个新兴俚语,并不是一个正式的学术或工程术语。它通常用来描述一种 高度依赖直觉、情绪、氛围感,而非严格遵循逻辑、规范或文档 的编程方式。
核心特征
-
凭感觉写代码
不先做详细设计、不查文档、不考虑边界条件,而是随着当前的情绪或"手感"直接敲代码。
-
追求流畅与心流
避免被严格规范、类型系统、测试驱动开发等"打断思维"的流程束缚,希望代码像即兴演奏一样自然流出。
-
可读性与可维护性较低
因为缺乏规划和统一风格,后期其他人(甚至自己)可能很难理解或修改。
-
常出现在原型、实验或单人项目中
在需要快速验证想法、参加黑客松、做个人小工具时比较常见。
与 AI 辅助编程的关系
随着 GitHub Copilot、Cursor、ChatGPT 等 AI 编程工具的普及,"vibe coding" 有了新的含义:
-
人与 AI 共同"随性"编程
开发者给出模糊的意图或简单的提示,AI 生成大段代码,开发者接受、微调或继续基于"感觉"提出下一个请求,而不是逐行严格审查。
-
降低启动门槛
对某些不熟悉的库或框架,先让 AI 写一个能跑的版本,再靠感觉调整,直到"看起来对"为止。
-
风险
AI 可能生成有逻辑漏洞、安全缺陷或风格不一致的代码,而"vibe"模式容易忽略这些问题。
典型场景
- 一个后端工程师用 AI 快速搓出一个前端页面原型,不在意 CSS 命名或组件结构。
- 黑客松深夜,团队放弃 code review,只求 demo 能跑通。
- 个人练手项目,主要目的是探索想法而不是交付生产系统。
与正规开发方式的对比
| 方面 | Vibe Coding | 工程化开发 |
|---|---|---|
| 设计 | 无或最小化 | 有架构设计、评审 |
| 测试 | 极少,靠手动运行看效果 | 单元测试、集成测试 |
| 文档 | 几乎没有 | 有代码注释、设计文档 |
| 协作 | 不适合团队 | 适合团队协作 |
| 产出质量 | 不稳定,多为一次性 | 稳定、可维护 |