揭秘Vibe編碼病毒:3條簡(jiǎn)單規(guī)則讓你玩轉(zhuǎn)AI編程而不搞砸一切
对于那些还没有接触到这个概念的人,vibe 编程是由前 OpenAI 和特斯拉的 AI 专家安德烈·卡帕蒂提出的这个词。
想法是让人工智能处理繁重的工作,而你可以专注于大局。支持者认为这种方式能够让开发者摆脱手动编码的束缚,使开发变得更快捷、更简单。
Andrej Karpathy原来关于vibe编码的推文
这个想法一下子火了起来,每个AI网红都纷纷开始尝试“vibe编码”,甚至像Anthropic的CEO达里奥·阿莫代伊这样的行业大佬也预测,在未来的12个月内,几乎所有的代码都会由AI来编写。
听起来挺疯狂吧?让我们来看看这一切背后究竟是怎么回事。
氛围编码是什么?从根本上说,氛围编程利用大型语言模型(LLMs)如ChatGPT、Claude或GitHub Copilot将自然语言描述转换为功能代码。重点不再是逐行实现代码,而是表达需求,然后指导AI生成解决方案。
这种魅力真是挡不住的:
- 速度:几秒钟内生成样板代码、组件,甚至整个脚本。
- 探索:快速搭建想法原型,轻松探索新的技术领域。
- 可访问性:让不熟悉特定语法或库的人也能更容易地进行编码。
不过,在这种轻松的样子背后,却有不少需要认真处理的挑战。
编码 vs. 编程:重要区别要理解氛围编码的限制,我们首先必须认识到,编程和编码是两种不同的技能,它们分别指的是:
- 编码就是把逻辑和需求转换成计算机能理解的指令的过程。
- 编程则是一个更广泛的领域,既是一门艺术也是一门科学,需要创造力、解决问题和经过经验积累形成的直觉。
大型语言模型(LLM)在基于从GitHub和Stack Overflow学到的模式进行编码任务时做得很好。它们能够复制常见的编程解决方案,但缺乏真正的理解和实际编程所需的上下文理解。
编程包括这样的东西,比如:等等,
- 理解需求
- 设计系统架构
- 确保可扩展性和性能
- 调试和排查问题
- 考虑安全风险及其影响
- 运用创意和直觉解决新问题
这里就是人类监督不可或缺的地方。如果你只是把生成的AI代码直接投入生产却对其内部运作一知半解,那你就是在给自己找麻烦。
当编码感觉不对时网上已经出现了这样的故事,比如有个独立开发者用 vibe 编程做了一个 SaaS 产品,甚至还有真正的客户愿意付费——这对于独立开发者来说都是一大胜利。
但得知后,网暴者很快将其批评得一无是处:
最后,他的应用下线了,他不得不求情才能重新回到 Popeyes(炸鸡店)。
这就是无节制氛围编码的风险——如果你不明白自己在做什么,事情很快就会一团糟。但是,这并不意味着氛围编码没有用处——它只需要适当的指导原则。
怎样才能在不让自己搞砸的情况下进行氛围编程呢?
智能氛围编码的三条简单规则 1️⃣ 选择一个简单但流行的技术组合大型语言模型是通过训练数据来学习的。
他们的编写正确且有用的代码的能力与其在线上可以找到的示例的质量和数量直接成正比。框架或语言越是常见且文档越完善,大型语言模型(LLM)的表现就越好。
如果你使用的是冷门的框架和小众的语言,或者高度定制的配置,大语言模型可以参考的样本就会变少。这样一来,生成错误代码的概率会增加。
比如说:
- Web 开发:建议使用主流框架,比如 React、Vue、Angular、Node.js(搭配 Express)、Python(搭配 Django/Flask)、Ruby on Rails 或 PHP(搭配 Laravel/Symfony)。
- 机器学习 / 数据科学:在这里 Python 是王者。建议使用成熟的库,例如 Pandas、NumPy、Scikit-learn、TensorFlow、PyTorch,以及标准的可视化工具,如 Matplotlib 或 Seaborn。
当AI写你的代码时,它还能在不打招呼的情况下删掉你的代码。
而且一旦它消失或不见了,要想让它再回来可不容易。这就是版本控制变得如此重要的原因。比如 Claude Code 这样的工具甚至还能自动生成提交信息,让版本管理更简单。
这里是如何最大限度利用它的方法:
- 频繁提交:在每次生成AI代码片段后进行小而独立的提交。
- 编写有意义的提交信息:清晰说明你做了哪些改动以及为什么这些改动很重要。
- 使用分支进行实验:在独立的分支上工作并使用AI生成的代码,在经过适当的审查和测试后合并。
氛围编码并不意味着模糊的指令,恰恰是完全相反。
这听起来可能有点违反直觉,但当你提出具体且结构化的请求时,你将获得最佳的效果。你不必依赖AI的创造力,而应通过清晰的指令引导其模式匹配。
这样做就可以了。
- 将任务分解:把任务分解成更小、更具体的步骤,并逐个提示AI。
- 使用示例:利用输入-输出示例向AI展示你想要的结果(少量样本提示)。
- 提供丰富的背景信息:包括相关的代码片段、数据结构、API文档、输出格式和约束条件(例如,“使用函数组件”,“避免外部库”,“处理X的错误”)。
别以为由AI生成的代码完全没有错误,始终把它看作草稿。
AI写的代码它自己可能并不理解。但实际上可能仍然存在错误、安全漏洞隐患或性能问题隐患。
下面是如何检查由AI生成的代码:
- 理解任何一行:在提交任何AI生成的代码之前,仔细阅读每一行。你是否明白每一行的作用?如果不明白,让AI解释或你自己研究。
- 严格测试:使用单元测试并进行手动检查,确保代码在各种情况(包括边界情况)下按预期运行。AI可以帮助编写测试,但人工检查必不可少,以确保没有遗漏任何问题。
由AI影响者推崇的Vibe风格的编码仅适用于简单的任务或一次性原型。完全依赖AI而不了解代码是危险且不负责任的行为。
虽然这么说,AI仍然可以发挥作用,尤其是:
- 减少重复代码
- 加快编码任务
- 解决特定的编码难题
- 学习新的语言或框架知识
未来的赢家既不属于拒绝人工智能的人,也不属于对它盲目信任的人。最成功的开发者将是那些能够结合人类洞察与人工智能高效性的开发者。
使用AI作为工具,但别推卸你编写代码的责任。
- 坚持使用熟悉的开发工具栈
- 熟悉 Git 版本控制
- 尽量使 AI 的输出确定性
- 并始终验证和测试你的结果
这是从AI辅助编程中获得最大效益而不破坏现有功能的方法。
想经常收到我的信息吗?我每日分享实用的见解、技巧和更新信息,帮助你避免昂贵的错误和失误,并在AI领域保持领先地位。关注我在这里:
是否希望通过写作来扩大你的读者群?技术达人快来加入!我的科技受众加速计划包含了实用的文案写作和受众构建策略,这些策略帮助无数专业人士突出重围并加速成长。立即订阅,紧跟最新动态:
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)