AI 编码:人类工程师比以往任何时候都更重要

虽然人工智能可以生成代码,但它也会犯错误,开发人员仍然对代码安全、性能优化和用户体验负责。

译自 AI Coding: Human Engineers Are More Important Than Ever,作者 Zachary Proser; Roie Schwaber-Cohen。

在你读完这句话的时间里,一个 AI 编码助手可以生成超过 100 行可工作的代码。这对人类程序员来说应该令人害怕吗?一点也不。这种生产力的飞跃正是人类工程师变得越来越重要,而不是越来越不重要的原因。以下解释了 AI 在编码中的颠覆 为什么对开发人员来说是一件好事。

不断变化的软件开发格局

在过去一年半的时间里,我们一直在尝试将 大型语言模型 (LLM) 整合到编码工作流程中,用于代码生成和基于聊天的辅助。我们目睹的最深刻的变化是通过自然语言描述创建代码的效率提高。开发人员现在可以向 LLM 描述他们想要的的功能,这比他们自己手动输入代码更快。

这种转变在将 LLM 整合到开发环境中的工具中尤为明显,这些工具扩展了基本的 VS Code IDE,将人类语言视为软件开发过程的主要输入。虽然 GitHub Copilot 是一个可以帮助自动完成代码的扩展,但你正在编辑并提供基于聊天的帮助,而一整类全新的工具从一开始就被设计成使开发人员能够讨论代码并通过聊天请求编辑和更新。

软件创建的细枝末节正在淡出背景。开发人员不再需要花费数小时阅读库文档,与命令行标志作斗争,或与 CSS 框架作斗争才能提高生产力。相反,这个过程正在演变成开发人员和 LLM 之间的迭代对话:

  1. 通过 AI 辅助头脑风暴进行初始架构和功能定义。
  2. 快速代码生成和人工审查和反馈循环。
  3. 不断引导 AI 与整体愿景和目标保持一致。
  4. 在本地和预览环境中进行定期测试和验证。

这种新的工作流程使经验丰富的开发人员能够专注于高级设计和解决问题,同时使用 AI 处理实现细节。

但是,这并不否定对编码技能的需求。虽然 AI 可以生成代码片段,但它也会犯错误,开发人员仍然负责关键方面,例如确保代码安全,优化性能,验证功能和打造出色的用户体验。

钢铁侠悖论:AI 作为增强器,而不是替代品

考虑一下“钢铁侠”中贾维斯和托尼·斯塔克之间的动态。贾维斯,钢铁侠的 AI 助手,可以执行斯塔克无法完成的计算壮举。贾维斯完美地回忆起即使是最模糊的事实和数据,并且可以围绕他的创造者进行编码。他以毫秒为单位执行复杂的任务,不会经历恐惧或自我怀疑。

那么,为什么托尼·斯塔克是英雄?

正如 Meta 的首席 AI 科学家 Yann LeCun 指出,智力和动机是分开的。我们当前和未来的 AI 系统不会自发地追求自己的目标,而是需要由真正有目标和愿望的人类来指导。AI 不想取代我们,因为它没有欲望。

斯塔克是英雄,因为他的意志力和解决问题的愿景推动了整个故事的发展,而当前一代的 AI 工具及其人类操作员也是如此。

这个悖论说明了编码正在发生变化的几个关键点:

  1. 广阔的知识和快速处理:AI 拥有超越人类能力的记忆和计算能力。
  2. 人类作为英雄:尽管 AI 拥有非凡的能力,但人类仍然是驱动力,因为他们拥有雄心壮志、创造力和道德决策能力。
  3. AI 作为扩展:AI 辅助编码工具扩展了开发人员的能力,使他们能够更高效地工作并应对更复杂的挑战。
  4. 目标导向行动:开发人员提供方向和目的,使用 AI 工具来实现他们的愿景并完成他们的项目目标。

开发人员的益处和持续责任

作为经验丰富的编码人员,我们认识到的主要好处之一是对解决大型和雄心勃勃的项目越来越兴奋。在着手一个新项目时,我们对可以按需利用的巨大辅助能力感到振奋和授权。

将大型语言模型 (LLM) 整合到我们的工作流程中,显著减少了项目初期阶段常见的犹豫和拖延。借助人工智能的便捷访问,我们可以在开始编码之前彻底讨论复杂问题,从而获得清晰的认识。这种准备性对话有助于我们识别和避免潜在的陷阱,使编码过程更加高效。此外,人工智能生成代码的速度让我们敢于尝试新的设计模式和方法,因为我们知道任何决定都可以快速修改。

一个突出的例子来自我们自己的队伍,我们的多模态演示叫做“Shop the Look”,这是一个电子商务体验,允许用户通过文本、图像甚至视频来购买服装。

我们的同事在远离动手编码多年后,借助 Anthropic 的 Claude 设计并构建了 Shop the Look。我们的同事之所以成功,是因为他们拥有广泛的领域经验,致力于 打造出色的用户体验,并决心将项目进行到底。这个案例说明了 LLM 辅助编码如何能够放大那些拥有扎实基础知识和动机的人的能力,即使他们的技术技能生疏。

然而,虽然人工智能可以增强生产力,但也带来了新的挑战。我们观察到,与 LLM 配对编程对初级开发人员来说是弊大于利的,导致他们走上了错误的道路。这突出了批判性思维和验证人工智能生成解决方案能力的重要性。克服这一挑战的关键是拥有足够的经验和知识,以便识别出即使是高级模型也建议使用过时的方法或弃用代码的情况。高级开发人员在引导初级开发人员穿越这片领域方面至关重要,帮助他们培养辨别能力,以便有效地使用人工智能辅助。

人类工程师不会被免除精益求精的责任。相反,由于这种级别的帮助随时可用,对于平庸的工作就更没有理由了。正如读者可以辨别出通过向 ChatGPT 输入提示而生成的懒惰内容一样,您的利益相关者也会对在第一个边缘情况下就崩溃的非功能性软件感到不以为然。

使用 LLM 编码可以显著提高您生成工作应用程序的速度,但我们怀疑这最终会导致对普通开发人员的更高生产力期望。

重要的是要认识到,无论个人对传统编码方法有多么依恋,该行业都在快速发展。您的竞争对手正在使用这些人工智能工具来大幅提高他们的生产力和能力。未来不会等待任何人。

未来:开发者作为园丁和指挥家

这种简化开发流程的趋势将加速。像 Cursor 这样的工具使迭代速度明显快于传统的 IDE,提高了开发人员的生产力标准。我们设想一个未来,开发人员采用“园丁”或“指挥家”的心态,通过人工智能增强工具的视角来监督各种代码库。

将 LLM、传统 IDE 工作流程、自主代理和模型与不断扩展的上下文窗口相结合,可能会使开发人员能够以前所未有的速度请求、观察和引导更改。

这种转变将使单个开发人员能够管理比以往更大的、更复杂的项目。我们还预计,单人开发者软件公司将增多,在这种公司中,由人工智能工具增强的单个开发人员无需任何其他员工就能建立一个盈利且可持续的公司。

这种范式对编码的未来具有几个重要的意义:

  1. 增强能力:有效使用人工智能工具的开发人员可以承担更复杂的项目,并比以往更快地解决问题。
  2. 技能重点的转变:虽然技术技能仍然很重要,但对更高层次的能力(如问题定义、系统架构和创造性解决方案设计)的重视程度将提高。对人类专业知识的重视程度也将提高。
  3. 道德考量:与托尼·斯塔克一样,开发人员必须仔细考虑这些强大工具的道德影响。
  4. 持续学习:人工智能工具的快速发展意味着开发人员必须培养持续学习和适应的心态。这在人工智能工具快速普及之前一直如此。
  5. 协同智能:编码的未来在于协同智能,人类的创造力和人工智能的能力协同工作,以突破软件开发的可能性边界。

结论

编码正在经历一场范式转变,但在可预见的未来,人类程序员仍将供不应求。我们正在见证的主要转变正在消除创造过程中的繁琐和细枝末节,使人类工程师能够将他们的创造力和热情应用于更高层次的问题。

我们相信,未来几十年最成功的工程师将以他们的活力、创造力和意志力而闻名,而最新一代的开发人员工具将使他们能够比以往更快地将他们的影响力扩展到更广泛的软件项目中。

如果您一直抵制新的工作流程或“AI 增强”的开发人员工具,请将此视为克服这种抵制的正式邀请。更快的途径已经出现,并且正在被同事和竞争对手迅速采用。通过培养与 AI 的共生关系,开发人员可以期待一个未来,在这个未来中,他们仍然是创新的驱动力,而 AI 则是将他们最雄心勃勃的想法变为现实的强大盟友。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注