不要看衰 Vibe Coding!

如果你不使用 AI,你就活在过去

不要看衰 Vibe Coding!
AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

毫无疑问,AI 在过去三年的改进超过了之前六十五年的总和。(没错,AI 已经存在那么久了!)Anthropic、Google、OpenAI、Mistral 等公司在开发大型语言模型 (LLM) 方面取得了巨大进步,这些模型现在能够以提供大规模生产力提升的方式摄取和操作数据。

最近几周引起广泛关注的一个领域是 vibe coding,即使用 AI 来编程。考虑到这一点,让我分享几个实验,然后尝试回答几个问题:

  • Vibe coding 是什么样的?
  • 它是否名副其实?
  • 这将如何改变程序员的工作方式?
  • 对 SaaS 公司的影响是什么?
  • 你应该等尘埃落定还是现在就开始使用 AI?

去年夏天,我决定涉足 AI 辅助编程。我已经 ~~几年~~ 几十年没有编程了,技能生疏。更糟糕的是,我发现当前的编程工具令人应接不暇。设置一个现代 IDE 并将其与版本控制系统集成以部署到云端需要大量工作。在经历了几个令人沮丧的小时,问题比答案多之后,我放弃了,决定恢复到简单的 1980 年代工作流。

1、Vibe Coding - 实验 1

我在 Mac 上启动了 DOSBoxTurbo Pascal 4.0,准备就绪。我在 90 年代为 DOS 和 Windows 写过一个共享软件五张牌视频扑克游戏叫 Tahoe5。不幸的是,我在几十年前丢失了源代码。但我找到了一个旧的 DOS 可执行文件作为我的规格说明。

我编写了一个极简的文本模式应用,偶尔向 ChatGPT 寻求帮助。有时它会写出好代码,有时则不然。然后我试图让 ChatGPT 修复不好的代码,它通常会让事情变得更糟。结果,我大部分代码都是手写的。

我知道我当年写了一个效率非常低下的洗牌算法。所以我让 ChatGPT 写一个更好的。它提出了 Fisher-Yates 算法,发表在 Knuth 的*计算机程序设计艺术* 中。这是七行编码优雅。如果要偷,就从最好的地方偷!

我还让 ChatGPT 为赢牌和输牌创建一些音乐例程。它快速响应了看起来不错但实际无法编译的代码。但这很容易修复。Turbo Pascal 在 8MHz 8080 处理器上每分钟编译 27,000 行代码,所以没问题!

我很快就能让基本功能正常工作。几天内我写了一个更好看的用户界面。大约是 600 行代码,编译成一个 16k 可执行文件只需一秒钟。注意那是 16 千字节,不是兆字节!比大多数图标文件还小。

没有人再运行 DOS 了,所以为了好玩,我给朋友分享了一张截图。有一些 AI 辅助是有用的,但并没有让我大开眼界。我仍然在做大部分工作。

虽然我很想为 Tahoe5 构建一个移动版本,但学习 Swift、iPhone 的核心图形层和 Xcode 看起来令人生畏。我把它归入"以后再做",意思是等清理车库、学弹钢琴、出版一本图形小说之后再说。

2、Vibe Coding - 实验 2

然后上周,我有一个下午空闲,决定和一个朋友一起尝试最新的 vibe coding 工具。我听说过 Claude Code 的好评。OpenAI 刚刚发布了 Codex,这是一个桌面应用,通过集成 IDE 和源代码仓库自动处理大量苦力活。它将 ChatGPT 直接与 VS Code 和 GitHub 连接,大大降低了学习曲线。这听起来不错!

在一点指导下,我开始向 Codex 输入提示。我让它创建一个新的 VS Code 项目。然后让它为五张牌视频扑克游戏构建一个 PRD。与通常情况一样,AI 比必要的更啰嗦。我让它根据我的可工作的 Turbo Pascal 代码 修改 PRD。然后我说继续构建应用。

此时我的期望很低。正常的软件开发体验是没有东西能第一次就工作。你有语法错误。或者配置错误。或者有根本性的问题让你想知道你到底为什么要用这些糟糕的工具,并开始想也许写小说会更容易。

但在几分钟后,Codex 说它完成了。我启动了一个 localhost web 服务器然后……它第一次就成功了!

我不认为我曾经有一个比 "Hello World" 更复杂的应用程序能开箱即用就编译并运行。我印象深刻,甚至有点震惊。

这是一个双重彩虹时刻这到底意味着什么?

更重要的是,我如何让 AI 修复图形?它们看起来太糟糕了!

我让 Codex 创建一个好看的扑克牌背面,但它的所有尝试看起来都像 Wi-Fi 断网时的 Figma。所以我用了上周的老方法——打开一个单独的 Gemini 聊天,让创建牌背,然后在 Pixelmator Pro 中编辑。我从网上下载了一些面牌作为资源添加到 VS Code 项目中,并告诉 Codex 适当地使用它们。

又花了十几个提示来改进布局、调整图形、更改字体,当然还有*把 logo 放大!* 它运行得很好,具有可调整大小的面板和针对不同浏览器大小缩放的图形。总时间:不到一小时!

嚯!这不仅仅是一个原型。它是一个完全功能正常的应用程序,看起来比我能写出来的要好。直到它完成后我才阅读了代码。

大约有 700 行 JavaScript 和大约相同数量的 HTMLCSS 文件。我对 JavaScript 几乎一窍不通,所以我让 ChatGPT 评价这段代码。它说是"可靠的业余水平代码"!对我来说这很对。

ChatGPT 不认为这段代码适合企业级扩展,这正是每个高级开发者对初级程序员代码的评价,所以这没问题。对于一个真实的多用户应用,还有更多工作要做,其中一些可能超出了当前 vibe coding 的能力范围。真正的程序员做的是困难的工作,不仅仅是简单的事情。

唯一的问题是在移动浏览器中布局不太理想。牌太窄了,一些图形被挤压了。

我害怕进行必要的移动端修改,因为我知道这类事情通常会怎么发展。你有了一个可以工作的东西,你知道它必须改变。但在你走出困境之前,它会经历几个损坏的阶段。

所以第二天,我让 Codex 创建一个新版本,以防我需要回滚。我给了它三个提示来在移动竖屏模式下重新排列面板,并删除一些关于不需要的键盘快捷键的多余信息。就这些了。

我告诉它推送并部署更改。

再次,它完美运行。Codex 甚至不费吹灰之力。

仅仅因为重构代码对人类来说是一个容易出错的过程,并不意味着对 AI 来说也很困难。毕竟,它有大量代码可以借鉴来优化移动浏览器。这不是火箭科学。

此时又多了几百行代码。但我已经不在那个水平工作了。我对此感到有点内疚。如果代码效率低下怎么办?我是否应该为 Codex 的业余水平编码技能感到羞愧?

3、Vibe Coding - 实验 3

精明的程序员和 AI 怀疑者可能会说,我的 AI 实验不是什么挑战,因为我给 Codex 提供了源代码作为参考。对此我说,你试过把 Pascal 代码翻译成 JavaScript 吗?这仍然是工作!

我记得我还编写过一个 DOS 和 Windows 的二十一点游戏叫 Tahoe21。但我没有重写过它,没有源代码规格可以作为参考。

我妻子不在家,所以作为一个专注的程序员,我热了些剩菜,放了一部关于 Mel Brooks 的纪录片,然后半吊子地 vibe coding 出一个视频二十一点游戏。

我在 Codex 中创建了一个新的聊天线程,让它创建一个与 Tahoe5 风格和玩法相同的二十一点游戏简明 PRD。几分钟后和一些 GitHub 上的折腾,我又有一个可工作的原型。

它有 Double 和 Split 的按钮。我听说过这些术语,但当年对二十一点了解不够,无法实现。(咳,我的屏幕空间也有限。)我让 Codex 在 PRD 中用新手能理解的语言添加 Double 和 Split 的规则。然后我测试了这些功能。不出所料(但对我自己来说)——一切正常

我又花了几个小时优化用户界面和屏幕布局。虽然你不太可能需要在不爆牌的情况下处理超过五张牌,但它可能发生。所以我给 Codex 一些提示,在获得四张或更多牌时重新排列牌面。你可以在普通桌面浏览器上显示最多八张牌,在移动端显示六张。(理论上,获得八张牌的发生概率只有约 75,000 分之一,但在我向朋友解释这个事件的罕见性几分钟后它就发生了。我仍然相当确定 AI 没有在偷听。)

Codex 处理了它,告诉我这叫做牌面扇形展开。这只能说明它在这方面知道得比我多。

在没有什么指导的情况下,AI 自己编了相当多的东西:

  • Double 和 Split 逻辑
  • 为赢牌和输牌随机化不同的音乐音调
  • 当玩家没钱时随机化嘲讽语
  • 带有不同场景的秘密测试模式

对我来说,秘密测试模式是最令人印象深刻的。它设计(嗯,借鉴)了一个测试序列,会遍历各种手牌(分牌 A,二十一点,庄家爆牌,玩家爆牌等)。它也可以用作作弊模式。

虽然应用的脚手架是坚实的,但大部分用户界面很弱。应用中的大部分文本更像是占位符质量,而不是精炼文本。

  • 所有状态文本都需要重写
  • 关于和帮助页面很业余
  • Split 手牌的布局在移动设备上可行但拥挤
  • 一些屏幕绘制差了几个像素导致牌面跳动
  • 牌面布局太挤

为移动端优化需要额外的工作,因为垂直空间有限,要容纳庄家、玩家和分牌。需要更多的提示和测试,但最终成功了。不知不觉纪录片结束了,我的晚饭凉了,已经过了凌晨 1 点。

所以事实证明 vibe coding 非常像编程。它以一种令人上瘾的方式很有趣。

4、PSA:不要直接上生产环境!

对于任何考虑将 AI 生成的代码投入生产环境的人,请不要这样做。你应该在上线前让人类审查所有代码。你不知道里面可能有什么可能做坏事的东西。(除非我告诉你或你审查了代码,否则你不会知道我的游戏中的秘密测试模式。)你可以打赌恶意行为者会以各种有创意和危险的方式使用 AI。

那么我对这一切怎么看?

首先,vibe coding 非常有趣!像 Codex 这样的应用让编程变得更加容易上手。它们消除了使用 VS Code、GitHub 等工具的大量痛苦。

我认为 vibe coding 的生产率提高了 10 倍到 100 倍。它就像从机器语言转移到非常高级的语言一样。

在 1980 年代,当计算机内存有限时,仍然有场合编写比编译器生成更高效的汇编语言。但十年后,除了编写设备驱动程序或视频游戏,没有人费心去做了。编译器变得更好,内存变得更便宜,CPU 变得更快。

我们现在正从趋于平缓的 摩尔定律(芯片密度每 2 年翻倍)过渡到黄氏定律(AI 性能每 6 个月翻倍)。

所以事情从这里只会变得更好。

但是……

我能在一个小时内 vibe coding 一个扑克游戏,并不意味着软件开发的终结。尽管如此,编程的本质和我们未来需要的技能正在快速变化。

就像从汇编语言到高级语言的转变让更多人能够编程一样,这也将做同样的事情。我们可能会进入一个杰文斯悖论,因为实现成本太低,对应用的需求会上升。谁知道,也许我们会看到大量廉价的视频扑克游戏,以及一系列小众软件应用。

5、接下来会发生什么?

正如尼尔斯·玻尔(或者也许是尤吉·贝拉)所说:预测很难,尤其是关于未来的预测! 但很明显,AI 是计算领域的一次根本性变化,将对科技行业、白领工作、教育和社会产生巨大影响。

这种变化可能比互联网的影响更大。但让它特别棘手的是它到来的速度是互联网的 10 倍。

十二个月前,你可以指出 AI 幻觉并说它还没有准备好主流使用。我认为现在不是这样了。甚至在六个月前,vibe coding 还需要大量手动编辑。今天就不太需要了。

通常,当一项新技术出现并自动化或消除任务时,它也会创造新角色的机会。所以虽然编码应用现在可以被自动化,但产品管理、设计和测试肯定会变得更加受重视的人类技能。不幸的是,恐怕这是~~乌龟~~ AI 一路到底。没有理由不相信 AI 在不久的将来不会在这些任务上做得比一般人更好。如果你的水平只是普通水平以下,你的工作就完了。

当事物快速变化且有大规模颠覆的风险时,我相信最好是做推土机,而不是人行道上的旁观者。

如果你在工作中还没有使用 AI,现在是开始的好时机。等待尘埃落定可能很诱人。但"等等看"会让你处于最糟糕的位置。最好从今天开始使用不太完美的工具,这样你就能建立理解并帮助塑造未来。

对于职业生涯早期的人来说,这是一个成为专家的机会。没有人有 10 年的 vibe coding 经验。天哪,几乎没有人有 6 个月的经验!所以如果你现在开始,你将拥有比大多数人更多的经验。你部门的"AI 专家"可能是你。还不如是你。

这是年轻一次对你有利的时刻。你需要重新学习的东西更少,(希望)对变化的阻力也更小。至少每个月花几天时间尝试最新的工具,在真实项目上使用它们。如果你需要自掏腰包支付 ChatGPT 或 Claude 的费用,这是建立专业知识的廉价投资。运气是当机会遇到准备时发生的事,所以确保你尽你的一份力。

不仅 AI 在变得更好,人类在使用 AI 方面也在变得更好。所以与同事分享最佳实践技巧。如果你不确定从哪里开始,打开 ChatGPT,告诉它你做的工作,然后问你在哪里可以使用它。如果你的公司不允许你使用 AI,用你自己的时间、花你自己的钱。然后尽快找一份新工作。

俗话说,AI 可能不会取代你的工作,但使用 AI 的人会。你不想成为前院里大喊"但老方法更好"的老头,而整个世界都在转向 AI。相信我,他们正在转向。

这并不意味着应用的终结吗?我们会拥有一个运行一切的超级代理,以某种少数报告般的预知应用和一个巨大的触摸屏吗?也许不会。但我敢打赌 Google、Apple、Meta 和 Amazon 有团队正在试图弄清楚这一点。

在生活是模式化的范围内,对做特定事情的软件应用程序将继续有持续的需求(如果不是需要)。是的,越来越多的应用将拥有 AI 代理用户界面,或者至少在幕后有 AI。

所有公司都会自己编写企业应用吗?这是很多人在思考的一个场景。我认为不太可能。对于在云端有大量数据或有 SaaS 应用的公司来说,迁移是一项庞大的工作。但肯定会有价格侵蚀和利润压缩。如果你为每位员工在某些生产力应用上花费几百美元,那可能仍然值得。

一些公司会认为每人每月 100 美元的 Salesforce(或者现实中的 Salesforce + Google Apps + Zendesk + Hubspot + 其他几十个)太多了,他们会 vibe coding 出一个替代品。构建原型很容易。但构建内部应用也意味着你承诺在余生中进行持续维护。

如果你 vibe coding 了一个"快速而粗糙的"CRM 应用,预期每个有意见的用户都会再提出十个功能请求。构建内部应用就像给某人一只小狗……你仍然需要照顾它!

更可能的是,我认为我们会看到新的竞争者以更低的价格推出相当不错的套件。也许 Salesforce 不值每人每月 100 美元。但一个功能完整的 CRM 值 50 美元吗?如果是季度的最后一天呢,25 美元怎么样?

如果你是一家成立超过五年的软件公司,而且不是"原生 AI"的,你应该假设有团队正在 vibe coding 一个新的竞争对手准备推出。最好建立一个内部 AI 老虎队来重塑你的业务,而不是从外部被颠覆。每个职能(销售、营销、财务)的高管都需要亲手体验 AI,了解它能在他们的领域做什么。在组织中展示早期采用者,以便每个人都能从他们的学习中受益。

6、混合机会:增强型 AI

上一次出现这种颠覆的暗示是在 2000 年代初的开源软件,本质上是免费的。像 Red Hat、MySQL 和 JBoss 这样的公司能够以低于大厂最多 90% 的价格提供高质量和可靠性及服务的承诺来颠覆现有企业。

在 SaaS 估值被摧毁和超级代理做所有事情的世界之间,有机会通过 AI + 人员的组合来管理新事物。称之为混合模式、人在环路中或增强型 AI。对于许多公司来说,花钱请人管理他们的 AI 应用和基础设施可能比全部内部化更有意义。

能够为客户管理 AI 的复杂性并通过出色的服务脱颖而出的公司将有机会蓬勃发展。较小的公司几乎总是比大型现有企业更能做到这一点。

这是一个激动人心的时刻,看到利用 AI 的力量做伟大的事情的新一波公司将非常有趣。谁加入了?


原文链接: Don't Bet Against Vibe Coding!

汇智网翻译整理,转载请标明出处