什么是 Vibe Coding
Vibe Coding(中文常译作"氛围编程"或"沉浸式编程")这一术语的提出者是 OpenAI 联合创始人、计算机科学家安德烈·卡帕西(Andrej Karpathy)。其来源可追溯至他在2025年2月于社交媒体平台X上发布的一条动态,这条动态目前累计阅读已经超过500万。

译文:有一种我称之为"氛围编程"(vibe coding)的新式编程方式,你完全沉浸在氛围中,拥抱技术的指数级进步,甚至忘记代码的存在。这之所以成为可能,是因为大语言模型(比如Cursor Composer搭配Sonnet)已经变得太强大了。而且我直接用SuperWhisper和Composer对话,几乎不用碰键盘。我会提出最懒的要求,比如"把侧边栏的内边距减半",因为我懒得自己去找。我总是"全部接受",不再看代码差异。遇到报错时,我直接原封不动地复制粘贴进去,通常问题就解决了。代码逐渐超出我平时的理解范围,真要搞懂得花时间仔细阅读。有时候大语言模型修不好某个bug,我就绕过去或者随便改点东西直到问题消失。对于临时性的周末小项目来说还行,但也挺有趣的。我在构建一个项目或网页应用,但这其实不算真正的编程------我只是看看东西、说说需求、运行一下、复制粘贴,然后它大多就能跑起来。
今天我们就用一个例子完全体验一下 Vibe Coding 带来的乐趣,作为开发者最常用的工具之一 JSON 格式化,今天我们就用 Vibe Coding 的方式开发一个 JSON 格式化工具。
工具选择
- IDE:Cursor
- 模型:Claude 3.7 Sonnet
- 技术栈:Next.js
项目初始化

- 初始化成功

- 查看
package.json
javascript
{
"name": "vibe_coding",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"react": "^19.0.0",
"react-dom": "^19.0.0",
"next": "15.3.3"
},
"devDependencies": {
"typescript": "^5",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@tailwindcss/postcss": "^4",
"tailwindcss": "^4",
"eslint": "^9",
"eslint-config-next": "15.3.3",
"@eslint/eslintrc": "^3"
}
}
第一次运行

预览

JSON 解析工具开发

- 开始写代码



第二次运行
可以看到效果还不错,已经基本可用了。

嵌套示例
- 点击嵌套示例

错误JSON
可以看到错误信息也显示出来了,但是还没有行号导致错误不是特别明显,因此在输入框还需要增加行号显示,继续 Vibe Coding。

显示行号


第三次运行

错误提示
可以看到错误信息与行号能够对应起来了。

总结
至此基本上达到了一个基本可用的状态了,Vibe Coding 的代码甚至没有出一次错误(当然项目复杂度也不大),那么你在工作中 Vibe Coding 了吗?
既然都都到这一步了,我简单在 Vercel 上部署了一下,代码已发布在 GitHub,有兴趣的小伙伴可以在 ISSUE 里提交你想要的开发者工具,我将继续 Vibe Coding。
在线体验:tools.oct.cool