在人工智能爱好者中出现了一种新趋势,而这并不是聊天机器人或代理。我们说的是"氛围编程"——在这种模式下,一个人只是与人工智能交谈,提出想要构建的想法,然后与模型不断迭代,沿途要求其修复和改进。
据说这就像和朋友聊天一样简单,即使是技术水平极其有限的普通人也能轻松做到。
我在这里写过关于这个话题。但为了超越炒作,我想看看氛围编程是否真的能产生有用的东西。
在Decrypt的测试显示它甚至超越了Grok-3的编程任务后,我选择了Claude 3.7 Sonnet作为我的人工智能伙伴。
我的软件项目相当简单:我想制作一个打字游戏,单词从屏幕上级联下落,玩家必须在单词到达底部之前输入它们以生存。
我们从最基本的提示开始:"编写一个美丽、轻松的游戏,我必须快速输入单词才能存活。单词正在下落,每个字母在我输入时都会消失。"
几分钟内,Claude生成了看起来像是一个完整的游戏……但当我尝试运行时,什么都没发生。开始按钮是死的。我向Claude提到了这个错误,它开始向我保证它找到了bug并正在修复。
Claude完成了,新游戏就在我们眼前。我试了试,但还是不行……仍然是坏的。与其自己深入研究代码(那不是氛围编程!),我只是告诉Claude:"不行。点击按钮时什么都没发生。游戏永远不会开始。"
人工智能又开始工作,第二次尝试实际上成功启动了。我还稍微作弊看了代码,注意到另一个问题:游戏只使用了大约10个不同的单词,这会很快变得重复。我没有要求完整的词典集成,而是让Claude混合真实单词和虚构单词——这是一个保持代码简单的实际解决方案。
我继续与Claude来回沟通,通过自然语言而非代码编辑进行改进。经过十四次迭代后,我得到了一个足够令我满意的成果,可以不感到尴尬地分享。
当我的同事测试这个完成的游戏时,反应大多是积极的。一位记者甚至打破了我的最高分(这很糟糕),而其他人则提供了改进建议。他们发现的唯一"bug"实际上是有意的限制:随机生成的单词,但不支持移动设备。
你可以在这里尝试这个游戏。目前,Ryan Gladwin以2,830分保持记录,但希望我很快就能夺回我的王座。
经过这次和其他实验后,以下是对那些愿意尝试氛围编程的人有用的一些事项:
1. 快速原型制作有效: 我们从概念到可玩游戏的过程非常快,技术投入很少。这对于编程能力minimal的新手来说很棒。不过,对于需要粗略草稿开始迭代的有经验的程序员来说,这可能也是一个不错的技术。
2. 迭代是关键: 第一次尝试很少能完美运行。成功来自对话式细化和清晰反馈。在这个阶段,有经验的程序员可能会放弃氛围编程,坚持常规调试,将人工智能用作应该的样子——帮助他们完成过程的数字助手。然而,那些愿意全身心投入氛围编程的人可能会受益于使用非常具体和详细的语言。你的提示越丰富、结构越好,得到的结果就越好。
3. 不要着急: 知道何时简化需求有助于更快地实现可工作的产品。理想情况下,不要一次要求模型做所有事情。相反,将体验视为在粗糙结构上添加不同层次。从基础开始,然后要求模型修复一个小bug,然后是另一个,然后添加你想看到的特定内容——然后继续前进。
4. 质量有限: 尽管我们创建了一个功能性且有趣的游戏,但它缺乏专业开发软件的精细和优化。不要指望用Grok开发《上古卷轴》。
5. 调试是对话式的: 与其在代码中搜索问题,我们只是描述了不工作的地方,让人工智能找出如何修复。这很有效,但当然,专家可能通过检查代码或与模型讨论技术细节而不是预期结果来加快速度。
总的来说,如果你有足够的耐心引导人工智能进行多次迭代,氛围编程确实可以产生功能性软件。这是生产质量的代码吗?绝对不是。你仍然需要适当的调试、优化和各种专业工具来构建真正专业的应用程序。
但话说回来,制作《像素鸟》的人用一个不需要复杂架构或复杂系统的简单游戏赚了数百万。有时,你所需要的只是一个好主意,也许——只是也许——与人工智能调频直到你开始赚数百万。