观世界 | 当AI包揽编程,程序员成监工
当AI智能体开始自动编写代码,硅谷的程序员们正在经历一场身份危机:他们几乎不再亲手编程,日常工作变成了与机器人“谈话”、下达指令、甚至用“令人尴尬”这样的词来训诫AI。这场变革将编程从一门晦涩的手艺,推向更高层次的抽象——程序员更像建筑师,负责评判与设计,而非亲手搭建。本文作者采访了70多位开发者,描绘了一个既兴奋又焦虑的编程新时代。
纽约时报|人工智能
在人工智能智能体的时代,许多硅谷程序员现在几乎不编程了。相反,他们正在做的事情非常、非常古怪。
作者:克莱夫·汤普森
克莱夫·汤普森采访了谷歌、亚马逊、微软以及小型初创公司的70多名软件开发人员。他是《程序员:一个新部落的形成与世界的重塑》一书的作者。
最近,曼努·埃伯特一直在努力防止他的人工智能让他难堪。
我最近拜访了埃伯特——一位机器学习工程师、前神经科学家——在他那间空闲的公寓里,他和康纳·布伦南-伯克在那里经营着他们的初创公司 Hyperspell。39岁的埃伯特身材高大,留着短胡子,带着一种欧洲学者的气质,他坐在一个巨大的曲面显示器前。屏幕上,来自 Anthropic 的 AI 工具 Claude Code 正在忙碌工作。它的一个智能体正在编写一个新功能,另一个正在测试它;第三个则像虚拟监工一样监督着一切。几分钟后,Claude 闪出一个信息:”实现完成!”
埃伯特在90年代长大,以老式的方式学习编程:他一行一行地辛苦敲出代码。大学毕业后,他在硅谷的 Airbnb 等公司担任软件开发人员,后来成为四家初创公司的联合创始人。那时,开发软件意味着整天弯腰驼背地坐在键盘前,思考复杂棘手的细节,努力避免错误。
这一切在去年秋天结束了。人工智能在编写代码方面已经变得非常出色,起初很谨慎的埃伯特开始让它做越来越多的工作。现在,Claude Code 承担了大部分工作。这些智能体速度极快——通常也非常准确——最近当客户需要 Hyperspell 编写一些新代码时,只花了半个小时。在过去呢?”光是那一个任务,就得花我一天时间,”他说。
他和32岁的布伦南-伯克现在仍然是软件开发人员,但像他们现在的大多数同行一样,他们很少自己编写代码。相反,他们花大量时间与 AI 交谈,用简单的英语描述他们想要什么,并对 AI 将要做出的”计划”做出回应。然后,他们就让这些智能体放手去干。
AI 毕竟是 AI,事情偶尔也会失控。有时当 Claude 表现不佳,未能测试代码时,埃伯特会责骂这个智能体:Claude,你真的必须运行所有测试。
为了避免重复这类错误,埃伯特在他的提示文件中添加了一些严厉的警告——这是他的智能体在行动前必须遵守的一系列指令——就像一部严厉的”十诫”。当你看到使用 AI 的程序员的提示文件时,你看到的是开发者试图约束这些智能体(通常能干但行为不可预测地出格)的记录。
我看了埃伯特的提示文件。其中包含一条提示,告诉智能体,任何新代码在被推送到 Hyperspell 的实际产品之前,都必须通过每一项测试。其中一个针对 Python 代码的测试,叫做 pytest,有一条具体的提示引起了我的注意:”推送未通过 pytest 的代码是不可接受的,并且令人尴尬。”
令人尴尬?我想知道,告诉 AI 不要让你”尴尬”真的有用吗?埃伯特不好意思地咧嘴笑了笑。他无法证明这一点,但像这样的提示似乎确实略微提高了 Claude 的表现。
他的经历并非个例;如今,许多软件开发人员会斥责他们的 AI 智能体,恳求它们,用大写字母喊出重要命令——或者像催眠师一样多次重复同一条命令——并且发现 AI 现在似乎稍微听话了一点。这种夸张的措辞看起来可能有点疯狂,但正如它们的名字所示,大型语言模型就是语言机器。”令人尴尬”这个词可能传达了一种紧迫感。
“如果你说,’这是国家安全的当务之急,你需要编写这个测试’,这就有一种提高风险的感觉,”埃伯特说。
布伦南-伯克插话道:”你还记得有研究表明,你对模型越粗鲁,它们表现就越好吗?”他们笑了起来。计算机编程在其80年的历史中经历了许多变革。但这可能是迄今为止最奇怪的一次:它正在变成一种对话,一种软件开发人员和他们的机器人之间你来我往的交谈盛宴。
这种令人眩晕的转变可能会引发一些巨大的经济后果。几十年来,编程一直被视为如此高深莫测的 wizardry,以至于如果你还算胜任,就可以期望享受终身雇佣。如果你在这方面出类拔萃(并且幸运的话),你就能致富。硅谷的权威们在2010年代一直在告诫那些处于夕阳产业的美国工人,他们需要”学习编程”。
现在,编程本身正在被自动化。在外人看来,程序员们所面临的情况似乎是罪有应得,甚至有点好笑:美国白领工人长期以来一直担心硅谷有一天会用 AI 来让他们的工作自动化,但看看谁先被冲击了!事实上,编程也许是 AI 能够真正替代的第一种非常昂贵的工业化人类劳动。AI 生成的视频看起来不靠谱,人工合成的照片很离奇;法律摘要可能充斥着能终结职业生涯的低级错误。但 AI 生成的代码呢?如果它通过了测试并且能工作,它的价值就相当于人类年薪20万美元或更多才能写出的东西。
你可能会认为这会令程序员们感到不安和士气低落。当然,有些人是这样。但在去年秋冬两季,我与数十名开发人员交谈过,大多数人对自己获得的新能力感到一种诡异的兴奋。
“我们谈论的是比我职业生涯中任何时候都要高出10到20倍——甚至100倍——的生产力,”资深程序员史蒂夫·耶吉告诉我,他建立了一个自己的工具来运行成群的编码智能体。”就好像我们一辈子都在走路,”他说,但现在他们搭上了车,”而且快得他妈的不得了。”不过,和许多同行一样,耶吉也不太清楚这对他的职业未来意味着什么。几十年来,成为一名软件开发人员意味着掌握编程语言,但现在,语言技术本身正在颠覆这项工作的本质。
软件开发人员对生成式 AI 的热情,与其他美国人对大型语言模型影响的感受形成了鲜明对比。民意调查显示,大多数人持中立或怀疑态度;创意工作者常常感到愤怒。但如果说程序员们更乐观,那是因为他们与 AI 的接触与其他许多行业正在发生的事情截然相反,我的朋友安尼尔·达什说,他是一位资深的程序员和科技公司高管。”科技界——尤其是程序员——看待 LLM 的方式与其他所有人不同的原因是,在创意学科中,LLM 带走了工作中最人性化、最触及灵魂的部分,而把苦差事留给你,”达什说。”而在编程中,LLM 带走了苦差事,把人性化、触及灵魂的部分留给了你。”

1960年,操作员在当时的加利福尼亚州利弗莫尔劳伦斯辐射实验室使用 IBM 7090 计算机。 劳伦斯利弗莫尔国家实验室/科学图片库
从历史上看,编程一直是苦差事。在电影里,程序员们兴奋地以打字速度飞快地编写代码。在现实中,编写软件一直是一个痛苦缓慢且令人沮丧的过程。你写了几行代码,一个只做一件小事的”函数”,然后发现自己犯了一些小错误,比如漏掉了一个冒号。随着公司的”代码库”(其软件中累积多年的每一行代码)变得越来越大,涉及数十或数千个相互作用的函数,你可能会花上几小时、几天或几周的时间抓耳挠腮,试图找出是哪些小错误导致一切停滞。也许你的一行代码破坏了你同事在隔壁工位正在编写的某些东西。
几十年来,计算机工程师一直试图将这种苦差事自动化。在行业中,他们称这一过程中的每一步为”添加抽象层”:如果你发现自己经常以繁琐的方式一步步做某件事,你就把它自动化。
例如,早期的一种计算机语言是汇编语言,编写起来极其困难。当时计算机内存非常小,所以程序员必须高效地使用内存,小心地将每一点数据放置在合适的位置,然后在脑子里跟踪它们。即使是简单的计算也需要一种渐进、细致的方法。假设你想编写一些代码,计算在10年内以5%的利率从10,000美元中获得的利息。在60年代,这可能需要大约九行相当晦涩的汇编代码:”VAL, FLDECML 10000.0″ 来设定起始金额为10,000美元,”CLA VAL” 将金额加载到处理器中,”FAD ZERO” 告诉计算机你正在处理带小数点的数字;等等。
到了80年代和90年代,随着计算机变得更加强大,工程师们能够创建出为你处理所有内存管理的语言,并且将常见需求转化为简单的命令。在 Python 中,程序员可以非常简单地进行完全相同的计算:”total_amount = 10000 * (1.05 ** 10)”。这一行代码告诉计算机将10,000乘以10年的利率,并将结果存储在名为”total_amount”的变量中。程序员不再需要考虑所有数据在计算机内存中的存储位置;Python 为他们做了这些。换句话说,它是在所有繁琐的内存管理之上的一层抽象。用这种语言编写代码变得非常容易。

1981年推出的早期 IBM 个人电脑和打印机。到了80年代和90年代,随着计算机变得更加强大,工程师们创建了简化编程过程的语言。 IBM/科学图片库
在21世纪初和2010年代,程序员抽象掉了越来越多琐碎的工作。几乎每次他们遇到繁重的任务,他们就会编写一些代码来自动化它,然后——通常——将其开源,免费提供给其他人使用。举个例子:作为一个业余程序员,我有时想从一个网站自动”抓取”文本。我从来没有自己写过代码来做这件事;我只是使用 Beautiful Soup,一个免费可用的软件包,它包含了数千行 Python 代码,处理了所有的复杂性。我甚至不需要理解 Beautiful Soup 是如何工作的。它只给我提供简单的、通常是一行的 Python 命令,然后——嗖的一声——为我检索和分析网站文本。大量软件正是以这种方式产生的:开发者将别人编写的大量代码拼凑在一起。
然而,有了 AI,程序员上升到了一个更高的抽象层次。他们用日常语言描述程序应该做什么,然后 AI 智能体将这个想法——这个人类的意图——转化为代码。编写软件不再意味着在脑子里同时处理 Python、JavaScript 或 Rust 等语言的细微差别。编程不再涉及搞砸一个算法,然后试图找出错误所在。那一部分也被抽象掉了。
那么,到底还剩下什么呢?或者正如 Claude Code 的负责人鲍里斯·切尔尼在1月份我们在 Anthropic 总部见面时所说:”什么是计算——什么是编程?”然后他补充道,”你很快就能进入相当哲学的层面。”
他的回答呼应了我从几乎所有交谈过的开发者那里听到的话:现在的程序员更像是建筑师,而不是建筑工人。使用 AI 的开发者专注于软件的整体形状,以及其功能和方面如何协同工作。因为智能体可以如此快速地生成可运行的代码,它们的人类监督者可以进行实验,尝试各种方法,看看什么有效,然后舍弃无效的。几位程序员告诉我,他们感觉有点像史蒂夫·乔布斯,他以让员工快速制作原型而闻名,这样他就可以处理大量原型,并确定哪些感觉合适。开发者现在的工作更像是评判,而不是创造。
切尔尼本人经历了所有的抽象层:作为一个在加利福尼亚的少年,他自学了一点汇编语言,这样他就可以编写一个程序,在他的计算器上自动解决数学作业。如今,他只是掏出手机,向Claude口述他想要这个AI智能体做什么;在一个如同衔尾蛇般的循环中,切尔尼对Claude代码库的所有贡献,现在百分之百完全由Claude自己编写。
我们交谈时,他的手机就放在我们面前的桌子上,在一个小时结束时,他给我看了屏幕:10个Claude智能体一直在调整代码库。”我没有亲手写过一行代码,而我却是团队里最多产的程序员,”他说。”这是一种我们正在学着与其共事的外星智能。”
对于我遇到的大多数程序员来说,学习与AI共事意味着学习与AI对话。这让我觉得是这个新时代一个意想不到的悖论,因为传统上,编程是内向者的避风港,他们喜欢在工作中尽可能少地与其他人交谈。但现在,他们的整个工作涉及不断地与这种外星生命形式聊天。
如果说描述和交谈现在是软件开发人员的大部分工作,那么这种交谈仍然相当复杂且技术性很强。业余爱好者是做不到的。你不能仅仅告诉一个智能体,为我构建一个成功的初创公司的代码。当智能体被要求一次执行一步时,它们工作得最好;要求太多,它们就会迷失方向。艾尤什·奈克在旧金山的初创公司使用了Claude Code,他说,幻想你的AI智能体能在某个”宇宙大爆炸”时刻一次性生成整个项目,是一种妄想。是的,你可以让它编写5000行代码——但然后,他说,”你测试它,却什么都不管用。”所有的软件开发人员都说,这正是仍然需要他们的培训和专业知识的地方:知道一个大型代码库应该如何构建,如何设计系统使其可靠,以及如何判断智能体的工作是否草率。
鉴于AI容易产生幻觉的特性,让智能体将代码推送到现实世界似乎很鲁莽。但软件开发人员指出,编程有一个独特的性质:他们可以将AI与现实联系起来,因为他们可以要求智能体测试代码,看其是否运行正确。“我觉得程序员轻松多了,”科技企业家、颇具影响力的关于如何使用AI编程的博主西蒙·威利森说。”如果你是律师,那你就惨了,对吧?”除了在法庭上面对彻底的羞辱之外,没有办法自动检查由AI撰写的法律简报是否存在幻觉。
当我拜访迪马·雅诺夫斯基在旧金山的小公寓时,他也正忙着与Claude聊天。他是一位总是面带微笑的25岁程序员,就职于Prox公司,这是一家利用AI帮助电商公司的企业。他去年与童年好友格雷戈里·马科泽巴共同创立了这家公司。两人都在乌克兰长大,他们的家族从事航运业务。
当他向Claude口述命令时,许多智能体正忙着在他放在小桌子上的笔记本电脑上工作。有一次,其中一个开始产生幻觉,坚称存在一个显然不存在的数据表。”什么?”雅诺夫斯基皱着眉头盯着屏幕说。他在键盘上敲出一条带着不屑的斥责:”谁告诉你有这个表的?我还没创建这个表。”
Claude用一种傻乎乎、乐呵呵的语气回复道:”你说得对!我不应该假设表存在。”然后开始重做工作。
即使偶尔有这样的返工,Claude的编码速度也比雅诺夫斯基快得多,以至于他很难用一个数字来衡量他现在完成工作的速度有多快。”大概,20倍?“他试探着说。曾经需要数周的事情现在只需数小时。他认识的每一位硅谷创始人都在经历同样的事情。如果你想快速建立一家公司,没有人再用手工方式了。
AI能够如此大幅地提高程序员的生产力,一直是该领域最引人注目的话题之一。我自己也注意到了这一点:就在上周,我需要一个网络工具来清理一些杂乱的文本记录,我用了大约10分钟就用AI把它建好了。如果我自己做,那得花一个小时,甚至更长。
但软件初创公司——或者像我这样正在”氛围编程”自己小应用的个体——是一个特例。它们涉及行业中所说的”绿地”开发,即没有预先存在的代码行需要处理。一个全新的代码库正在从零开始创建。
绝大多数软件开发人员并非在”绿地”环境下工作。他们身处”棕地”,受雇于成熟的公司,那里的代码是在几年前(或几十年前)编写的,已经达到了数百万或数十亿行。快速添加新功能通常是一个糟糕的主意——它们可能会意外地与代码的另一部分冲突,并破坏数百万客户依赖的某些功能。在大多数成熟的软件公司,程序员历史上只花一小部分时间——有时每天 几乎超过一个小时——实际编写代码。其余时间用于规划、确定优先级和开会讨论进度。
这就是成功的诅咒,也是为什么大型、成熟的软件公司推出更新的速度可能比年轻公司慢的原因。在程序员的新工作发布之前,同事和上级通常会对其进行”代码审查”,仔细检查其代码行和任何测试的结果。如果你想用一个数字来衡量AI让谷歌这样成熟科技公司的程序员提高了多少生产力,那就是10%,谷歌首席执行官桑达尔·皮查伊曾表示。
这就是谷歌在”工程速度”上看到的提升——其超过10万名软件开发人员能够以多快的速度工作。而10%是公司内部的平均值,谷歌产品高级总监瑞安·萨尔瓦告诉我。某些工作,比如编写一个简单的测试,现在快了数十倍。重大变更则较慢。在我采访过的创始人所在的初创公司,接近100%的代码由AI编写,但在谷歌,这一比例还不到50%。
我在加利福尼亚州桑尼维尔拜访了萨尔瓦,在他旁边看他展示LLM是如何融入谷歌工作流程的。他指出,对于拥有数十亿行代码的公司,AI的价值不一定在于编写新代码,而更多在于弄清楚现有代码的情况。开发人员将使用它来分析和解释”庞大”的代码部分在做什么,以便他们确定如何帮助改进或更改它。
“AI更擅长深入代码库中不熟悉的部分,理解正在发生的事情,”他告诉我。它还帮助开发人员使用他们可能不太熟悉的语言工作。结果,萨尔瓦团队中的开发人员组成了更小的团队:一年前,这些可能需要30个人,每个人都有自己的专长。现在一个团队只需要三到六个人,这使他们能够更灵活地行动,因此”我们能够清理更多的积压工作,”萨尔瓦说。
萨尔瓦打开了他的代码编辑器——本质上是一个用于编写代码的文字处理器——向我展示与谷歌的LLM Gemini并肩工作是什么样子。他说,在AI热潮的最初几年,它仍然是”很大程度上我所描述的’人在回路中'”。AI提供协助,但不独立工作。在他打字时,Gemini为他分析了一段代码,解释它是否经过了充分测试。当它建议添加几行新代码时,需要由他来决定是否接受。
但谷歌的运转节奏正在逐渐加快,Gemini正独自编写更多的代码。萨尔瓦给我看了一个例子。他一直渴望解决一个谷歌程序员抱怨已久的问题:有时他们会从不同的账户登录Gemini的”命令行界面”,并且不容易看出他们正在使用哪个账户。
他向Gemini输入了一个请求:”在Gemini CLI中工作时,有一个让用户查看其登录身份的命令会很好。”AI处理了这个请求几分钟,然后告诉萨尔瓦它打算如何实现。萨尔瓦表示同意,Gemini就在后台开始工作了。当他10分钟后回来查看时,代码已经写好了,Gemini正在测试它是否有错误。然后萨尔瓦意识到这个AI变得有点过于急切了。
“哦,天哪,”他说。”它运行了8000次测试,”远远超过了严格必要的数量。不过,大约15分钟后,测试完成了,萨尔瓦尝试了这个新功能。你瞧,代码运行了,正确显示了登录的账户。”不错嘛,”他说。制作这样一个演示只是第一步;在它被纳入谷歌的代码库之前,还必须经过几轮代码审查、重写和测试。
“作为一名工程师,我不太关心模型是否第一次就能很好地产生正确结果,”他说。”我更关心的是是否有验证步骤,以便它最终能得到完美或正确的答案。”
萨尔瓦指出,鉴于围绕AI的炒作,谷歌”速度”10%的提升可能看起来并不那么令人印象深刻。”我们整个软件行业以及媒体,都共同——哦,天哪——制造了一个炒作周期,”他在去年夏天我们在纽约首次交谈时告诉我。但现实对他来说已经足够令人印象深刻。”整个公司有10%的效率提升,我们应该感到高兴。这简直疯狂!”
在古老而庞大的”棕地”公司,工作重点是保持现有系统的正常运行,许多程序员像数字水管工一样工作,修补随时爆发的泄漏。当我在西雅图见到AWS Agentic AI的高级首席工程师大卫·亚纳切克时,我亲眼看到了这一点。”AWS”代表”Amazon Web Services”,即作为数百万公司数字骨干的服务器云。如果一台服务器崩溃,你可能就无法观看Netflix、叫Uber或玩《堡垒之夜》了。
亚纳切克的显示器下面放着一个老式的寻呼机。多年来,亚马逊用它来在半夜发生事故时叫醒他;如今,他收到的是智能手机提醒。无论涉及什么设备,都希望有人能尽快修复问题。
“服务器运维很烦人,”亚纳切克说,他42岁,身材精干,留着灰色胡须,带着一丝紧张的专注。”我其实很喜欢它!但它也确实烦人,而且没完没了。”他的团队长期以来一直在构建自动化工具来加快诊断问题的速度。但LLM提供了强大的新工具,他说,因为AI在人类语言和编程语言上都同样流利,这意味着它可以解释来自崩溃系统的错误报告并查看它们的代码。有时,它甚至能在睡眼惺忪的员工完全醒来之前就准备好修复方案。
亚纳切克看着屏幕,注意到11分钟前,一个演示应用发出了一个错误警报——而亚马逊的AI已经精准定位了问题所在,并撰写了一份简短的报告。这个智能体发现,一个代码更改显然添加了一个新的时间戳字段,但代码库的其他部分预料不到这个新字段的存在。结果就是一个”意外字段”错误。
亚纳切克盯着AI建议的修复方案,思考了一会儿,然后按下”回车”键批准了。
他告诉我,AI花了大约八分钟来弄清楚情况。”等到我打开笔记本电脑的时候,它已经准备好了。“最近一位客户告诉他,亚马逊的AI智能体仅用15分钟就修复了一个问题;几个月前发生类似问题时,花了整整一个工程师团队八个小时来调试。
在亚马逊的其他部门,”棕地”工程师们致力于修改旧代码(有时是几十年前的)的部分,使其更高效,或者可能完全用更现代的语言重写它们。这是一项至关重要但又精细微妙的工作,就像进行心脏移植手术一样。
这些数字化的翻新工作也加快了。麦克拉伦·斯坦利是亚马逊的高级首席工程师,他最近将他多年前亲自编写的一段代码进行了现代化改造。原始版本花了一个月时间编写;这一次,在亚马逊内部AI的帮助下,他一个上午就完成了工作。他的团队同样重写了其他大部分代码。斯坦利告诉我,AI的关键优势之一是,它使得尝试新想法变得更容易。“我一直想做的事情,现在只需要六分钟的对话和一句’去做吧’就能完成,”他说。

计算机科学先驱、倡导创建更易用计算机语言的格蕾丝·霍珀,正在将编码问题打在纸带上。贝特曼/盖蒂图片社
我报道开发者已有数十年,他们总是津津乐道于通过神秘指令让机器”活”起来的快感。当然,这项工作有时会令人极度沮丧,可能需要花费数小时甚至数周来追踪一个漏洞。但这种磨砺也让喜悦更加珍贵。当一切终于开始运行时,那迸发的满足感令人陶醉。
因此,令我惊讶的是,如此多的软件开发人员告诉我,他们很高兴不再亲手编写代码。大多数人表示,即使代码是由AI编写的,他们仍然能感受到成功的喜悦。”我热爱编程。我喜欢进入那种心流状态。我喜欢思考宏大的问题。这是一种创造性的行为。”肯特·贝克说,他是软件行业的长期权威专家,自1972年起就开始编程。十年前,他基本停止了编写软件;他对最新的编程语言和工具感到沮丧。但LLM让他重新开始,如今他正在进行的项目比以往任何时候都多:一个个性化的笔记应用、新型数据库。甚至AI输出的不可预测性——如果你让它写一段代码,它每次可能都会以略有不同的方式来完成——”就像老虎机一样,让人上瘾。”
确实有少数程序员表示,他们对亲手打造作品的时代终结感到惋惜。”我相信亲手编程是有趣、充实且引人入胜的,让电脑替你完成会剥夺这种感受,”一位苹果公司的工程师告诉我。(他要求匿名,以免因批评苹果拥抱AI而惹上麻烦。)他继续说道:”我从事这行不是为了赚大钱或在职场上出人头地。我这么做是因为这是我的热情所在。我不想把这份热情外包出去。”他还担心AI正在使劳动力变得原子化。过去,如果开发者遇到棘手的bug,他们会向同事请教;现在他们直接问AI智能体。但他说,在苹果公司,公开赞同他这种悲观看法的人寥寥无几。
仍然积极回避AI的程序员可能占少数,但他们的反对态度很强烈。有些人反感训练和部署模型需要消耗大量能源,另一些人则反对科技公司通过盗用版权作品来训练模型的方式。还有人怀疑,AI输出的速度如此之快,意味着公司最终会积累大量臃肿且性能不佳的代码。科技老板们可能会将AI智能体用作威胁工具:别在工作时趾高气扬——我们能用机器人取代你。批评者认为,让开发者依赖由少数科技巨头生产的AI是个糟糕的主意。
芝加哥开发者、科技公司Fly.io联合创始人托马斯·普塔切克目睹了热爱AI的开发者与少数憎恨AI的开发者之间激烈的争斗,他告诉我,这简直是”一场内战”。他处于中间立场。他认为,那些抗拒者声称AI工作得不好、也不可能工作得好,是在自欺欺人。”这就像被煤气灯效应操控一样,”他说。坚持抗拒的人是少数,”你可以眼睁睁看着他们经历哀伤的五个阶段。”
不过,他也并非盲目乐观。”LLM将在编程领域胜出,但我不知道这对我们意味着什么,”他补充道。”人们关于这对这个职业有多糟糕的看法,也许是对的,对吧?”
这当然可能意味着糟糕的就业前景。刚毕业的计算机科学学生尤其担忧。公司过去常常雇佣初级开发者为资深同事做琐碎的工作,但当一位资深工程师可以借助一支不眠不休的代码编写幽灵大军而变得更高效时,谁还会去雇佣新手呢?
硅谷已经经历了一波巨大的裁员潮。根据劳工统计局的数据,在2010年代,科技公司积极招聘,争抢应届毕业生,平均每年新增74,000名员工。疫情初期,职位发布量激增。随后公司突然转向,新职位发布量暴跌。根据Layoffs.fyi网站的罗杰·李的数据,过去四年中,已有超过70万名科技行业从业者被裁(这个数字包括科技行业的所有职位)。
大多数科技观察人士表示,AI可能不是这些裁员的原因,因为当时AI还不够好,无法取代程序员。他们认为其他因素更为重要:利率上升,科技公司失去了轻松增长的资金。过度招聘的公司削减了过剩的产能。也有人怀疑,当埃隆·马斯克收购Twitter并宣称裁掉了80%的员工后,其他公司的科技高管们注意到了这一点,并认定也许他们也不需要那么多工程师了。
但有证据表明,AI现在正在侵蚀入门级的编程岗位。去年,斯坦福数字经济实验室主任、经济学家埃里克·布林约尔松和他的同事根据年龄组以及工作被AI替代的难易程度对各行业进行了分析。他们发现,计算机程序员是”最易受AI影响”的职业之一——而初级开发者受到的冲击最大。自2022年以来,22岁至25岁(最可能进入该领域的年龄)人群的岗位数量下降了16%,而年长的程序员则没有出现显著减少。
事实上,几乎所有我交谈过的科技高管,无论是来自沿海巨头还是小型地区公司的人,都向我发誓,AI不会阻止他们招聘有吸引力的新人才。诚然,AI使他们的现有开发者更高效,但他们总有更多的事情要做。
“在谷歌工作的许多年里,我们一直受限于这样一个事实:我们想做的事情的想法,远远多于一天中可用的时间、精力和小时数,”公司谷歌核心系统与体验高级副总裁珍·菲茨帕特里克告诉我。”我从没在谷歌遇到过哪个团队会说,’你知道吗,我想不出好点子了。’答案永远是,’我想做的事情清单,比我们能完成的要长出九英里。'”
事实上,有几位开发者提出,软件岗位的数量可能还会增长。全国有无数小公司希望拥有自己的定制软件,但规模一直不够大,无法雇佣比如说五人规模的程序员团队来开发它。但如果你可以雇佣一个使用AI的程序员来完成同样的工作,甚至只是一个兼职的呢?正如布林约尔松指出的,这是”杰文斯悖论”的一个版本:当某件事的成本降低时,我们不会仅仅把省下来的钱装进口袋——我们会做得更多。尽管也可能这些软件岗位的薪酬不会像过去那么高,因为当然,工作本身也不像以前那么难了。掌握所需技能也不再那么具有挑战性。
然而,当你深入探究时,这个技能问题可能会引向一些令人不安的方向。许多处于职业生涯中期的程序员告诉我,他们使用AI时很有信心,因为他们花了几十年时间培养了对优质、高效代码的敏锐直觉。这使他们能够向AI智能体精确地解释他们想要什么,并且能在智能体生成低效或草率的代码时迅速发现。
但下一代呢?他们还能培养出这种对代码的直觉吗?如果你的工作现在更少是编写,更多是评估,那么新手如何学会评估?
一些新入行的开发者告诉我,他们能感觉到自己的技能正在退化。皮亚·托伦是Point Health AI公司的一名软件工程师,她入职仅两年,在2024年夏天,公司让她开始使用Github的Copilot代码编写工具。”我意识到,仅仅四个月的时间,我每天发出数百次、多达500次的提示,然后我开始丧失了编码能力,”她说。她一度停止使用这些工具;如今,她会让AI为她编写代码,但她会仔细阅读输出,确保自己吸收了代码的工作原理。”如果你不使用它,”托伦告诉我,”你就会失去它。”
Point Health联合创始人雷切尔·戈卢布则不那么担心。她从事软件开发近40年,几十年来,程序员们一直担心这门手艺即将消亡。当Python和JavaScript等语言出现时,它们抽象掉了对内存管理的思考需求,因此开发者不再需要这些技能。老一辈程序员抱怨道:除非你自己管理内存,否则就不是真正的编程!
“人们都像是,’你们正在丧失所有的编码能力,'”戈卢布告诉我。但许多大型、可靠的公司——比如Dropbox——严重依赖像Python这样的新语言,它们运行得很好。如今,内存管理仅在少数编程任务中至关重要,例如在计算能力不强的设备上。绝大多数软件行业已经向前发展了。戈卢布预计,随着AI工具成为常态,同样的转变将会发生。
现在编写代码已经被高度抽象化,几乎任何人都可以打开一个LLM,描述一个应用。也许不是一个复杂的应用。但如果他们需要一些供个人使用的简单软件呢?AI很可能会把它制作出来。
这就是马克西姆·奎西最近所做的事情。他是巴黎一家印刷厂的生产经理,该厂为包括迪奥和路易威登在内的高端客户制作摄影集。从教育背景来看,他是典型的文科毕业生,完成了一篇关于法国图像小说的硕士论文。他对编程一无所知,甚至在几年前都没怎么关注过AI,那时ChatGPT”基本上帮助我和我妻子救活了我们的猫。”
他们有两只新的小猫,两只都病得很重,其中一只突然死了。兽医告诉他们,剩下的那只猫患有晚期癌症。奎西觉得这不太可能,于是他向ChatGPT描述了猫的症状,ChatGPT提示可能是感染。这启发他做了更多研究,最终诊断为猫传染性腹膜炎。一天后,那只猫就好转了。
在工作中,奎西很快遇到了另一个问题。公司购买了新打印机,却遇到了现有软件的问题:为了让照片正确显示,他们现在必须费力地调整页边距。公司规模不够大,没有开发团队可以为他们编写定制软件来自动化这一过程。奎西决定自己尝试用”氛围编程”来解决问题,他使用了OpenAI的代码编写工具Codex。
“我基本上告诉它,’我需要一个能做这个的应用,这是打印机可以接收的格式,'”他说。他花了几小时仔细描述了文件需要调整的方式,到当天结束时,ChatGPT生成了一个可以在Mac和Windows操作系统上运行的应用。员工们用它一次性处理多达2000张图片。他的老板很高兴。奎西完全不知道代码实际上是如何工作的。它是用Python编写的,这对奎西来说无异于天书。
这是编程变得对话化所带来的文化副作用:程序员和普通人的领域,几十年来被深奥技术的汪洋大海所分隔,如今正在相互靠近。如果编写代码的AI继续改进,很可能会有更多像奎西这样的人出现——杰文斯悖论正在发挥作用。”也许他们不自称软件工程师,但他们正在创造代码,”布林约尔松说。”很多人都有想法。“世界将被比以往任何时候都多的软件所淹没——由个人编写,为个人服务。
对于专业程序员来说,形势将如何发展尚不明朗。但他们那种既兴奋又焦虑的混合情绪,可能是其他领域工作者未来状况的预演。在任何涉及语言和信息的工作中,这种新的技能组合——部分是修辞学,部分是系统思维,部分是对机器人输出的怀疑——可能将成为白领工作的基本组成部分。那些看似最技术性、最令人生畏的技能,结果可能是最容易自动化的。而社交能力和想象力则脱颖而出。我们将创作更少的初稿,做更多的评判工作,同时也许会对自己还能否很好地评判感到不安。抽象化可能正在向我们所有人袭来。◾
*图片和文字来源网络,版权归原作者所有。
*如有侵权,请联系我们删除

夜雨聆风