为何人工智能开发的应用程序仍倾向于使用JavaScript
如此多的人工智能开发的应用最终都采用JavaScript实现。这反映了训练数据与反馈机制的情况,以及“氛围编码”是否会一直与网页技术栈绑定在一起。
Vibe编码是一种向AI工具描述你的需求,让工具自动生成大部分代码的实践方式。你用通俗的语言给出指导,浏览生成结果后不断调整,直到程序正常运行。不同人对此看法不一,有人认为这是编程的未来,也有人视其为短暂的风潮。
开发者圈里流传着一个笑话,称Vibe编码其实不过是多了几步操作的JavaScript而已。虽然只是玩笑,但其中也有一定道理。
看看人们实际用这些工具开发出了什么:着陆页、控制面板、小型SaaS产品、浏览器扩展程序、原型设计以及周末启动的项目。这些应用大多基于React、Next.js、Node.js及其相关技术,因此生成的代码几乎都是JavaScript或TypeScript。
出现这种重叠是有充分理由的。模型之所以能很好地编写 JavaScript,是因为它们见过大量的相关代码。关于这种语言的公共代码库、教程、论坛回答以及文档随处可见,训练数据也反映了这一点。此外,该生态系统的规范相当统一,因此一个见过上千个 Next.js 项目的模型就能推测出第上千零一个项目应该是什么样子。
网络还提供了最佳的反馈循环。要求生成一个登录页,片刻之后它就会在浏览器标签页中打开。要求创建一个控制面板、API 或小型应用,也能立即进行操作。如果某个按钮位置不对,只要指出来,页面就会更新。正是这种即时性,使得 vibe coding 仿佛具有魔法般的效果,也解释了为何演示通常都以网站形式呈现。
这一切都并不意味着这种编程方式只能局限于某种语言。人们已经开始使用 Python、Java、Go、Rust、C++ 以及更多语言的 AI 助手。后端服务、数据脚本、命令行工具和系统代码都可以通过这种方式生成和编辑,只是这类成果较难展示出来。由于数据库迁移或构建脚本无法生成令人满意的截图,相关内容也就较少被传播。
因此,更值得探讨的问题并非“氛围编程是否属于 JavaScript 的范畴”,而是编程本身是否正在从编写代码转向描述所需的软件,再由人类进行审核、修正并决定最终发布的内容。如果真是如此,随着时间推移,底层语言的重要性会逐渐降低,而真正重要的能力则是清晰的规范表述、对机器输出结果的良好判断力,以及发现错误的能力。
我们很可能还处于这一变革的初期阶段。