
2025年2月,计算机科学家、OpenAI创始成员安德烈·卡帕西(Andrej Karpathy)在社交平台X发布的一则热门推文中介绍了一种新型编程方式,软件工程师只需“感受技术氛围,拥抱指数思维,而忘记代码本身的存在”。卡帕西将这种方法命名为“氛围编程”(vibe coding)。
有趣的是,我早就在实践这种编程方式了。自2024年秋季以来,我已用人工智能编写了多个个人项目,包括在Windows笔记本上开发具备人工智能语音转文字功能的图形用户界面,以及制作一个用于追踪桌面游戏活动的JavaScript应用。
虽然早年接触过HTML和Python,但我的编程知识有限,无法详细解释人工智能生成的代码在程序中的运行机制。不过这些代码确实有用,并且拥抱这一趋势的远不止我一人。
普拉萨德·奈克(Prasad Naik)是总部位于美国伊利诺伊州的Gripple USA公司的高级工程师,该公司生产用于固定商业建筑中的水管和燃气管道的线缆连接与张紧系统。奈克尽管并非软件工程师,近期却成功开发了两款软件工具,可帮助销售和其他非工程部门快速匹配产品与应用场景。
奈克最初只是想改造一下10年前他为公司开发的一个iPad应用程序。当时这款应用程序是用C语言编写的,他想将其转换为现代化的JavaScript网页应用程序,但他从未使用过JavaScript。
“我记得(最初的应用程序)花了我近一个月时间,因为要学习很多理解的知识。”奈克说,“但让我吃惊的是,在ChatGPT的逐步指导下,我这次仅用2小时就完成了(将其转换成JavaScript版的工作)。”他并未直接照搬人工智能生成的全部代码,但他估计,超过90%的最终代码都是由ChatGPT生成的。
初战告捷后,奈克又开发了一款更复杂的应用程序,该程序可以连接服务器来了解硬件产品信息。整个项目(包括部署)耗时约一周半,奈克坦言,若没有人工智能工具的辅助,这几乎不可能完成。
总部位于密歇根的Corewell Health公司的数据工程主管杰森·图莱鲁(Jason Touleyrou)使用了人工智能辅助编码来快速验证新创意。“构思落地速度至关重要。”他表示,“在我提出新想法而团队尚未认同时,能否完成一个简易项目来证明其价值而不浪费别人的时间?”
借助人工智能,图莱鲁可以使用他几乎不懂或完全不了解的工具和编程语言来编程。例如,他为自己的个人网站搭建了咖啡跟踪工具,该工具可调用BigQuery和Pub/Sub等谷歌云服务,而他在职业生涯中从未接触过这些技术。
图莱鲁指出,“氛围编程”的关键在于工作流程。他认为开发者首先要有明确的构思,然后再让人工智能工具生成代码。代码生成后,人工智能可转为顾问角色。开发者仍需使用工具(如能识别明显错误的“代码检查工具”)来保障代码质量。
“这不能代替对基础知识的理解。但当我知道能在30分钟内完成概念验证原型,并在4小时内完成4次迭代时,就再也回不去了。”图莱鲁说。
拥有25年经验的软件工程师塔赫尔·沃赫拉(Taher Vohra)提出,仅用人工智能加速软件迭代并非真正的氛围编程。
“我认真践行了氛围编程的定义,即完全不看代码。”沃赫拉说。但严格遵循氛围编程的解读后,他很快发现了这一理念的问题:“随着实践深入,我发现向人工智能准确描述需求反而比自己写代码更难。”
这不是说沃赫拉反对使用人工智能来编程。他会在工作中使用Cursor等多款人工智能助手,让它们提供建议。但他强调,编写正式版应用程序的代码时,开发者需要审阅代码以确保理解其运行机制,并能发现人工智能助手可能忽略的细微问题。
奈克、图莱鲁与沃赫拉在一个关键点上达成了共识,那就是,氛围编程能帮助工程师掌握其尚不理解的编程语言和技术栈的使用技巧。
“我对初级工程师的建议是,不要只把氛围编程视为既有技能的提速工具,而应将其作为掌握新技能的加速器。”沃赫拉说,“如果你是前端工程师,想转型成为全栈工程师,借助此方法只需数月即可达成目标,不需要耗费两年的时间。”
关注我们 设为星标

TI 最新架构DSP+MCU (原厂免费培训)
(线下实操)
北京(9 月 11日)
