Andrej Karpathy 用 vibe coding 做了一个 Web 应用,是一个调用大模型来将菜单上的菜名可视化的应用。
这个应用不关键,不详细说了,关键是他对这一过程的思考。
按照他的说法,编码过程比较轻松愉快 ✨,但是配置、部署过程却有点痛苦 😩。
痛点:为何编码容易,部署却难?
他说,「构建一个现代应用程序有点像组装宜家家具。有各种服务、文档、API 密钥、配置、开发/生产环境部署、团队和安全功能、速率限制、定价层级……与此同时,LLM 对这一切的知识都有些过时,当你仔细观察时,它们会犯一些细微但关键的设计错误,有时它们还会产生幻觉或就解决方案误导你。但对我来说最有趣的部分是,我甚至没有在代码编辑器本身上花费那么多功夫。我大部分时间都花在了浏览器上,在不同的标签页和设置之间切换,配置和粘合一个“庞然大物”。所有这些工作和状态甚至 LLM 都无法访问或操作——这样下去,我们怎么可能在 2027 年实现社会自动化呢?」
他认为,目前的基础设施都不是真正为 vibe coding 这种使用方式设计的。
其预期的目标受众是生活在前 LLM 时代的专业 Web 开发团队 🧑💻,而不是那些「vibe coding」、进行应用程序原型设计的独立开发者 💡。
未来的方向:基建如何适应 LLM 时代?
他认为未来的方向:
- 某个应用开发平台可以「自带所有电池」(batteries included) ✅。看起来像是 Vercel Marketplace 的反面。一些有主见、具体、预先配置好所有人都需要的基础设施:域名、托管、身份验证、支付、数据库、服务器功能。如果某个服务能让这些开箱即用且「就好用」(just work),那将非常棒。
- 所有这些服务都可以变得对 LLM 更加友好 🤖。你告诉用户的几乎所有内容都会立刻被复制粘贴给 LLM,所以你不如直接与 LLM 对话。你的服务可以提供一个命令行界面(CLI)工具。后端可以通过 curl 命令进行配置。文档可以是 Markdown 格式。所有这些对于 LLM 来说都是更易于使用的界面和抽象。不要和开发者对话。不要要求开发者访问、查看或点击。直接指示并赋能他们的 LLM。
结论与展望
最后他说:
「归根结底,如今「vibe coding」完整的 Web 应用程序有点混乱,对于任何真正重要的东西来说都不是个好主意。但其中有明显的伟大迹象,我认为行业只需要一点时间来适应 LLM 的新世界 🌍。我个人非常兴奋地期待看到应用程序开发的门槛降至近乎为零 🚀,届时任何人都可以像制作 TikTok 一样轻松地构建和发布应用程序。这种超定制的自动化可能成为人类创造力的一个美丽新画布 ✨。」