AI 正在推动程序员的进化,而不是灭亡

导读:

这是纽约时报新刊登的一篇 AI 对程序员影响的文章,有人担心 AI 很快会自动取代数百万个工作岗位,文章主要观点还是认为 AI 正在推动程序员的进化,而不是灭亡,创造力、批判性思维、解决问题的能力、沟通能力、共情能力——这些才是人们在未来需要持续培养的技能。当然,还要学会如何管理和使用好这些 AI 工具。

同时 HackerNews 上关于这篇文章也有不少讨论,一起整理后放在附录中供参考。

AI 正在推动程序员的进化,而不是灭亡

微软等公司推出的 AI 工具正辅助编写代码,让软件工程师站在这项技术对劳动力市场所带来冲击的最前沿。


John Giorgi 是一家名为 Abridge 的 AI 创业公司的软件工程师兼研究科学家。他也拥有自己的节省时间的帮手:一个 AI 编程助手。图片来源…Markian Lozowchuk for The New York Times

撰稿人 Steve Lohr 在过去 20 多年里一直报道软件编程及程序员。

2025 年 2 月 20 日 更新于 东部时间上午 11:16


29 岁的计算机科学家 John Giorgi 正利用人工智能来构建人工智能。

他在一家医疗保健创业公司工作,所研发的软件可以记录并总结医生的就诊过程,从而让医生摆脱耗时的书写病历。

为了实现这一点,Giorgi 也有自己的省时小帮手:一个 AI 编程助手。只要敲几下键盘,这个软件就会提示接下来的代码行该怎么写。它还能给出修改建议、获取数据、找出漏洞并运行基本测试。尽管这款 AI 有时也会犯错,但在很多天里,它能为 Giorgi 节省多达一小时的工作时间。

“我现在已经离不开它了。”Giorgi 说。

这种想法在软件开发者群体中日渐普遍。他们处在使用 AI 智能体的最前沿——这些辅助程序可帮助从事客户服务、制造业等领域的员工完成工作。这项技术的飞速进步也伴随着一些悲观预言——有人担心 AI 很快会自动取代数百万个工作岗位,而软件开发者更是被视为首当其冲的群体。

然而,资深软件工程师、行业分析师以及学术界人士普遍认为,软件开发者面临的更可能是一场“进化”,而不是“灭亡”。 多年来,不断升级的工具已经在自动化某些编程任务,但对软件以及软件开发者本身的需求依然在持续上涨。

他们指出,AI 将进一步加速这种趋势,让软件设计这一艺术与技术的结合变得更上一层楼。

软件开发者所需的技能会发生显著变化,但这并不意味着 AI 会让他们变得多余。”技术研究公司 IDC 的分析师 Arnal Dayaratna 说,“至少近期内不会。”

对软件工程师的前景分析,能让我们一窥生成式 AI(即支持 ChatGPT 等聊天机器人背后的技术)对整个知识型劳动力的影响,包括医生、律师、市场经理和财务分析师等。对这项技术的影响范围,人们的预测各不相同:有人认为它将消灭大批工作岗位,也有人认为它会像一种“灵丹妙药”,显著提升生产力并推动经济增长。

之所以出现这些截然不同的看法,主要是因为我们仍不确定生成式 AI——这种可以流畅对话、还能生成逼真的图像与视频的技术——究竟能多快进步、又能发展到什么程度。

Meta 首席执行官 Mark Zuckerberg上个月的一番话 就让不少开发者感到担忧:他预测今年某个时候,AI 的水平或许就能与中级软件工程师相当。 尽管他随后也表示,这种技术能让人类开发者更具创造力。

大多数软件工程师的工作,并不只是“机械地写代码”,他们需要设计产品、选择编程语言、排查问题以及收集用户反馈。不过,根据 Evans Data 的调查,几乎有三分之二的软件开发人员已经在使用 AI 编程工具。

软件工程师们表示,AI 编码助手的能力和可靠性在不断增强。原因在于,它们拥有大量高质量数据来进行训练,包括在线软件仓库、问答类网站以及开发者共享的文档与解决思路。 这些训练数据相对集中于代码本身,也让 AI “幻觉” (即提供虚假或无意义信息)的情况大大减少,而且准确度更高——相比之下,那些从互联网上浩如烟海的各种文本里“学习”出来的聊天机器人更容易出现偏差。

AI 会对软件开发者的工作产生深远影响,而且在他们身上发生的速度会比其他职业更快。”麻省理工学院的劳动经济学家 David Autor 表示。

如今,大型科技企业和一些主要的商业软件供应商(如 IBM、Salesforce 等)也都推出了 AI 辅助编程工具。分析人士认为,微软率先在 2021 年推出的 GitHub Copilot 是目前商业市场的领导者。

GitHub 的首席执行官 Thomas Dohmke 预计,在不久的将来,企业开发者所编写的 80% 到 90% 的代码都可能由 AI 生成。

人类开发者的角色将更像是一个指挥家,”他说,“是去指挥和引导 AI 智能体的‘AI 赋能管弦乐队’。

(《纽约时报》曾起诉 OpenAI 和微软,指控它们在与 AI 系统相关的新闻内容上侵犯了版权。OpenAI 与微软对此予以否认。)

AI 编码助手带来的机会也催生了多家创业公司,并引发大量风险投资涌入。根据追踪初创企业的 PitchBook 数据,这一 AI 细分领域在 2024 年吸引的投资金额接近 16 亿美元,是上一年的三倍。

目前,多项研究显示,在企业实际环境里,AI 智能体可为程序员带来 10% 至 30% 的生产力提升。 会计与咨询公司毕马威(KPMG)的开发人员在使用 GitHub Copilot 后,每周 平均节省了 4.5 小时,他们还表示代码质量也得到了提升(这基于该公司的内部调查)。

毕马威的专家 Swami Chandrasekaran 表示,这些收益部分来自于 AI 辅助提供快速“教学”。新成员加入开发团队后,AI 工具能让他们很快掌握所需技能。 AI 助手还可以帮助自动生成开发者解释代码所需的文档,并将许多旧软件自动翻译为现代编程语言。

一些劳动力领域的专家指出,AI 编码助手可能让初级开发者更快提升生产效率,但从长期来看,这是否会带来更多机会尚不明确。

在医疗保健初创企业担任软件开发的 John Giorgi 表示,一些原本可能交给实习生的任务,现在他直接用 AI 助手来完成。 他在多伦多工作,拥有博士学位。他说目前并不担心 AI 会抢走他的工作。

“但如果我是现在刚入行的初级开发者,我就会有些焦虑,”他说,“我肯定会想尽办法去学习 AI 相关的编程技能。” 这位软件工程师供职的Abridge 总部位于匹兹堡。

目前来看,三年以内工作经验的初级开发者在市场上的需求的确不算旺盛。但劳动力市场分析人士表示,现在还很难断定 AI 在这其中究竟发挥了多大影响。

一些职业培训项目正在迅速做出调整,以适应 AI 编程时代。比如全国性非营利组织 Per Scholas 就专门为低收入人群提供从事科技行业的培训项目,他们在去年彻底更新了课程内容。

这套培训结合了线上与线下教学,包括一门“AI 基础”课程。然后,学员在学完编程所有基础内容之后,还会动手尝试使用 AI 助手来编写软件应用。

“我们鼓励学员真正去拥抱它、理解它的重要性,因为在未来的劳动力市场上,AI 基本是保持竞争力的必要条件了。”负责课程设计的 Per Scholas 副总裁 Bolaji Saibu 如此表示。


非营利职业培训机构 Per Scholas 的毕业生 Ismail FoFana 表示,目前的培训让他觉得 AI “更像朋友而不是敌人”。图片来源…Elias Williams for The New York Times

学员之一 Ismail FoFana 正在参加这个项目:先接受为期六个月的 Per Scholas 课程培训,然后通过 PeopleShores (另一家提供就业培训的机构)与科技服务及咨询公司 Accenture 合作的项目,进行为期一年的学徒生涯。FoFana 曾在餐厅做过经理,他说自己目前所接受的培训让他觉得 “AI 绝对更像是朋友,而不是敌人”。

他形容自己的 AI 助手既像一个帮手,也像个老师。作为初学者,他可以直接向它提出编程问题,通过自学来加快进步,从而更快地为自己在 Accenture 所参与的应用开发和维护团队做出贡献。

谈及未来所需的技能,FoFana 与资深软件工程师和学术界人士的看法不谋而合——他们都认为计算机科学的基础依然非常重要,但对某个编程语言的熟练程度恐怕不会再像过去那样决定一切。

创造力、批判性思维、解决问题的能力、沟通能力、共情能力——这些才是人们在未来需要持续培养的技能。”FoFana 说,“当然,还要学会如何管理和使用好这些 AI 工具。”

(完)


附录:HackerNews 上网友的讨论

下面是一份对 Hacker News 上关于 “AI 与软件工程” 这一话题的讨论进行的归纳整理,旨在帮助读者从多角度了解主要观点和洞见。评论源自 Hacker News 对纽时那篇“AI 正在推动程序员的进化,而非灭亡”文章的回应。为方便理解,我将评论归纳为若干主要主题,并在每个主题下概括和摘取一些有代表性的看法或有价值的分析。


AI 对代码复杂度与质量的影响

主要观点:

  1. 更多(甚至冗余)代码,带来更高的复杂度

    • 有些开发者(如 topreruleshn_throwaway_99 等)担心,AI 会生成大量重复或无必要的代码,导致整体复杂度飙升。

    • 他们认为,过多的样板(boilerplate)代码将加大维护难度,需要更多的工程师来收拾烂摊子。

  2. 自动化编写并不等于“少写代码”

    • 也有人指出(如 perrygeo):“AI 工具总是建议添加新函数、抽象层,而不是精简或去除代码。” 这使得代码库可能越变越臃肿。

    • 另外,在实践中,人们更容易“让 AI 快速复制粘贴”,而不是去思考如何重构或消除重复。某些评论者感到遗憾,“编程”正演变成“编辑 AI 生成的代码”。

  3. 可能让初级开发者懒于理解深层次原理

    • 有人分享经历:某开发者直接用 ChatGPT 建议的 Trie 数据结构,却完全不理解 Trie 原理,导致更严重的 bug。

    • 这种例子会变得更普遍:初级开发者可能依赖 AI 输出,却不了解背后机制,使后期维护更加困难。

有价值的思考:

  • AI 工具催生出更多“代码垃圾”,短期内也许反而需要更多高级工程师来“善后”,即所谓“清理者”机会与风险并存。

  • 长期看,若公司和团队不重视代码质量管理,可能会“得不偿失”,在维护阶段付出巨大成本。


“编辑”型开发者与“作者”型开发者的对立

主要观点:

  1. 有些资深程序员喜欢“老派”手写代码的乐趣

    • 评论者 hn_throwaway_99 表示,自己对“让 AI 自动生成大段重复代码”感到沮丧,因为失去了对代码本身细节的掌控和创造的乐趣。

    • 在他看来,AI 让开发者沦为“编辑”,而不是“作者”。他甚至因不喜欢这种工作方式而考虑离开开发领域。

  2. 另一些开发者拥抱 AI,享受“省时省力”

    • 也有不少人(如 outside1234)表示,对于那些厌倦重复样板工作的人来说,AI 可以解放他们,让他们专注更高级别的思考与设计。

    • 他们认为,使用 AI 后,自己会有更多精力做架构、性能调优以及更具创造性的部分。

  3. 个人倾向和年龄、经验相关

    • 多位评论者提到,自己在编程多年后,对新工具的适应度会降低,但这是个人选择;也有人非常喜欢拥抱变化。

    • 有人指出,“拒绝使用 AI”并不是大势所趋,更像是对“编程本质变化”的不满和怀旧。

有价值的思考:

  • 对于编程爱好者或资深程序员来说,“写代码”的成就感很重要;对于更关注效率和业务结果的人而言,“AI 辅助”则是一种福音。

  • 团队管理需要考虑:并不是所有人都乐于做“AI 编辑”,也不是所有项目都适合“纯手写”。


AI 造成的“低质量”或“不正确”代码如何影响职场

主要观点:

  1. 有人担心初级/不严谨开发者+AI 产生巨大混乱

    • 例如 voidhorse 提到团队里有人用 ChatGPT 写出来的 Trie 结构完全不对,而对方连自己错在哪里都没概念。

    • 由此可见,若缺乏基本的计算机科学训练,AI 会让这些人产出更多错误代码。

  2. 随之而来的“代码修复”工作量激增

    • 不少人(如 voidhorseplagiarist)不想把工作重心放在给 AI 烂代码“补漏洞”、“扫尾”上。这种工作被形容为“毫无成就感”、“非常低效”。

    • 但亦有人(saaaaaamcootsnuck 等)指出,这些“烂代码善后”反而意味着更多的咨询或高级维护需求,从而带来新的盈利机会。

  3. “廉价+大量” vs “少量+高质量”

    • 部分评论者推测,AI 生成代码的模式会吸引不少企业压低成本,让普通开发者/实习生或外包团队借助 AI 快速产出。但随着时间推移,“质量账”迟早要算,一些技术实力较强、注重质量的团队会脱颖而出。

有价值的思考:

  • 短期内,AI 既能提升某些人产能,也会放大他们的基础能力不足。团队需要做好培训与代码审查。

  • 长期来看,“低质量快产出”与“高质量深耕”会在市场中并存,不同企业文化与项目需求会催生不同策略。


AI 是否会真正取代程序员?(工作机会与职业前景)

主要观点:

  1. 短期内:演变而非消灭

    • 多数评论者认为,与纽约时报原文结论相似,短期并不会出现大规模失业,反而会需要更多能调控、管理 AI 的开发者,也需要更多高级人才来维持复杂系统、修复bug。

    • “需求更多 AI 工程师”这一结论也被不少人认同,因为当代码量和系统复杂度不断攀升,需要更多懂体系结构和底层原理的人去收尾、调试、运维。

  2. 长期:可能冲击初级职位甚至中级职位

    • 有人引用了马克·扎克伯格对“AI 能力相当于中级工程师”的推测,并认为随着模型的不断完善,基础性编码工作可能被持续蚕食。

    • 也有评论者(throw234234234 等)提到,许多科技巨头可能会刻意往这一方向加码,让 AI 更有“针对性”地替代软件工程环节;对于老手而言,需要及时转型、提升附加价值。

  3. 未来或出现“AI 导致的软件行业两极化”

    • 一端是大量借助 AI 产出的低门槛、低质量代码(外包、短期项目);另一端则是小规模但专业度极高的团队(或个人),为关键业务或高可靠性场景提供高级服务。

    • 后者的回报和薪水预期会更高,甚至出现“资深工程师稀缺、高薪抢人”的情况。

有价值的思考:

  • 多数人相信完全替代尚需时日,但不应盲目乐观;随着 AI 不断进化,尤其是自然语言训练之外,如果能与更多工程技术知识深度结合,低层次 coding 工作确实有被淘汰风险。

  • 职业发展思路:避免过分依赖自动化输出,培养系统思维、设计能力、架构与交流协作能力。


对前端、后端以及大规模应用的影响

主要观点:

  1. 前端(UI)或许最先出现大幅自动化

    • 有评论提出,比如用 AI 直接生成各种移动端或 Web 的用户界面,一些重复度高、UI 逻辑相似的工作确实可能被极度压缩。

    • 但是,若用户期望“直接告诉 AI 要怎样的界面”,在真实商业环境下仍存在沟通、审美、兼容性等问题。

  2. 后端的挑战:兼顾性能、可靠性、调试等

    • 一些人认为后端需要更深层次的系统理解,对扩展性、安全性、数据库设计、性能优化的要求更高,AI 目前很难从根本上完全替代所有场景。

    • 尤其是在支付、金融等对安全性要求极高的项目中,AI 仅能起到辅助作用,最后的把关仍依赖高水平工程师。

  3. 自动化程度提升,但难免出现“治理与规范”难题

    • 当大量“AI 产出代码”涌现,如何实现审计、版本可追溯、可测试及合规?

    • 有人提到,将来也许会出现让“AI 直接翻译需求到机器指令”的尝试,但仍需人类来做“审计”和“可追责性”的保障。


如何看待“Hacker News 上对此话题的态度分化”

主要观点:

  1. 乐观派:

    • 认为 AI 辅助是大势所趋,从短期看提高了效率,也让初学者更快上手;从长期看,人类工程师将主要负责更高级的抽象、沟通和管理工作。

    • 有人甚至表示,已经离不开 AI 写代码了,生产效率直线上升。

  2. 悲观或谨慎派:

    • 主要担忧质量与维护成本、初级开发者能力被“掏空”,以及市场上过度依赖 AI 导致的长期风险。

    • 还有人对“纯粹编程乐趣丧失”感到失望,不喜欢变成“代码审阅员”。

  3. “现实主义”或中间派:

    • 认为此类技术革新并非第一次出现,每次自动化的到来都会产生新的岗位需求和专业分工。

    • 真正有实力的人不必太过恐慌,反而可能因为“修复和提升 AI 代码”赚到更多钱;但也承认当前存在不确定性。


总结与启示

  • AI 编码工具带来的影响 并非只在简单“生成代码”层面,而是会改变整个软件工程流程:需求分析、系统设计、代码实现、测试部署等,每个环节都有潜在的“被 AI 赋能或被 AI 搅乱”的可能。

  • 对开发者个人 来说,增强自身对底层原理、架构设计、问题分析和沟通协作等“非简单代码”的能力,将是长期生存发展的关键。

  • 对企业与团队 而言,需要建立更完善的管理和质量控制策略,避免盲目把 AI 当“万能替代品”,导致大量技术债务累积。

  • 从行业整体 来看,AI 确实可能大量减少“初级编程”需求,或让其形式发生转变。但软件开发仍是一个深度专业领域,“演变”将是主旋律,而非“灭亡”。优质人才的价值仍会得到凸显。


参考链接
[1] Hacker News 讨论链接
[2] 相关原文:
A.I. Is Prompting an Evolution, Not Extinction, for Coders (nytimes.com)

注:文中引用或提及的评论者 ID 来自 Hacker News 公开讨论,仅作观点来源参考,并不代表任何个人立场。