跳到主要内容

Vibe Coding 概述

什么是 Vibe Coding?

Vibe Coding(氛围编程)是一种新兴的 AI 辅助编程范式,由 Andrej Karpathy(OpenAI 联合创始人、前 Tesla AI 总监)在 2025 年 2 月 2 日通过 X(原 Twitter)上的一条帖子提出。他描述自己"完全沉浸在氛围中,忘记代码的存在"(fully giving in to the vibes and forgetting the code exists)。该帖获得超过 450 万次浏览,并被 Collins Dictionary 评为 2025 年度词汇

用自然语言描述需求,让 AI 参与实现,你负责验收和调整。

不同于传统的编程方式,Vibe Coding 强调人机协作——你负责方向和判断,AI 负责执行和实现,更快地把想法变成成果。

溯源:Karpathy 早在 2023 年 1 月 24 日就曾发帖"The hottest new programming language is English",预示了自然语言编程的趋势。Vibe Coding 一词则在 2025 年 2 月正式提出。

参考Know Your Meme: Vibe Coding · Natively: Who Coined Vibe Coding?


核心理念

传统编程Vibe Coding
手写每一行代码用自然语言描述意图
精通语法细节聚焦业务逻辑
逐行调试AI 辅助调试
独立实现人机协作迭代

关键转变:从"写代码的人"转变为"指导 AI 写代码的人"


核心名词解释

1. AI 编程助手 (AI Coding Assistant)

基于大语言模型(LLM)的工具,能够理解自然语言并生成、修改、解释代码。这一概念随 2021-2022 年 GitHub Copilot 的发布而普及,由 GitHub(微软旗下)与 OpenAI 合作开发,是首个大规模商用的 AI 编程助手(2022 年 6 月正式发布)。

代表工具

参考GitHub Blog: Copilot is generally available

2. Prompt(提示词)

向 AI 描述需求或问题的自然语言文本。Prompt 的质量直接影响 AI 输出的质量。"Prompt Engineering"(提示工程)作为一门实践学科,随 2022 年 11 月 ChatGPT 的发布而迅速普及。该术语在学术界的使用可追溯至更早的 NLP 研究,2023 年 "prompt" 一词成为牛津词典年度词汇候选

示例

请帮我写一个 Python 函数,接收一个列表并返回去重后的有序列表。

参考Wikipedia: Prompt Engineering · The Prompt Report: A Systematic Survey (arXiv)

3. Agent(智能体)

能够自主执行多步骤任务、调用工具、进行规划的 AI 系统。不同于单次回答,Agent 可以持续与用户交互直到完成任务。Agent 概念最早可追溯至 Marvin Minsky 1986 年的著作《Society of Mind》,其中将智能描述为由简单"代理"(agents)交互构成的"心智社会"。在 LLM 时代,AI Agent 概念于 2023-2024 年随 AutoGPTLangChain 等框架兴起而重新流行。

能力边界

  • 代码生成与修改
  • 文件操作
  • 终端命令执行
  • 上下文理解与记忆

参考Wikipedia: AI Agent · Minsky, The Society of Mind, 1986

4. 上下文 (Context)

AI 能看到的代码、文件和对话历史。上下文越完整,AI 的理解越准确。"上下文窗口"(Context Window)是 Transformer 架构的核心概念,由 Google Brain 团队在 2017 年的论文 Attention Is All You Need(Vaswani et al.)中奠定基础。随着模型发展,上下文窗口从最初的几千 Tokens 扩展到如今的 128K-200K+ Tokens。

上下文类型

  • 代码上下文:当前文件、相关文件、项目结构
  • 对话上下文:历史对话、之前的修改
  • 外部上下文:文档、API 说明、错误日志

参考Vaswani et al., Attention Is All You Need, 2017 (arXiv)

5. 迭代 (Iteration)

通过多轮对话逐步完善代码的过程。不是期望一次得到完美答案,而是持续反馈和优化。迭代开发是软件工程的经典方法论,源自 敏捷宣言(Agile Manifesto, 2001)。在 Vibe Coding 语境下,迭代特指人与 AI 之间的多轮交互循环。

迭代流程

  1. 描述需求 → 2. AI 生成 → 3. 审查反馈 → 4. AI 优化 → 5. 验证通过

参考Agile Manifesto

6. 验收 (Acceptance)

由人工最终确认代码是否符合需求的环节。这是保证质量的关键步骤,AI 无法替代。验收测试(Acceptance Testing)是软件工程中的标准实践,在 Vibe Coding 中尤为重要——Karpathy 在原帖中也强调了"see, accept, or reject"的人工把关环节。

7. MCP (Model Context Protocol)

Anthropic 于 2024 年 11 月 25 日发布的开放协议标准,用于标准化 AI 模型与外部工具、数据源之间的通信。2025 年 12 月,Anthropic 将 MCP 捐赠给 Linux 基金会下的 Agentic AI Foundation (AAIF),由 Anthropic、Block 和 OpenAI 共同创立。

核心价值

  • 统一接口:不同工具使用相同的协议与 AI 交互,解决 N×M 集成问题
  • 安全可控:明确权限边界,避免 AI 越权操作
  • 生态扩展:数千个 MCP Server(文件操作、数据库、浏览器等)

使用场景

  • 读取项目配置文件
  • 操作数据库执行查询
  • 调用外部 API 获取数据
  • 与版本控制系统交互

参考Anthropic: Introducing the Model Context Protocol · Wikipedia: Model Context Protocol · MCP 官方网站

8. Skill(技能)

Anthropic 于 2025 年 10 月 16 日发布的 Agent 能力扩展机制。Skill 是包含指令、脚本和资源的文件夹,Claude 在执行任务时按需加载。2025 年 12 月 18 日,Anthropic 将 Agent Skills 发布为开放标准,支持跨平台可移植性。

Skill 的作用

  • 标准化:统一代码风格、审查标准
  • 提效:避免重复描述相同的上下文和要求
  • 复用:团队共享最佳实践,通过版本控制分发

常见 Skill 类型

  • 代码审查 Skill:定义审查 checklist 和关注点
  • 测试生成 Skill:规范测试用例编写方式
  • 文档生成 Skill:统一文档格式和内容要求
  • 重构 Skill:标准化的代码重构流程

参考Anthropic: Introducing Agent Skills · Claude Code Skills 文档 · Agent Skills 开放标准

9. 幻觉 (Hallucination)

AI 生成看似合理但实际上错误或不存在的代码、API 或逻辑的现象。"Hallucination"一词在计算机视觉领域的使用可追溯至 1986 年 Eric Mjolsness 的博士论文,最初是正面含义(从低分辨率图像"幻觉"出高分辨率细节)。在 LLM 语境下,该术语于 2022-2023 年随 ChatGPT 的普及而广泛使用。2025 年 9 月,OpenAI 发表研究论文系统分析了语言模型产生幻觉的原因。

常见表现

  • 引用不存在的函数或库
  • 生成语法正确但逻辑错误的代码
  • 编造不存在的 API 参数
  • 提供错误的最佳实践建议

应对方法

  • 始终验证 AI 生成的代码
  • 对照官方文档检查 API 使用
  • 运行测试验证功能正确性
  • 对不确定的部分进行人工核查

参考Wikipedia: Hallucination (AI) · OpenAI: Why Language Models Hallucinate

10. RAG (Retrieval-Augmented Generation)

检索增强生成技术,由 Meta AI(原 Facebook AI Research)的 Patrick Lewis 等人 于 2020 年 5 月在论文 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 中提出。RAG 让 AI 在生成回答前先检索相关文档或代码,基于检索结果生成更准确的答案。

在编程中的应用

  • 基于项目代码库回答技术问题
  • 检索历史解决方案处理相似问题
  • 结合文档生成符合项目规范的代码

参考Lewis et al., RAG for Knowledge-Intensive NLP Tasks, 2020 (arXiv) · Meta AI Blog: Retrieval Augmented Generation

11. ACP (Agent Communication Protocol / Agent Client Protocol)

ACP 在 AI 编程领域有两个含义,分别解决不同层面的通信问题:

Agent Communication Protocol — Agent 间通信协议

IBM Research 的 Kate Blair 团队开发,2025 年 3 月贡献给 Linux 基金会,并在开源平台 BeeAI 上作为参考实现。如果说 MCP 是"Agent 到工具"的连接(类似 USB-C),那么 ACP 就是"Agent 到 Agent"的连接(类似 Wi-Fi)。

核心特点

  • 点对点通信:Agent 之间平等交互,无需中心调度器
  • 基于 REST/HTTP:使用标准 HTTP 协议,无需专用 SDK,curl 即可调用
  • 自描述:Agent 携带自身元数据,支持自动发现
  • 异步原生:内置长时间任务和异步通信支持

重要更新:2025 年 8 月,ACP 正式合并入 Google 的 A2A 协议,在 Linux 基金会统一推进。

参考IBM Research: An open-source protocol for AI agents to interact · LF AI & Data: ACP Joins Forces with A2A

Agent Client Protocol — Agent 客户端协议

Zed Industries 于 2025 年 8 月推出,起源于 Google Gemini CLI 团队与 Zed 的合作。标准化代码编辑器/IDE(客户端)与 AI 编程 Agent(服务端)之间的通信。类似于 LSP(Language Server Protocol)对语言工具的统一,ACP 旨在让任何编辑器连接任何 Agent。

核心特点

  • 基于 JSON-RPC 2.0:使用 stdin/stdout 进行本地子进程通信
  • 双向通信:编辑器可以向 Agent 发指令,Agent 也可以请求编辑器的资源
  • 有状态会话:维护对话历史,保持上下文连续性
  • 与 MCP 协同:启动会话时将可用的 MCP Server 传递给 Agent

支持者:Zed、JetBrains、Google Gemini CLI、Neovim、Emacs 等

参考Zed Blog: Bring Your Own Agent to Zed · Agent Client Protocol 官方网站 · GitHub 仓库 · The Register: Google, Zed fight VS Code lock-in with ACP

12. A2A (Agent-to-Agent Protocol)

Google Cloud 于 2025 年 4 月 9 日发布的 Agent 间协作协议,获得 Atlassian、Salesforce、SAP、LangChain 等 50+ 企业支持。2025 年 6 月捐赠给 Linux 基金会,同年 8 月 IBM 的 ACP 正式合并入 A2A,成为统一的 Agent 间通信标准。

与 MCP 的关系

维度MCP (Anthropic)A2A (Google)
用途Agent → 工具/数据Agent → Agent
架构客户端-服务器点对点
发现机制手动注册Agent Card(JSON)
任务管理无状态结构化生命周期(Working → Completed → Failed)
类比USB-C(设备到外设)Wi-Fi(设备到设备)

行业趋势:MCP 负责"Agent 到工具",A2A 负责"Agent 到 Agent",二者共存互补,类似 HTTP、WebSocket、gRPC 在现代 Web 架构中的共存关系。

参考Google Developers Blog: Announcing the Agent2Agent Protocol · A2A 协议官方网站 · LF AI & Data: ACP Joins Forces with A2A

13. Tokens

AI 模型处理文本时的基本单位。Tokens 的概念源自自然语言处理(NLP)领域,在 Transformer 架构中被标准化。不同模型的 Tokenizer 实现不同,如 OpenAI 的 tiktoken、Google 的 SentencePiece 等。理解 Tokens 对控制成本和管理上下文长度至关重要。

关键概念

  • Input Tokens:发送给 AI 的提示词和上下文消耗的 Tokens
  • Output Tokens:AI 生成的回复消耗的 Tokens
  • 上下文窗口:模型能处理的最大 Tokens 数量(如 128K、200K)

优化建议

  • 精简 Prompt,避免冗余上下文
  • 大文件分批处理,避免超出窗口限制
  • 关注 Token 消耗,控制使用成本

参考OpenAI Tokenizer 工具 · OpenAI tiktoken (GitHub)


工作模式对比

模式一:代码补全(Copilot Mode)

  • AI 在你编写代码时提供实时建议
  • 适合:快速编码、重复代码、样板代码
  • 工具:GitHub Copilot、IDE 内置 AI

模式二:对话编程(Chat Mode)

  • 通过对话窗口向 AI 提问、请求生成代码
  • 适合:理解代码、学习新技术、简单功能实现
  • 工具:ChatGPT、Claude Web、各种 IDE 插件

模式三:代理编程(Agent Mode)

  • AI 主动执行多步骤任务,调用工具完成复杂工作
  • 适合:大型功能开发、代码重构、项目初始化
  • 工具:Claude Code、Cursor、Windsurf、Opencode

Vibe Coding 的最佳实践

  1. 明确表达意图:用清晰的自然语言描述"要什么",而非"怎么做"
  2. 小步快跑:将大任务拆分为小任务,逐步迭代
  3. 提供上下文:让 AI 了解项目背景、现有代码、约束条件
  4. 主动审查:不盲目接受 AI 的输出,保持批判性思维
  5. 持续学习:在与 AI 协作中学习更好的表达方式

常见误区

误区正确认知
AI 能替代程序员AI 是工具,人是主导者
一次 Prompt 就能得到完美代码需要多轮迭代和优化
不需要理解生成的代码必须理解并验证代码逻辑
AI 不会犯错AI 可能产生幻觉(Hallucination),需要人工把关

下一步

了解 Vibe Coding 的基本概念后,接下来可以:

  1. 配置你的 AI 编程工具
  2. 学习 Prompt 技巧
  3. 开始实战练习