惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
腾讯CDC
G
Google Developers Blog
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
美团技术团队
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志

XINDOO

当创作被 Skill 化:我用 AI 写了一部 320 章的长篇网文 AI第一剑,先斩程序员 AI 也会偷懒?这个 PUA 工具专治“摸鱼式编程” Gstack 深度解析:YC CEO 开源的 AI 工程团队 GitHub Trending霸榜!深度解析AI Coding辅助神器 Superpowers 深度探讨:从 OpenClaw 爆火,看 AI Agent 的真相与程序员的未来 我复刻了NotebookLM的信息图功能 我用AI写了部小说,这里是整个过程 [翻译]我在谷歌14年学到的21堂课 2万字吊打40万字:为什么我的“牛马Agent”比“数字分身”更聪明? 最近AI领域爆火的 Agent Skills 是什么? 从计算机科学的视角来看拖延症 一周改6个库后我悟了:AI时代,程序员正在退化成“甲方” 使用n8n做一个自动同步更新的Github项目问答机器人 Agent设计模式——第 20 章:优先级排序 Agent设计模式——第 1 章:提示词链 Agent设计模式——附录 D - 使用 AgentSpace 构建 Agent Agent设计模式——第 19 章:评估和监控 Agent设计模式——第 10 章:模型上下文协议 (MCP) Agent设计模式——第 21 章:探索和发现 Agent设计模式——智能体设计模式 Agent设计模式——第 11 章:目标设定和监控 Agent设计模式——第 9 章:学习和适应 Agent设计模式——第 16 章:资源感知优化 Agent设计模式——附录 G - 编码 Agent Agent设计模式——第 13 章:人机协同 Agent设计模式——第 17 章:推理技术 Agent设计模式——附录 F - 深入剖析:Agent 推理引擎的内部运作机制 Agent设计模式——章节目录 Agent设计模式——
为什么程序员反而是受 AI 冲击最大的岗位
xindoo · 2026-06-03 · via XINDOO

一句话结论:AI 不是优先冲击“人类觉得最简单”的工作,而是优先冲击那些输入输出结构化、验证闭环自动化、训练数据丰富且开放的工作。程序员正好处在这三个条件的交汇点上。

很多人第一次看到“AI 最先冲击程序员”这个判断时,第一反应往往是疑惑:

程序员不是高门槛职业吗?计算机科学不是很难吗?为什么不先替代那些重复性更强、门槛更低的工作?

这个疑惑很自然。因为我们过去判断一个职业是否“难”,通常站在人类视角:学习周期长不长,专业门槛高不高,薪资是不是高,是不是需要聪明人才能做好。

但 AI 切入一个职业的顺序,并不主要取决于人类学习这门技能有多难。对 AI 来说,更关键的问题是:输入能不能被机器读取,输出能不能被机器生成,结果能不能被快速验证,过去有没有足够多的样本可供学习。

如果从这个角度看,程序员行业反而是最适合 AI 率先突破的领域之一。

实际上从 Anthropic 公布的一份报告数据中我们也确实能看出来,软件工程相关 Token 消耗占所有 Token 消耗的 49%。

先拆清楚:AI 覆盖度不是替代率

讨论这个问题前,必须先区分两个概念:AI 覆盖度岗位替代率

很多关于 AI 影响职业的图表,衡量的并不是“某个行业已经有多少人被 AI 取代”,而是:一个行业里的任务,有多大比例在理论上可以被 AI 辅助、自动化,或者部分完成。

这叫任务层面的覆盖度。它和岗位层面的失业率不是一回事。

一个岗位通常不是单一任务,而是很多任务的组合。比如程序员的日常工作里,有些任务非常适合 AI:生成样板代码、解释报错、补全函数、总结文档、生成单测;但也有些任务仍然依赖经验、上下文判断和组织协作,比如复杂架构取舍、线上风险判断、跨团队沟通、长期技术债治理。

所以,当我们说“程序员是 AI 冲击最大的行业”时,更准确的意思不是“程序员这个岗位马上消失”,而是:

核心判断:程序员工作中有相当多任务,正在最早、最快、最深地被 AI 介入。

这也是为什么标题应该说“冲击最大”,而不是简单说“大规模替代”。前者描述的是任务结构被重构,后者容易被误解成岗位已经整体消失。

Anthropic 图表真正说明了什么?

Anthropic 关于 AI 对劳动力市场影响的研究里,一个很重要的观察是: Computer and Mathematical Occupations(计算机与数学类职业)在理论覆盖度和实际使用占比上都排在前面。

这张图最值得注意的地方是:计算机与数学类职业不只是“理论上容易被 AI 影响”,而是在真实使用数据里,已经是 AI 渗透最深的职业类别之一。

但这里要小心一个概念跳跃:这不能直接推出“计算机与数学类职业失业率最高”。它只能说明这些职业里的大量任务已经能被 AI 介入,而且真实用户也确实在大量使用 AI 做这些事。

这已经足够重要了。因为职业变化通常不是从“岗位突然消失”开始,而是从“岗位里的核心任务被重新分配”开始。

计算机科学很难,但编程任务对机器很友好


先说常识:计算机科学绝不是低门槛学科。哪怕只是一名基础程序员,也需要理解数据结构、算法、操作系统、网络、数据库、编程语言和工程协作。再往上走,还要面对复杂系统设计、性能瓶颈、稳定性治理、业务抽象、技术债管理,以及长期维护中的各种取舍。各种理论浩如烟海,足以让人感到这套知识体系的压迫感。

所以,程序员被 AI 冲击,并不是因为这个职业简单。

反直觉的关键:编程对人类很难,但对机器来说,它恰好具有很多友好的结构。

更具体地说,程序员行业之所以受到 AI 冲击最大,主要来自三个机制。

机制一:输入输出高度结构化

编程语言本质上是一种高度结构化的语言,而且它不能有歧义。

自然语言最大的问题是模糊。比如老板说“这个方案再优化一下”,到底是改排版、改逻辑、改成本,还是其实对整体策略不满意?这些都需要结合语境、关系、情绪和潜台词才能理解。

但编程语言不一样。变量、函数、条件、循环、类型、接口、模块,每一个东西都有明确的语法规则和执行语义。代码不是写给人“感觉差不多”的,而是写给机器严格执行的。

这对大语言模型非常友好。代码是一种模式密度极高、结构极清晰的文本:函数有输入和输出,类型有约束,接口有定义,模块有依赖,测试有预期结果,报错有明确位置,文档和代码之间存在稳定映射。

这和“设计一套品牌调性”“判断一个用户真实意图”“协调几个部门的利益冲突”很不一样。后者当然也可以被记录成文字,但它们的输入往往不完整,输出标准也不唯一。

更关键的是:当输入不完整、输出标准不唯一时,AI 不只是更难生成答案,也更难判断自己生成得对不对。 它既难给出高置信度输出,也难通过自动化手段完成验证。于是,机制一会直接影响机制二:越结构化的任务,越容易进入“生成—验证—修正”的闭环。

第一个关键区别是:程序员的工作对象不只是“在电脑上”,而是本身就具有严格结构。

设计师、剪辑师、数据分析师也在电脑上工作,但“在电脑上操作”只是工作介质的数字化,不等于工作知识、工作过程、工作结果都同样可结构化。

机制二:验证闭环高度自动化

第二个机制,是编程任务的验证闭环非常短。

一段代码写错了,反馈通常不是“感觉不太对”,而是会出现相对明确的信号:编译报错、类型检查不通过、单元测试失败、CI 流水线失败、运行时异常、日志报错、输出结果不符合预期。

这意味着 AI 生成代码之后,可以很快进入一个闭环:

  1. 提出方案
  2. 生成代码
  3. 执行或测试
  4. 观察报错
  5. 修改方案
  6. 再次验证

这个闭环对 AI 极其重要。AI 并不总是一次生成正确答案。它真正变得有用,往往依赖“生成—验证—修正”的循环。而软件工程恰好有大量现成工具可以帮助它完成这个循环:编译器、解释器、测试框架、CI、lint、类型系统、监控日志。

相比之下,很多现实世界任务的反馈周期很长,甚至无法自动验证。一个销售话术有没有效果,可能要几周后才知道;一个组织制度是否合理,可能要几个月才显现;一个产品方向是否正确,可能要等市场验证;一次管理动作是否有效,可能要在复杂人际关系里慢慢观察。

这些任务也可以借助 AI,但 AI 很难像写代码那样快速获得确定反馈。

第二个关键区别不是“数字化程度高”,而是:结果可以被机器快速验证。

这也是为什么 AI 编程工具迭代得特别快。它们不只是会生成代码,还能接入终端、测试、编辑器和版本控制,在真实工程环境里反复试错。

机制三:训练数据丰富,而且足够开放

第三个机制,是计算机行业沉淀了大量高质量、可学习的数据。

过去几十年,程序员群体不仅写代码,也在持续公开自己的知识和经验:GitHub 上有海量开源项目,Stack Overflow 上有问答和错误排查,技术博客里有原理解释和踩坑记录,官方文档里有 API 和最佳实践,issue 和 PR 里有问题、讨论、修复过程。

AI 学到的不是孤立的代码片段,而是“代码 + 解释 + 错误 + 讨论 + 修复 + 最佳实践”的组合。

很多行业也有知识沉淀,但未必具备同样的开放性。比如企业内部的财务处理、法律意见、客户沟通、销售策略、医疗诊断,往往受隐私、合规、商业机密和责任边界限制,不会像开源代码那样大规模公开。

程序员行业则非常特殊:越是优秀的工程师,越倾向于把经验写成文档、抽象成工具、贡献到开源社区。

这让 AI 获得了一个近乎理想的学习环境。

第三个关键区别不是简单的“数据多”,而是:高质量数据既多,又有解释,又足够开放。

那会计、法律、客服不也很结构化吗?

这里必须回应一个强反对意见:会计、法律文书、客服这些工作同样高度结构化,也高度数字化,为什么不是它们排第一?

这个反问是合理的。事实上,这些职业也正在被 AI 大量冲击。财务报表分析、合同初稿、法律检索、客服问答、工单归类、话术生成,都是 AI 很容易介入的任务。

但它们和编程相比,至少有几个差异。

第一,验证机制不同。 代码能不能跑,测试能不能过,通常可以快速验证。会计、法律、客服的输出即使形式正确,也不代表业务结果、法律责任、客户体验一定正确。

第二,错误成本不同。 这里不能把“样板代码写错”拿来对比“法律意见出错”,那是不公平的。更准确的说法是:编程任务中存在大量可以在测试环境里低成本试错的子任务,而会计、法律、医疗中即使是常规任务,也往往需要承担合规或责任风险。

第三,数据开放度不同。 软件开发有大量公开代码和公开讨论,而许多行业的高质量案例都沉淀在企业内部或专业机构内部。AI 可以学习通用知识,但不一定能接触到足够多真实、完整、带结果反馈的业务样本。

第四,责任主体不同。 程序员当然也要对系统负责,尤其在安全、数据、线上稳定性等场景里,错误成本可能非常高。但代码任务里有相当一部分可以先通过工具链验证。法律、财务、医疗等领域,即使 AI 给出建议,最终也需要具备资质和责任的人来背书。

所以,不是说这些行业不会被 AI 冲击,而是它们的渗透路径和速度不同。

编程之所以特别靠前,是因为它同时满足了三个条件:结构化表达、自动化验证、开放数据供给。 很多行业可能满足其中一两个,但不一定三个都这么强。

现在还不是“完整替代程序员”

另一个需要澄清的问题是:程序员目前真的被“大规模替代”了吗?

更准确的说法是:程序员工作正在被大规模重构,但还没有被完整替代。

当前 AI 最擅长的是重复样板代码、简单 CRUD、常见 Bug 排查、代码解释、文档总结、单测生成、简单脚本、小范围代码迁移,以及已有模式下的功能补全。

这些任务过去可能占据程序员相当多时间。AI 介入后,很多人会明显感觉“写代码变快了”。GitHub Copilot 的官方研究也显示,在受控实验中,使用 Copilot 的开发者完成任务速度显著提升。

但从“辅助写代码”到“替代程序员”,中间还有很大距离。

一个完整的软件功能,不只是把代码写出来,还包括判断需求是否真实、拆解系统边界、选择技术方案、评估兼容性和可维护性、处理历史包袱、控制上线风险、对线上结果负责、在组织协作中推进落地。

SWE-bench 这类基准之所以重要,也正在于它把评估对象从“写一道算法题”推进到“解决真实 GitHub issue”。这说明 AI 编程能力确实在逼近真实工程任务,但也反过来提醒我们:真实软件工程远比局部代码生成复杂。

更可能发生的是分阶段变化:

  • 当前阶段:AI 先接管低复杂度、局部、可验证的编码任务;
  • 中期阶段:AI 开始承担模块级开发、常规需求实现、代码迁移和工程维护;
  • 长期阶段:团队分工和岗位数量可能被重构,但人类仍需要负责目标定义、系统判断、风险控制和最终责任。

所以,讨论 AI 对程序员的影响,不能只问“会不会替代”,而要问:

哪些任务先被替代?哪些能力会变得更重要?岗位结构会如何变化?

真正的变量不是职业名称,而是任务形态

总结下来,我们可以得到一个更通用的判断框架。

AI 冲击一个职业的速度,不主要取决于这个职业在人类社会里看起来有多难,而取决于这个职业里的任务是否满足几个条件:

  • 输入是否已经在线化;
  • 输出是否能被结构化生成;
  • 任务边界是否清晰;
  • 结果是否能快速验证;
  • 过去是否有足够多高质量样本;
  • 错误成本是否允许试错;
  • 责任边界是否可以被工具链或组织流程承接。

如果答案越接近“是”,这个任务就越容易被 AI 覆盖。

如果答案越接近“否”,说明其中仍然存在大量依赖现场、关系、经验、非结构化判断和现实世界反馈的部分。

所以真正值得每个人思考的问题,不是:

我的工作难不难?

而是:

我的工作里,有多少任务已经结构化、可验证、可复制?

程序员受到 AI 冲击最大,并不是因为程序员不值钱。恰恰相反,正因为软件开发高度专业化,才沉淀出了足够成熟的语言、工具链、协作方式和知识库,反过来让 AI 更容易进入。

用产品经理验证这个框架

我最近刚从程序员转到产品经理,所以这个对照并不是站在旁边看热闹,而是一个很现实的自我追问:换了岗位之后,AI 的冲击是不是就变小了?

答案并没有那么简单。产品经理不是安全区,只是冲击路径不同。

如果把产品经理的工作拆开看,整理访谈纪要、归纳用户反馈、生成 PRD 初稿、梳理竞品信息、解释数据看板、输出流程图草案、总结需求评审结论,这些任务同样具有结构化、文本化、可模板化的特点,所以也会被 AI 吃掉一部分。

但产品经理工作里仍有很多部分依赖现实世界的模糊信息:用户没有说出口的真实动机,多个利益相关方之间的冲突,组织内部真实约束,需求背后的业务优先级,伪需求和真问题之间的判断。

这些信息不一定完整存在于文档、系统或数据库里。它们可能藏在会议气氛、用户情绪、组织关系、历史包袱和现实约束中。AI 可以辅助整理和生成,但更难独立完成高置信判断,也更难自动验证自己判断得对不对。

这正好反过来验证了前面的框架:AI 不先替代岗位名称,而是先替代岗位中的可结构化任务。

对个人的启发:从证明自己很难,转向创造不可替代价值

面对 AI,我们不应该只问:

我的岗位会不会被替代?

这个问题太粗了。更好的问法是:

我的工作里,哪些任务会先被 AI 接管?哪些能力会因为 AI 变得更重要?

对程序员来说,未来真正重要的能力,可能不再是“亲手写每一行代码”,而是定义问题、拆解复杂系统、判断方案优劣、理解业务上下文、设计可靠架构、管理风险和取舍、把 AI 产出纳入工程流程,并对最终结果负责。

AI 会吃掉一部分执行层工作,但也会放大真正能定义问题、组织系统、验证结果的人。

未来程序员画像:未来的程序员,更像是能把问题讲清楚、把系统拆清楚、把 AI 用好、把结果负责到底的人。


AI 最先大规模冲击程序员,并不说明程序员这个职业简单,也不说明计算机科学门槛低。它真正说明的是:程序员工作的很多部分,恰好处在 AI 最容易发挥作用的位置——输入输出结构化、验证闭环自动化、训练数据丰富且开放。

这件事提醒我们,不要再只用传统的人类学习难度去判断职业安全性。未来真正值得关注的,不是谁的工作更难,而是谁的工作更容易被结构化、标准化、验证闭环化。

对于每个人来说,最重要的不是证明自己的岗位很难,而是持续追问:

当那些可标准化、可重复、可验证的任务都被 AI 接管之后,我还能创造什么不可替代的价值?

这可能才是 AI 时代最重要的职业问题。