我的氛围编程体验
我始终对编程抱有热情,源于对计算机的痴迷。青少年时期就用HTML搭建过网站(没错,当时还托管在GeoCities上),后来也断断续续接触过Python。
但我的项目从未走远,除了早期网站外,从未做出真正有用的东西。所有尝试都遵循相同模式:我会沉迷某本O'Reilly技术书籍或在线课程,满怀热情开始学习,但当意识到要做出像样作品还需数月甚至数年时,就会选择放弃。
转机出现在2024年底,当时我对个人网站使用的WordPress积怨已深。一气之下,我把网站内容和截图扔进Claude 3.5 Sonnet(人工智能),要求用HTML、CSS和JavaScript重建网站。令人震惊的是,它真的生成了功能完整的网站。虽不完美,但经过几小时调整后,新网站反而比WordPress版本更合我心意。
这正是卡帕西描述的场景:我既没逐行阅读代码,也没试图真正理解(虽然确实思考过文章轮播功能的原理)。我只是告诉Claude需求,把生成结果粘贴到VSCode,保存文件后刷新浏览器查看效果——居然真的奏效了。
关键是整个过程充满乐趣!这种愉悦感驱使我陆续尝试了多个项目:为桌面角色扮演游戏制作了骰子工具,为《战斗科技》游戏设计了简化规则的程序,目前还在用Pico-8虚拟游戏机开发解谜游戏。AI甚至帮我配置了OpenAI的Whisper语音转文字模型等复杂工具。
值得注意的是,这三个项目分别使用HTML/JavaScript、Python和Lua三种我完全不精通的语言。我还浅尝过C#——最初用Unity开发解谜游戏,后因功能过剩转投Pico-8。也曾考虑将桌面游戏工具改造成Windows应用,最终发现多此一举。
氛围编程的风险陷阱
没错,我确实沉浸在编程氛围中。但这是纯粹的美好体验吗?还是说代码领域也将重蹈AI内容泛滥的覆辙?这正是批评者最担忧的,这种恐惧情有可原。
卡帕西提出的“氛围编程”快速、有趣且平易近人,但缺乏严谨性、细节把控和审慎态度。AI生成的代码通常能运行,但可能隐藏着不易察觉的缺陷——这引出一个尖锐问题:编程小白如何识别AI代码中的漏洞和安全风险?
简单答案是:他们做不到。
典型案例是莱昂内尔·阿塞维多(网名“leo”),他高调分享用氛围编程开发SaaS初创公司的经历,结果暴露出API密钥未加密等重大安全隐患,招致数以百计的嘲讽视频和社交媒体帖子。
平心而论,我并不太同情莱昂内尔。他用明显博眼球的营销内容推广业务,而这就是社交媒体影响力的游戏规则——有时成为英雄,有时沦为小丑。(果然,他很快开始制作“30天重建SaaS”的内容)
但值得思考的是:他的案例能证明什么?用氛围编程开发SaaS并直接投产确实愚蠢。但有多少人会这样草率行事?现实要务实得多。
像我这样的人视氛围编程为实现简单项目的趣味途径;许多软件工程师则用它快速原型开发、概念验证,没错——甚至用于学习。
代码界的博客革命
奇妙的是,氛围编程让我想起二十年前改变我职业轨迹的相似契机。
我在中西部小镇长大,高中小到连校报都没有。大学主修英国文学,与新闻传播毫不相干,也未曾为校刊撰稿。毕业时既无人脉也无相关工作经验。
但时代眷顾了我。毕业恰逢博客革命与社交媒体崛起,传统学历与行业资历突然不再是必需品。我开始写作,最终成为职业科技记者,至今已十七年。
在我看来,氛围编程将为未来程序员和编程生态带来类似变革。正式培训不再必要,在AI辅助下,感兴趣的人甚至无需非系统学习。任何懂基本电脑操作的人都能询问ChatGPT如何配置环境、安装工具,直接生成可运行的项目初版代码。
这些人会犯错。大量生成代码质量堪忧,至少不够优雅。许多人会因无法解决的BUG而放弃项目。我项目中的AI代码足以让资深工程师血压飙升。
但若因此让更多像我这样——缺乏耐心花半年啃技术手册只为写个像样Python程序——的人接触编程,未尝不是种进步。