如果你曾经想学编程,但被复杂的语法劝退过;或者你是一个传统程序员,每天被重复的代码折磨;再或者你是一名普通大学生,重复的工作塞满了你的时光、有趣的想法无力去实现。
那么 AI编程 可能会对你很有帮助。
注意,AI编程 包含多种规范,考虑到教程的循序渐进,我们暂且将 AI编程 等同于 Vibe Coding。
什么是 Vibe Coding
Vibe Coding(氛围编程)是指借助 AI 工具进行编程的方式——利用 AI 承担编写代码的主要工作,而人类则专注于通过想法和描述来引导整个过程。
这个术语最初是硅谷的流行词,由 AI 专家 Andrej Karpathy 提出,用来描述"使用 AI 工具完成编程中的繁重工作,以快速构建软件"。
在 Vibe Coding 中,你不需要逐行手写代码。你通过自然语言描述你想要什么,然后由 AI 为你生成代码。
Karpathy 分享过他的经验:通过"完全沉浸于氛围"来构建软件——本质上就是忘记代码本身,只是不断地与 AI 进行迭代对话。他写道:
"这其实不是编程——我只是看东西、说东西、运行东西、复制粘贴东西,然后大部分情况下都能正常工作。"
Vibe Coding 更像是与计算机对话,告诉它你想要什么,而不是手动输入每一个函数。这种通过聊天(甚至语音)进行编程的想法,为那些可能不精通任何编程语言的人打开了编程的大门。
核心理念:意图驱动编程
在传统编程中,你需要自己写代码来告诉计算机"怎么做":
# 传统方式:你要写出每一步怎么做
total = 0
for item in shopping_cart:
total = total + item.price
print(total)
而在 Vibe Coding 中,你只需要告诉 AI "要做什么":
你:帮我计算购物车里所有商品的总价
AI:好的,我来实现这个功能
你不需要关心循环怎么写、变量怎么命名,你只需要清楚地表达你的意图,AI 就能帮你实现。
记住:
在 Vibe Coding 时代,最重要的"编程语言"不是 Python、JavaScript,而是你的母语。
以前学编程,你要记住变量怎么定义、循环怎么写、函数怎么调用、各种语法规则。现在,你只需要会说人话:
- "我想做一个待办事项列表"
- "这个按钮点击后跳转到首页"
- "用户输入错误时显示红色提示"
你的意图,就是你的代码逻辑。
传统编程与 Vibe Coding 的区别
| 维度 | 传统编程 | Vibe Coding |
|---|---|---|
| 核心能力 | 写代码(背语法) | 表达需求(说人话) |
| 学习重点 | 编程语言、算法、数据结构 | 产品思维、需求表达、迭代优化 |
| 工作方式 | 自己从零开始写 | 和 AI 对话生成 |
| 出问题时 | 自己调试、查文档、搜索 | 把错误告诉 AI,让它修复 |
| 学习曲线 | 陡峭(需要几个月到几年) | 平缓(可以几天上手) |
| 适合人群 | 理工科背景、逻辑思维强 | 任何会表达需求的人 |
举个例子,比如你想做一个个人博客网站。
- 先学 HTML/CSS 基础
- 学习 JavaScript 交互
- 选择并学习一个框架(如 React/Vue)
- 学习如何部署网站
- 花几周时间一点点写代码
- 对 AI 说:"帮我做一个个人博客网站,有文章列表和详情页"
- AI 生成初版代码
- 你说:"再加个深色模式切换功能"
- AI 帮你加上
- 你说:"文章卡片加上悬停动画效果"
- AI 帮你调整
- 半小时搞定
传统编程关注"怎么做",Vibe Coding 关注"做什么"。
Vibe Coding 如何工作
Vibe Coding 通过人机指导与 AI 生成的紧密协作来工作。人类用日常语言提供指令、描述或目标,AI 工具则将这些转化为代码。这个过程通常是迭代和交互式的:
- 描述你的需求:例如,你可能会说"创建一个简单的网页,显示用户输入城市的当前天气。"这个描述被提供给 AI 编程助手。
- AI 生成代码:AI 经过大量编程知识的训练,会尝试生成满足你需求的代码。它可能会自动编写天气页面所需的 HTML、CSS 和 JavaScript。
- 审查和优化:AI 提供代码后,你需要检查它。也许 AI 的第一次尝试有问题,或者不完全符合你的设想。然后你告诉 AI 需要更改或修复什么。
- 按需迭代:这个循环会持续——描述更改、获取新代码、测试——直到你对结果满意为止。
现代 AI 编程工具相当强大。它们不仅能从头生成代码,还能帮助调试和改进代码。例如,如果代码因错误而无法运行,你可以将错误信息粘贴到 AI 聊天中并寻求帮助。
Vibe Coding 能做什么
Vibe Coding 能做的范围很广,几乎所有你能想到的软件开发,它都能做:
- 网页应用:个人作品集网站、在线工具(待办事项、记账、笔记等)、企业官网、博客系统、在线商城
- 小程序 / App:移动应用程序
- AI 应用:聊天机器人、智能写作助手、图片生成工具、语音识别应用
- 数据处理工具:数据可视化、自动化报表、表格处理工具
- 自动化脚本:批量文件处理、爬虫工具、自动化测试
- 辅助工具:展示 PPT 的网页、原型图和演示网站、架构图和流程图
Vibe Coding 的局限性
虽然 Vibe Coding 很强大,但它目前还存在一些局限性。
界面同质化
很多用 AI 生成的网站界面都长得很像,特别是颜色——经常是淡紫色或蓝紫渐变色(bg-indigo-500)。这是因为 AI 的训练数据中,这类设计比较常见,所以它会倾向于生成类似的风格。
如果你想要独特的设计,需要在提示词中明确说明颜色、风格、参考案例,或者提供设计稿让 AI 参考。
代码不可控的风险
AI 生成的代码有时不可控。AI 目前更多地还是用来生成小项目,如果你在有点儿体量的代码库下使用 AI,出 Bug 时,就很可能出现调试困难的死局——你既看不懂 AI 生成的代码,又舍不得放弃这些代码。
建议:
- 尽量让 AI 生成简单、清晰的代码
- 每次生成代码后都要测试,确保功能正常
- 遇到问题及时回滚,不要一条路走到黑
- 有条件的话,学习一些基础的编程知识
技能退化的风险
长期使用 Vibe Coding,可能会让你失去一些基本的编程技能。就像长期用计算器,心算能力会下降一样。
建议有编程基础的朋友:
- 不要完全依赖 AI,保持一定的手写代码能力
- 尝试理解 AI 生成的代码,而不是盲目使用
- 定期做一些不用 AI 的练习
- 把 AI 当助手,而不是替代品
但对于零基础的朋友来说,这个问题完全不是问题,~~因为你本来就没有编程技能可以退化~~,反而可以在 Vibe Coding 的过程中学到很多编程知识。
常见误区
❓ 误区一:Vibe Coding 是不是在作弊?
不是。
100 年前,会心算的人觉得用计算器是作弊;30 年前,会手写代码的人觉得用 IDE 是作弊;今天,会手写代码的人觉得用 AI 是作弊。
工具的进步,不是作弊,而是效率的提升。
你用 AI 写代码,就像设计师用 Photoshop、建筑师用 CAD 一样,是正常的生产力工具。
关键不是你怎么实现的,而是你能不能把东西做出来,能不能解决问题。
❓ 误区二:Vibe Coding 会让我失去学习能力吗?
恰恰相反。Vibe Coding 是很好的学习方式:
- AI 生成代码后,你可以阅读理解
- 你不懂的地方,可以问 AI 解释
- 你可以尝试修改代码,看看效果
- 你可以边做项目边学习
在实战中学习,远比啃书本效率高得多。
❓ 误区三:Vibe Coding 只能做简单的玩具项目?
不是。复杂项目一样能做。
如今的 AI 已经非常强大了:
- 可以处理几万行代码的项目
- 可以理解复杂的业务逻辑
- 可以使用各种框架和技术栈
- 可以帮你调试复杂的 bug
关键不是 AI 的能力,而是你的需求表达和迭代能力。
学习要点
先做再学:不要试图先学完所有理论再动手。看完快速上手教程后,立刻做一个项目。在实战中遇到问题,再回来学习。
多做项目:项目是最好的老师。从简单项目开始,逐步提升难度。每个项目都要做到能用、能看。
勇于试错:不要怕做错,AI 可以帮你修复。大胆尝试新想法。失败了也是经验。
记录经验:把每次遇到的问题和解决方法记下来。积累自己的提示词模板。建立个人知识库。
保持好奇:AI 工具更新很快,保持关注。多看看别人的作品。多交流,多分享。
写在最后
看到这里,相信你已经对 Vibe Coding 有了基本的认识。
我想最后强调一次:
在AI时代,创造力比技术更重要、想法比实现更重要、迭代比完美更重要。
Vibe Coding 不是一种技术,而是一种全新的编程思维。它让编程从 "写代码" 变成了 "表达需求",从 "背语法" 变成了 "说人话"。
任何人,只要会表达需求、有创造力、愿意学习,都可以用 Vibe Coding 把想法变成产品。