Vibe Coding(氛围编程)

核心特征:忘记代码存在,专注于氛围和直觉

定义

Vibe Coding 是 Andrej Karpathy 于 2025 年 2 月提出的术语,描述一种 LLM 编程方式:

"I just see things, say things, run things, and copy paste things, and it mostly works."

核心特征

  1. 忘记代码存在 - 不关心代码细节
  2. 原型质量 - 快速产出,不追求生产级
  3. 未经审查 - 直接使用 AI 输出
  4. 氛围驱动 - 凭直觉迭代

与 Agentic Engineering 的区别

Simon Willison 强调保持术语的原意:

维度Vibe CodingAgentic Engineering
代码质量原型级生产级
审查程度深度审查
验证方式凭感觉自动测试
目标快速原型可工作软件
心态"忘记代码"验证和迭代

适用场景

适合 Vibe Coding

  • 快速原型验证
  • 个人实验项目
  • 学习和探索
  • 一次性脚本

需要 Agentic Engineering

  • 生产环境代码
  • 团队协作项目
  • 长期维护系统
  • 安全敏感应用

不要滥用术语

重要区分

不要把 Vibe Coding 扩展定义为"任何 LLM 生成代码的情况"。

保持原意:未经审查、原型质量的 LLM 生成代码,与已提升到生产标准的代码区分开来。

Karpathy 的完整论述

Andrej Karpathy 在 LLM Wiki 文章中进一步阐述:

"Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase."

这揭示了 Vibe Coding 的深层含义:当 LLM 成为"程序员",人类角色转变为:

  • Sourcing — 提供知识源
  • Exploration — 探索和验证
  • Questioning — 提出正确的问题

关联概念

Vibe Coding 与 Software 2.0 的关系:

Software 2.0Vibe Coding
程序员写目标用户说"氛围"
神经网络生成程序LLM 生成代码
数据是源代码对话是源代码

关键数据点

  • Andrej Karpathy 于 2025 年 2 月提出该术语
  • Karpathy 的原始描述:"I just see things, say things, run things, and copy paste things, and it mostly works."
  • Claude Code 于 2025 年 3 月发布(Karpathy 提出术语后仅 3 周)
  • LLM Wiki 的深层含义:"Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase."

前提与局限性

  • 依赖前提:人类愿意接受"忘记代码存在"的开发方式
  • 适用边界:快速原型、个人实验、学习探索、一次性脚本
  • 局限性:不适用于生产环境、团队协作、长期维护系统、安全敏感应用
  • 质量标准:未经审查、原型质量,与生产就绪代码有本质区别
  • 术语滥用风险:不应将"任何 LLM 生成代码"都定义为 Vibe Coding

来源:Andrej Karpathy (2025-02, 2026-04), Simon Willison (Agentic Engineering Patterns, 2026)