开发人员正在拥抱编码助手和其他生成式 AI 工具。这种兴奋是真实的,还是由利用开发人员不安全感的营销所推动?
译自 Should Developers Curb Their Enthusiasm for Generative AI?,作者 Richard Gall。
早在今年 2 月,Copilot Enterprise 正式发布 之后,GitHub 的产品高级副总裁 Mario Rodriguez 对生成式 AI 在软件开发中的应用持(不出所料的)乐观态度。
“我们已经过了 AI 只是炒作的阶段……我们已经跨越了鸿沟,”Rodriguez 告诉 The New Stack。“这不再是早期采用者的东西了。”
六个月后,似乎很难不同意他的观点。2024 年发布的数据显示,开发者正在拥抱 GenAI 编码助手 和其他 GenAI 工具,将其纳入工作流程:
- 在 7 月发布的Stack Overflow 年度开发者调查 中,全球 65,000 名开发者中有 70% 表示他们倾向于在工作中使用 AI 工具。
- 该报告称,在使用 AI 工具的开发者中,有 85% 使用它们来编写代码。
- SlashData 于 6 月发布的一项调查 显示,59% 的开发者表示他们在开发工作流程中使用 AI 工具。根据 Gartner 的一项调查,截至 2023 年第三季度,63% 的组织正在使用或正在试点 AI 驱动的编码助手。这家分析公司还在 4 月预测,到 2028 年,每四个开发者中就有三个将使用 AI 驱动的编码助手。
但是什么推动了这种热情?这真的是完全自发的、自下而上的对这项技术的参与吗?还是有其他因素在起作用?
投资界显然对 AI 寄予厚望。高盛 等机构发出的谨慎声音,随后是科技股暴跌,表明该行业某些部分存在焦虑情绪,这使得采用对于那些掌握着“钱袋子”的人来说尤为重要。
除了投资者的目标之外,软件工程师所面临的压力越来越大,难道不是因为他们经历了一段似乎持续不断的裁员公告 之后,感到更加脆弱了吗?
AI 热情来自开发者还是风投?
Alison Buki,一家 EdTech 公司 Teachable 的软件工程师,对这种情况持直言不讳的看法。“有一些热衷于各种机器学习主题的爱好者和研究人员,”她在接受 The New Stack 的电子邮件采访时说。
“但将‘AI’商业化的巨大压力——本身就是一个营销术语——在很大程度上是由风险投资和对下一轮科技泡沫的套现需求驱动的。”
支持 Buki 论点的一个关键点是她所描述的该领域的“头重脚轻”性质——换句话说,“训练和部署商业化大型语言模型所需的资金、劳动力和计算资源规模”。
Kate Crawford 等研究人员也提出了这一点,她在她的著作《AI 地图集》中绘制了使 AI 系统运行所需的庞大基础设施。当然,随着这些工具变得越来越普遍,并嵌入到我们的专业环境中,我们很难理解这种规模,但仍然值得记住,即使是最基本的工具是如何工作的。
Dwayne Monroe, Cloudreach 的高级云架构师,在接受 The New Stack 的电子邮件采访时,也表达了与 Buki 相似的观点。 “虽然有个人推动者,但驱动力来自行业精英,”他写道。像 Buki 一样,他指出了这项技术最基础部分所需的巨额投资。“微软在 OpenAI 上投入了数十亿美元,”他告诉 TNS,因此“渴望从这笔不断增长的投资中获得回报”。
挖掘开源资源
从这个角度来看,生成式 AI 在软件工程领域的出现,与其说是为开发者和其他技术人员带来充满希望和令人兴奋的新视野,不如说是回到了过去行业紧张局势的体现,最典型的例子是 微软 对开源软件的蔑视(尽管它已经努力纠正了 过去十年 的这种态度)。
当然,这一次,开源不再被视为洪水猛兽,而是被视为一种可以提取和利用的资源。这令 Paul Biggar 感到沮丧,他是 CircleCI、Darklang 的创始人,也是 Tech for Palestine(一个由科技界人士组成的联盟,支持巴勒斯坦自由项目)的联合创始人。
“所有这些开源代码,”他告诉 The New Stack。“人们可以争论版权法是如何具体措辞的,或者其他什么,但很明显,这并非旨在允许 AI 公司大规模窃取源代码。”
那么应该怎么做呢?Biggar 犹豫不决,他对版权的保留意见被他自己对 GitHub Copilot 的总体积极体验所缓和。事实上,完全拒绝一项技术似乎有些刻薄,缺乏细致入微。
然而,Monroe 并不担心这一点。事实上,他直言不讳:“软件开发者应该抵制 Copilot 和竞争产品,因为它们没有必要,是使用从 GitHub 和其他来源窃取的代码构建的,并且运行在 庞大的数据中心,这些数据中心是生态灾难。”
贬低工程技能和知识
如果 AI 正在削弱软件开发人员的能力,那么它是怎么做到的?毫无疑问,这个故事有一个粗略的版本:让 开发者更高效,这样 你就不会需要那么多人,最终,希望这项技术能够发展到一个地方,即使是相当复杂的工作也能实现自动化。
然而,根据研究工程师 Danny McClanahan 的说法,可能正在发生一些更微妙、更恶劣的事情。
“LLM 通常专门针对那些对自己说话能力没有信心的人进行营销——代码和写作也是一种语言——我发现这真的很令人反感,与 Axie Infinity 诈骗 相当,这种诈骗是由加密货币倡导者实施的,”他们在 X(前身为 Twitter)上通过私信告诉 The New Stack。
McClanahan 补充说:“人们相信自己不够聪明。”一些开发者“觉得他们需要使用一些外部工具才能与其他人相提并论,因为他们认为编程应该比实际情况更容易,因为他们不断被迫在荒谬的时间范围内完成任务,并且不理解这些都是完全不公平的期望。”
这种框架在当前围绕 GenAI 的讨论中完全缺失。然而,放在关于 倦怠 和最近 对开发者生产力的担忧 的讨论背景下,不难看出,整个行业各种焦虑情绪为生成式 AI 被宣传为未来创造了特别肥沃的土壤。
预期管理
诚然,今天看起来很原始的许多焦虑情绪并不一定新鲜。毕竟,开发者一直以来都必须管理看似相互矛盾的要求,一方面是生产力和速度,另一方面是质量。然而,虽然表面上的说法是 AI 使得这一切变得更容易,但它有可能实际上让事情变得更难。
Kate Holterhoff 是 RedMonk 的开发者分析师,她在接受 TNS 的电子邮件采访时描述了“预期设定,开发者需要了解 AI 代码助手如何在他们的工作流程中发挥作用”。
这意味着开发人员在尝试适应这项技术进入其工作生活时,会进行一定程度的管理——部分是实际的,也可能是修辞的。
乍一看,这可能并不那么引人注目。然而,当你考虑到这个行业在过去几年里一直在谈论平台工程和“黄金路径”,人们会花时间和精力去让一些东西发挥作用,而这些东西往往并不奏效,这很奇怪。
在 Stack Overflow 的 2024 年开发者调查中,看到 81% 使用 AI 辅助工具工作的参与者将生产力列为其主要优势之一,而只有 30% 将提高准确性列为其优势之一,这令人好奇。虽然提高的幅度可能如此之大,以至于缺乏准确性并不算什么大问题,但仍然需要问清楚这些工具到底产生了哪些额外的工作。
打破风格的开发
好吧,也许它们不会为每个人创造更多工作。然而,一些实例甚至编程风格可能会受到对生成式 AI 工具日益依赖的影响。
这是 Biggar 提出的一个观点。“对于‘我在 React 中制作一个表单’来说,这真的很糟糕,”他以一个例子说道。“你观察一个优秀的 React 程序员,他们正在做的事情……他们就像在打字,剪切粘贴,而且没有停下来。”
风格可能看起来像是一个微不足道的事情,但它肯定不是。正如 Biggar 在选择 React 作为例子时所暗示的那样,风格是我们与所用工具的关系以及我们对所做工作的思考方式所产生的。
那么问题是如何发展我们各自的风格。我们如何更多地了解我们使用的工具?
正如 Biggar 所说,生成式 AI“让不学习你的工具变得容易”。这可能看起来不是什么大问题,尤其是如果你是一位经验丰富的软件工程师,但它可能会让开发人员更难解决问题。通常,解决复杂或棘手问题的关键部分是回到我们理解的基础,回到我们用来解决问题或依赖的工具,以找出可能发生了什么。
7 月份的 CrowdStrike 停机事件 是一个关注我们的工具以及关注细节重要性的教训。我们是否真的会拥抱便捷的抽象和令人信服的虚构,从而帮助我们确保此类故障不再发生?
初级开发人员面临的挑战
这可能是危言耸听。但软件工程的未来呢?这对初级开发人员意味着什么?看到 Stack Overflow 开发者调查中的数据表明经验较少的开发人员更有可能信任 AI,这令人担忧——显然,技术教育和培训中存在一些问题。炒作机器战胜了冷静的分析。
“我认为人们需要了解文本生成的是,计算机正确使用语言并不等于思考,”Buki 说。
这个信息很难传达,这似乎很奇怪。事实上,人们也不禁要问,是否对细微差别的尝试以及热衷于强调“增强”的语言的使用,只是在混淆视听,让那些愿意提出强有力、直言不讳的论点——比如 Monroe 的论点——难以被听到。
如果生成式 AI 趋势要继续下去,一个解决方案是考虑媒体素养。这个词在编程的语境中可能听起来有点奇怪,但这是 McClanahan 在谈论“[理解]哪些类型的博客文章和 Stack Overflow 问题实际上有用,哪些是广告”以及“查看不熟悉的源代码”等技能时使用的词。
在工程中强调这些技能——以及对LLM 的局限性 进行更坦率的讨论,正如 Buki 所敦促的那样——可以在很大程度上帮助刚进入该行业的开发人员获得更大的成功机会。AI 热情可能会导致该行业忘记真正优秀的软件开发人员的品质和技能。
公开我们的怀疑态度
这就是为什么我们需要公开我们的怀疑。是的,我们中的许多人都在呼吁稳定——甚至乐观;这可能是为什么如此多的开发人员渴望解锁生成式 AI 的益处、潜力和机会(插入您选择的营销术语)。当趋势的向前推进似乎不可避免时,悲观主义看起来并不像一个明智的策略。
然而,不表达保留意见和异议将是一个错误。从版权影响到训练大型语言模型的环境影响,许多重要问题需要得到承认和解决,而不是被一种“我们以后再担心”的态度所掩盖。
人工智能带来的巨大挑战无法由一个人解决;正如 Buki 所说,它“需要劳工组织和政府监管层面的集体努力”。但抑制我们对人工智能的热情,与同行和同事分享我们的恐惧或悲观情绪,可以帮助每个人在面对看似无休止的炒作和职业脆弱性时获得清晰度和目标。