AI 正在推动程序员的进化,而不是灭亡
导读:
这是纽约时报新刊登的一篇 AI 对程序员影响的文章,有人担心 AI 很快会自动取代数百万个工作岗位,文章主要观点还是认为 AI 正在推动程序员的进化,而不是灭亡,创造力、批判性思维、解决问题的能力、沟通能力、共情能力——这些才是人们在未来需要持续培养的技能。当然,还要学会如何管理和使用好这些 AI 工具。
同时 HackerNews 上关于这篇文章也有不少讨论,一起整理后放在附录中供参考。
AI 正在推动程序员的进化,而不是灭亡
微软等公司推出的 AI 工具正辅助编写代码,让软件工程师站在这项技术对劳动力市场所带来冲击的最前沿。
撰稿人 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 如此表示。
学员之一 Ismail FoFana 正在参加这个项目:先接受为期六个月的 Per Scholas 课程培训,然后通过PeopleShores(另一家提供就业培训的机构)与科技服务及咨询公司 Accenture 合作的项目,进行为期一年的学徒生涯。FoFana 曾在餐厅做过经理,他说自己目前所接受的培训让他觉得 “AI 绝对更像是朋友,而不是敌人”。
他形容自己的AI 助手既像一个帮手,也像个老师。作为初学者,他可以直接向它提出编程问题,通过自学来加快进步,从而更快地为自己在 Accenture 所参与的应用开发和维护团队做出贡献。
谈及未来所需的技能,FoFana 与资深软件工程师和学术界人士的看法不谋而合——他们都认为计算机科学的基础依然非常重要,但对某个编程语言的熟练程度恐怕不会再像过去那样决定一切。
“创造力、批判性思维、解决问题的能力、沟通能力、共情能力——这些才是人们在未来需要持续培养的技能。”FoFana 说,“当然,还要学会如何管理和使用好这些 AI 工具。”
(完)
附录:HackerNews 上网友的讨论
下面是一份对 Hacker News 上关于 “AI 与软件工程” 这一话题的讨论进行的归纳整理,旨在帮助读者从多角度了解主要观点和洞见。评论源自 Hacker News 对纽时那篇“AI 正在推动程序员的进化,而非灭亡”文章的回应。为方便理解,我将评论归纳为若干主要主题,并在每个主题下概括和摘取一些有代表性的看法或有价值的分析。
AI 对代码复杂度与质量的影响
主要观点:
- 更多(甚至冗余)代码,带来更高的复杂度有些开发者(如toprerules、hnthrowaway99等)担心,AI 会生成大量重复或无必要的代码,导致整体复杂度飙升。他们认为,过多的样板(boilerplate)代码将加大维护难度,需要更多的工程师来收拾烂摊子。
- 自动化编写并不等于“少写代码”也有人指出(如perrygeo):“AI 工具总是建议添加新函数、抽象层,而不是精简或去除代码。” 这使得代码库可能越变越臃肿。另外,在实践中,人们更容易“让 AI 快速复制粘贴”,而不是去思考如何重构或消除重复。某些评论者感到遗憾,“编程”正演变成“编辑 AI 生成的代码”。
- 可能让初级开发者懒于理解深层次原理有人分享经历:某开发者直接用 ChatGPT 建议的 Trie 数据结构,却完全不理解 Trie 原理,导致更严重的 bug。这种例子会变得更普遍:初级开发者可能依赖 AI 输出,却不了解背后机制,使后期维护更加困难。
有价值的思考:
- AI 工具催生出更多“代码垃圾”,短期内也许反而需要更多高级工程师来“善后”,即所谓“清理者”机会与风险并存。
- 长期看,若公司和团队不重视代码质量管理,可能会“得不偿失”,在维护阶段付出巨大成本。
“编辑”型开发者与“作者”型开发者的对立
主要观点:
- 有些资深程序员喜欢“老派”手写代码的乐趣评论者hnthrowaway99表示,自己对“让 AI 自动生成大段重复代码”感到沮丧,因为失去了对代码本身细节的掌控和创造的乐趣。在他看来,AI 让开发者沦为“编辑”,而不是“作者”。他甚至因不喜欢这种工作方式而考虑离开开发领域。
- 另一些开发者拥抱 AI,享受“省时省力”也有不少人(如outside1234)表示,对于那些厌倦重复样板工作的人来说,AI 可以解放他们,让他们专注更高级别的思考与设计。他们认为,使用 AI 后,自己会有更多精力做架构、性能调优以及更具创造性的部分。
- 个人倾向和年龄、经验相关多位评论者提到,自己在编程多年后,对新工具的适应度会降低,但这是个人选择;也有人非常喜欢拥抱变化。有人指出,“拒绝使用 AI”并不是大势所趋,更像是对“编程本质变化”的不满和怀旧。
有价值的思考:
- 对于编程爱好者或资深程序员来说,“写代码”的成就感很重要;对于更关注效率和业务结果的人而言,“AI 辅助”则是一种福音。
- 团队管理需要考虑:并不是所有人都乐于做“AI 编辑”,也不是所有项目都适合“纯手写”。
AI 造成的“低质量”或“不正确”代码如何影响职场
主要观点:
- 有人担心初级/不严谨开发者+AI 产生巨大混乱例如voidhorse提到团队里有人用 ChatGPT 写出来的 Trie 结构完全不对,而对方连自己错在哪里都没概念。由此可见,若缺乏基本的计算机科学训练,AI 会让这些人产出更多错误代码。
- 随之而来的“代码修复”工作量激增不少人(如voidhorse、plagiarist)不想把工作重心放在给 AI 烂代码“补漏洞”、“扫尾”上。这种工作被形容为“毫无成就感”、“非常低效”。但亦有人(saaaaaam、cootsnuck等)指出,这些“烂代码善后”反而意味着更多的咨询或高级维护需求,从而带来新的盈利机会。
- “廉价+大量” vs “少量+高质量”部分评论者推测,AI 生成代码的模式会吸引不少企业压低成本,让普通开发者/实习生或外包团队借助 AI 快速产出。但随着时间推移,“质量账”迟早要算,一些技术实力较强、注重质量的团队会脱颖而出。
有价值的思考:
- 短期内,AI 既能提升某些人产能,也会放大他们的基础能力不足。团队需要做好培训与代码审查。
- 长期来看,“低质量快产出”与“高质量深耕”会在市场中并存,不同企业文化与项目需求会催生不同策略。
AI 是否会真正取代程序员?(工作机会与职业前景)
主要观点:
- 短期内:演变而非消灭多数评论者认为,与纽约时报原文结论相似,短期并不会出现大规模失业,反而会需要更多能调控、管理 AI 的开发者,也需要更多高级人才来维持复杂系统、修复bug。“需求更多 AI 工程师”这一结论也被不少人认同,因为当代码量和系统复杂度不断攀升,需要更多懂体系结构和底层原理的人去收尾、调试、运维。
- 长期:可能冲击初级职位甚至中级职位有人引用了马克·扎克伯格对“AI 能力相当于中级工程师”的推测,并认为随着模型的不断完善,基础性编码工作可能被持续蚕食。也有评论者(throw234234234等)提到,许多科技巨头可能会刻意往这一方向加码,让 AI 更有“针对性”地替代软件工程环节;对于老手而言,需要及时转型、提升附加价值。
- 未来或出现“AI 导致的软件行业两极化”一端是大量借助 AI 产出的低门槛、低质量代码(外包、短期项目);另一端则是小规模但专业度极高的团队(或个人),为关键业务或高可靠性场景提供高级服务。后者的回报和薪水预期会更高,甚至出现“资深工程师稀缺、高薪抢人”的情况。
有价值的思考:
- 多数人相信完全替代尚需时日,但不应盲目乐观;随着 AI 不断进化,尤其是自然语言训练之外,如果能与更多工程技术知识深度结合,低层次 coding 工作确实有被淘汰风险。
- 职业发展思路:避免过分依赖自动化输出,培养系统思维、设计能力、架构与交流协作能力。
对前端、后端以及大规模应用的影响
主要观点:
- 前端(UI)或许最先出现大幅自动化有评论提出,比如用 AI 直接生成各种移动端或 Web 的用户界面,一些重复度高、UI 逻辑相似的工作确实可能被极度压缩。但是,若用户期望“直接告诉 AI 要怎样的界面”,在真实商业环境下仍存在沟通、审美、兼容性等问题。
- 后端的挑战:兼顾性能、可靠性、调试等一些人认为后端需要更深层次的系统理解,对扩展性、安全性、数据库设计、性能优化的要求更高,AI 目前很难从根本上完全替代所有场景。尤其是在支付、金融等对安全性要求极高的项目中,AI 仅能起到辅助作用,最后的把关仍依赖高水平工程师。
- 自动化程度提升,但难免出现“治理与规范”难题当大量“AI 产出代码”涌现,如何实现审计、版本可追溯、可测试及合规?有人提到,将来也许会出现让“AI 直接翻译需求到机器指令”的尝试,但仍需人类来做“审计”和“可追责性”的保障。
如何看待“Hacker News 上对此话题的态度分化”
主要观点:
- 乐观派:认为 AI 辅助是大势所趋,从短期看提高了效率,也让初学者更快上手;从长期看,人类工程师将主要负责更高级的抽象、沟通和管理工作。有人甚至表示,已经离不开 AI 写代码了,生产效率直线上升。
- 悲观或谨慎派:主要担忧质量与维护成本、初级开发者能力被“掏空”,以及市场上过度依赖 AI 导致的长期风险。还有人对“纯粹编程乐趣丧失”感到失望,不喜欢变成“代码审阅员”。
- “现实主义”或中间派:认为此类技术革新并非第一次出现,每次自动化的到来都会产生新的岗位需求和专业分工。真正有实力的人不必太过恐慌,反而可能因为“修复和提升 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 公开讨论,仅作观点来源参考,并不代表任何个人立场。