作者:By Huo Jingnan
科技公司的首席执行官们对人工智能的编码能力提出了雄心勃勃的主张。三月,Anthropic 首席执行官 Dario Amodei说“我们将在三到六个月内实现这一目标——人工智能将编写 90% 的代码。”Meta 首席执行官马克·扎克伯格预测的四月,对于一个项目,“可能在明年……一半的开发工作将由人工智能完成。”的高管亚马逊,谷歌和微软还强调了大型语言模型(LLM)生成代码的能力。
人工智能工具已经改变了一些开发人员的编码方式,现在有更少最初级的软件工程师。但尽管有如此戏剧性的言辞,软件工程中的人工智能可能并不意味着自动化的新时代。
经过几个月的旁观后,软件工程师 Colton Voege 终于在他的工作中尝试了人工智能工具。他记得看过一个播客,其中科技创业孵化器 Y Combinator 的领导者帮助 Voege 推出了一个公司,吹捧人工智能“令人难以置信的生产力”。
“这在某种程度上证实了我对它的感受,因为它确实擅长简化某些事情,”沃格说。“[AI] 非常适合编写小工具,您只需使用一次就可以扔掉。”但他还没有看到他的效率得到长期提升的证据。
采访显示,许多软件工程师(尽管不是全部)都分享 Voege 的经验。一些人讲述了如何理清同事交给他们的人工智能生成代码的故事,另一些人则讲述了编造旨在利用人工智能取悦上级的工作的压力。
Anthropic 的 Claude Code 部门负责人 Boris Cherny 在接受 NPR 采访时表示,“大多数代码都是由 Claude Code 编写的”,但拒绝提供百分比。“我们仍在研究科学,以确保我们能够给出一个真正精确的数字。”
切尔尼还明确表示,无论实际使用了多少人工智能,“每一行代码都应该由工程师审查”。
他说这包括由 Anthropic 所谓的“代理”生成的代码。代理是人工智能工具的组成部分,能够在无需人工干预的情况下测试和重写代码。该功能被誉为比以前的工具更加自主,由 Claude Code 首次引入并广受赞誉 被许多业内人士视为自动化的途径。
但代理人并不总是有效。“当这些工具处于最佳状态时,它们会自动解决很多问题......当它们处于最差状态时,它们会陷入死亡螺旋,”沃格说,他描述了这些工具远非解决手头问题而是陷入测试循环的情况。“我想,哦不,你差得太远了。”
切尔尼毫不避讳地将克劳德描述为一个有点高能的人。“我认为一个好的心理模型是,就像坐在你旁边的专家程序员一样,”他说。虽然他表示在某些情况下它可以充当“思想伙伴”,但“最终,是人类在做这项工作。”
受邀预览 OpenAI 最新模型的独立人工智能研究员 Simon Willison 表示,人工智能可以编写高比例的代码是有道理的。然而,威利森说:“我认为他们仍然需要相同甚至更多的人参与这个过程。”这是因为人工智能无法像工程师那样思考解决更高层次的问题。“我们的工作不是将代码输入计算机。我们的工作是提供解决问题的系统。”威利森说。
威利森在软件界以修补新工具和开发开源工具而闻名,对于他来说,使用人工智能的生产力提升取决于选择适当的用途和拥有相关的专业知识。“我可以很轻松地说,对于某些任务,对于那些经验丰富的程序员(那些不需要人工智能也能工作的程序员)来说,有了人工智能,他们可以获得两到五倍的生产力提升,有时甚至更多,具体取决于具体任务。”
威利森后来在他的博客中写道,受益最多的团队似乎在软件开发和协作方面采用了最佳实践。
但现实生活中并不总是这样。无论是否需要,人们都在使用人工智能,这有时会导致同事承担更多工作。研究人员创造了这个词“工作场所”来描述这一点。
“公司的一位非常高级的工程师对人工智能编码非常热衷,他认为他可以自己非常非常快地完成这个非常复杂的项目,并尝试运行一些人工智能工具,”一位未获授权公开发言的亚马逊工程师表示。
“[它]产生了这种混乱的代码,不起作用,没有人理解它。而我现在正在做的事情只是尝试以旧的方式实际做这件事。”
所有这些或许可以解释为什么研究在人工智能的影响方面显示出好坏参半的结果。根据一项研究由人工智能评估非营利组织米特,与没有使用 LLM 的同行相比,使用 LLM 的经验丰富的开源软件工程师最终完成任务的时间要长 19%,这与工程师自己的预期相反。在全国民意调查在丹麦,软件工程师自我报告称,利用 AI 节省了 6.5% 的时间。这是11个职业中最高的,平均为2.5%。
丹麦研究报告的合著者安德斯·胡姆鲁姆 (Anders Humlum) 表示:“我肯定愿意每天提高 3%。这就像一个典型职业的年生产率增长。”“这并不是什么,但相对于实验来说,我认为它是适度的。”
工程师们一致认为,在准确性不那么重要的地方,人工智能更能发挥作用。“(以前)我要花一个小时才能快速制作出一个带插图的原型,现在只需要五分钟,因为我可以告诉克劳德(一起)敲打一些东西,”威利森说。“它会犯错误之类的事实并不重要。”
云基础设施公司 Fly.io 的软件开发人员 Thomas Ptacek 表示,人工智能帮助减少了工作中的一些重复性编码任务。“因为我之前已经多次编写过[一段代码]……我也可以非常快速地查看该代码并了解它是否疯狂。”
亚马逊软件工程师表示,管理层鼓励员工在工作的各个方面使用人工智能,即使没有使用它的情况。“这在很大程度上是一种寻找问题的解决方案,”工程师说。
这位工程师表示,所有这些都在培养一种没有分歧余地的感觉。“你必须更多地使用它,它必须让你更有效率。如果你没有,那么你就做错了。”
尽管如此,这位工程师还表示,这些言论对工作和晋升的实际影响在整个组织中各不相同。
亚马逊并不是唯一一家对人工智能对代码的影响做出假设的科技公司。在备忘录中404 Media 和 Wired 最先报道,一位 Meta 高管呼吁他的部门在软件以及使用人工智能的一系列其他功能方面实现“5 倍的生产力”。他在备忘录中写道:“我们越逼迫自己,我们就能解锁更多东西。”两名工程师被解雇来自旧金山一家人工智能初创公司,因为没有充分使用人工智能编码工具,信息报道称。
亚马逊软件工程师和 Voege 都表示,他们并不是唯一对工作场所中的人工智能持怀疑态度的工程师。最近的谷歌民意调查对不同国家和行业的软件工程师的调查显示,虽然人工智能的使用接近普遍并改善了软件开发的各个方面,但大约一半的受访者“在某种程度上”信任人工智能的反应,30%的人选择“有一点”或“根本不信任”。
许多人还担心雇主用人工智能取代初级程序员,从而有效地切断未来几年监督机器所需的长期人才供应。其他人对最大的模型消耗的大量电力和人类制造的内容表示担忧,尽管显着的能力改进已经开始显得难以捉摸。
亚马逊发言人 Tom Parnell 在给 NPR 的一份声明中表示,其内部人工智能工具“帮助工程师更快地行动,交付更安全的代码,并在繁忙的工作上花费更少的时间”,并且通过调查“工程师告诉我们这些工具可以帮助他们节省时间并提高工作效率。”他还表示,该公司并不强制要求使用人工智能,也无法透露其软件工程师中有多少比例经常使用大型语言模型工具,但它相信“这些工具可以帮助开发人员更高效地工作”。
沃格后来辞去了工作,现在再次考虑开创自己的事业。他对自己的老资助者 Y Combinator 从支持不同类型的技术转变为只专注于人工智能感到震惊。
他查看了该组织对初创公司的最新要求。“这只是人工智能,人工智能,人工智能,五分之五。”