当AI写了八成代码,程序员真正该练的判断力与工作流

最近那篇流传很广、署名某位图灵奖得主的论文,在程序员圈子里算是彻底刷了屏。刷屏的核心是一个数字:AI生成的代码占比已经超过八成。我刷完评论区,感觉大家自动分成两派:一派像看到了预言,说这是给程序员发的预警;另一派像拿到了手册,说这就是AI时代的说明书。更有意思的是,两派人里真正把论文读懂的可能都不多。这篇博文不打算站队,只想把三件事讲清楚:“超八成”到底按什么口径统计出来的;论文真正想提醒的痛点是什么;以及如果它真是一份说明书,我们的工作方式该做哪些调整。

为什么想写这篇?因为我发现很多人对这个数字的情绪反应太快,理性反应太慢。程序员看到“AI写了80%代码”会本能地焦虑,管理者看到“AI已经这么强”会本能地兴奋,但数字背后的定义、逻辑、可执行路径,讨论得很少。这篇文章我尽量用干活的语气讲,不贩卖焦虑,也不灌鸡汤,只聊聊实操层面该怎么理解和应对。

1. 先搞清楚“八成”是怎么算出来的:不同口径下的AI代码占比

所有关于“超八成”的争论,都得先回答一个问题:什么才算AI生成的代码?为什么同一个行业里,有的报告说AI参与占比三成不到,有的却说已经超过八成?答案不在技术本身,而在统计口径。

1.1 给“AI生成”下定义,是这场争论的起点

先说结论:不同统计口径下,“AI生成代码占比”可以是完全不同的数字。常见的口径大致有三种,我把它整理成了一张表。

统计口径什么算“AI生成”典型结果
宽松口径编辑过程中出现过AI补全、建议的部分,无论最终是否修改很容易超过80%
中等口径最终提交代码里由AI生成且未经实质修改的部分常见讨论区间在40%到70%
严格口径完全由AI自主规划并完成,人类只做结果验收很多时候连30%都到不了

把这张表列出来,是想说明一个容易被忽略的事实:论文里的“超八成”大概率属于第一类或第二类口径,也就是“AI深度参与了代码生产”,而不是“代码完全没有人管地自动生成”。可大多数人读到这个数字时,会不自觉地把它理解成最严格的口径,“AI已经能自己写八成代码”这个结论就在脑子里站稳了。这个理解上的偏差,正是两派争论如此激烈的原因。

这里可以打一个生活化的比方。如果按“输入法有没有提供联想”来统计AI写文章的占比,那我这篇文章的一大半内容都算AI“参与生成”了,因为我们打每一个字都用到输入法。但你会说这篇博文是AI写的吗?不会,因为最终每一个判断、每一段思路都是人做的。代码也同理:AI补全了一行说明、生成了一段样板代码,和AI独立设计并完成一个功能模块,对人的要求完全不同。所以讨论“超八成”的时候,第一步不是急着恐慌或者庆祝,而是先问一句:它用的是哪一把尺子。

1.2 从“辅助生成”到“自主生成”,占比数字背后的机制跃迁

数字本身可以争论,但趋势很难反驳:AI在软件工程里的参与程度,确实在快速上升。要理解论文为什么给出“超八成”这样的判断,关键要看工具形态这几年的变化。大致可以分成三个阶段。

第一阶段可以叫补全时代。AI的作用像一个智能输入法,它预测你接下来要敲什么,帮你减少打字量,但它不理解整个项目,也不对结果负责,人类从头到尾主导一切。这个阶段,AI真正“生成”的代码占比通常不高,能到百分之二三十已经不错了。

第二阶段是函数级生成。AI开始理解当前文件甚至整个代码库的上下文,能根据需求生成一个完整的函数、一个完整的组件,人类把它复制进项目,再修补细节。很多团队现在其实就处在这个阶段,AI参与代写的比例可以轻松超过项目代码总量的一半。

第三阶段是代理时代。AI不再只是坐在旁边给建议,而是像一个初级工程师一样接收任务:自己去搜索代码库、理清调用关系、规划修改方案、改多个文件、运行测试做自我验证。人类只在关键节点做方案审查和结果验收。在这种工作模式下,AI生成和修改过的代码占比超过八成,一点都不夸张。论文里那个数字,我理解更像是作者在基于第三个阶段做推演,而不是在描述那些只用补全工具的团队。

这里有一个很关键的观察:当工具从补全进化到代理,人类在流程里的位置就变了。以前人类是“生产者”,AI是“助手”;现在AI是“生产者”,人类变成了“审核者”。很多人还在用第一阶段的心态去理解第三阶段的发展,所以才觉得“超八成”是在危言耸听。论文作者讨论这个问题时,用的基本已经是第三阶段的框架了。

2. 论文真正焦虑的不是代码量,而是被稀释的“人类判断力”

如果把“超八成”只当成一个数字去看,会漏掉论文最核心的论点。它不是在炫耀AI有多强,而是在提醒:当AI大量接管代码生产之后,软件开发真正的瓶颈正在从“写得出”变成“判得准”。

2.1 从“写代码”到“审代码”:开发者的核心技能正在发生位移

过去衡量一个程序员水平,经常看的是API熟不熟、算法写得好不好、各种边界细节能不能马上想起来。这些能力有一个共同点:它们都是“构造型技能”,解决的是怎么把代码写出来。AI最擅长的恰恰就是这一类。现在一个工作三到五年的开发者,在生成常规代码这件事上,未必比一个配置得当的AI代理更快。

真正不可替代的是另一类能力——判断力。判断这段代码是否真正满足业务需求,判断它有没有引入隐藏的系统风险,判断它的边界条件是否完备,判断它是否符合未来的演进方向。这些能力解决的不是“怎么写”,而是“该不该这么写”。

我实际见过一个团队,把常规模块的编码大量交给AI之后,功能上线速度确实快了,但一到复杂业务和性能优化阶段就频繁返工。复盘的时候发现,问题很少出在AI写的那部分,而恰恰出在人类review时没有看出问题就合入的部分。因为大家都默认“AI已经写得很完整了”,审查变成例行公事。这个例子让我印象很深,它正好把论文那层担忧变成了现实:生产端被AI提速了,但校验端没有跟上,整个系统的质量就变得不可控。

写代码能力决定了你能把代码做出来,判断力决定了你能不能让代码在真实环境里稳定运行。当AI把前者的门槛大幅拉低,后者就变成了开发者之间真正的分水岭。

2.2 判断力为什么会成为新的稀缺资源

判断力之所以稀缺,不是因为它有多玄妙,而是因为它积累起来非常慢,而且很难通过“看文档”获得。它来自长期接触各种失败模式:线上事故现场、边界输入导致的数据异常、并发场景下才出现的问题、依赖升级引发的兼容性事故。这些东西每一次都要靠真实经验去感知。AI生成代码的边际成本趋近于零,但人类积累判断力的速度,依然是一天只有二十四小时。

这就产生了一个巨大的速度差:AI生成代码越来越快,人类验证代码的速度几乎原地踏步。在前端界面、样板代码这类低风险场景,速度差还能忍受;但在资金流转、数据一致性、权限控制这类高风险场景,一旦人的验证速度跟不上生成速度,错误也会同步放大。论文更深一层的焦虑,就落在这个速度差上。

用质检员来类比就很好懂。自动化设备让工厂每天的产量翻了十倍,质检团队如果还是那几个人,产品良率一定会下滑。要么扩大质检投入,要么把质检流程本身自动化。软件工程今天面对的正是这个局面:生成端被狠狠踩了一脚油门,验证端还停在原来的档位。所以论文反复强调“判断力”,本质是在提醒整个行业,要赶紧把资源搬到验证侧来。

3. 预警派和说明书派都在误读:这既不是裁员通知,也不是AI万能指南

标题问“预警还是说明书”,我的看法是:它两者都是,但大多数讨论把它误读了。先把两个最常见的误读拆掉,再回来说我看到的真实结论。

3.1 误读一:把“参与占比”换算成“取代概率”

一看到“超八成”就得出“程序员要失业”的结论,是最常见的误读。这种误读的根源,是把“AI参与生成的代码占比”直接换算成了“AI替代的人类工作量占比”。这两个概念差得很远。

打个比方。工地上塔吊参与吊运的建材重量早就超过总体重的八成,但工地并没有因为这样就不需要工人。建材的运输方式变了,工人的技能构成变了,但测量、设计协调、施工验收这些环节仍然离不开人。代码也类似:AI参与的代码占比再高,架构怎么定、需求怎么拆、验收标准是什么,仍然需要人来拍板。恰恰是这些没有写进代码里的东西,决定了一个软件系统能不能活下来。

当然,这不代表所有开发者的处境都没有变化。处在“高度重复、上下文明确、风险很低”的场景里的岗位,确实会先感受到压力。但论文想表达的并不是“整体程序员即将消失”,而是“你原来引以为傲的那部分技能,可能正在变成公共基础设施”。这两者的差别非常大。

3.2 误读二:把“说明书”当成“放手操作手册”

另一拨人的误读方向完全相反:他们把论文当成官方认证,觉得以后只要把需求描述给AI,剩下的事情都能自动完成。这种心态在真正动手做过的人身上很少出现,因为AI生成代码有它非常鲜明的一体两面——它擅长“看起来正确”,并不擅长“确认正确”。

在一个没有上下文约束的环境里,AI会非常自信地给出一段完整代码,但这段代码可能忽略了系统里已有的某个组件,可能没有考虑极端输入,可能在并发场景下静默出错。它生成的代码从形式上看完全正常,甚至注释都写得整整齐齐,放到线上才暴露问题。如果真按“放手操作手册”来用,那AI生成占比越高,线上风险就越大。

所以即便这篇论文具备“说明书”的属性,说明书的第一节也应该是:人类需要对结果负责,并时刻保持判断。判断不是可选项,而是这个新协作模式里的核心安全装置。

3.3 我看到的真实结论:它是写给整个软件行业的一份提醒

绕了一圈,回到标题那个问题:预警还是说明书?我认为它同时是两者,只是面向的对象不同。

对个体程序员,它是预警。过去靠背框架、写样板代码、熟悉API就能建立的竞争力,正在被AI快速压缩;如果不在判断力上持续投入,几年后会比较被动。对企业和技术管理者,它又是一份说明书:组织方式、开发流程、Review机制都要重新设计,把AI放在执行层,把人放在需求分析、方案设计、结果验收层。两种解读并不矛盾,只是一个从个人视角看,一个从组织视角看。

我更愿意把它理解成一份关于“瓶颈转移”的提醒。软件工程的瓶颈在历史上曾经是算力,后来是网络,再后来是开发效率。下一个阶段,瓶颈大概率会落在“谁能对AI产出的海量代码做出高质量判断”上。谁能先想明白这一点,谁就能在接下来的行业变化里占到位置。

4. 把它当说明书来读:AI代码占比过高的环境里,程序员该练什么

如果不去讨论要不要恐慌,而是把它当成一份可执行的工作说明书,具体该怎么做?这一节是我整理出来的、可以直接放进团队流程里的动作。

4.1 让AI先给方案,你先给判断

拿到需求后,不要让AI马上写代码。先由人或团队讨论出接口契约、模块边界和验收标准,再让AI在这个约束范围里去实现。这能避免AI最常见的毛病:在信息不足时自行脑补需求。你给它的边界越清楚,它生成的代码就越可控。

代码生成完成后,不要急着看“能不能跑”,而是反过来让AI自己解释:为什么选择这个实现方案?有哪些前提假设?哪些边界情况没有处理?这个过程会把审查提前到设计层面,而不是在代码层面修修补补。我个人的经验是:AI能讲清楚的逻辑,通常风险可控;它支支吾吾说不清的部分,才是真正需要你盯的地方。

4.2 用测试用例约束AI的输出

比事后Review更高效的做法,是测试先行。先把能表达验收标准的测试用例写出来,再让AI去实现“让测试变绿”的代码。测试用例本身就是对AI生成行为的硬约束:它再怎么自由发挥,最终都要满足这些断言。

这就要求测试本身写得有质量,不只是覆盖正常路径,还要覆盖异常输入、并发、超时、权限边界这些容易出问题的地方。如果测试写得太宽泛,AI生成的代码即使全绿,也大概率只是自圆其说。这个模式的好处是,人类的判断重点从“逐行看代码”变成“检查测试是否准确表达了需求”,效率会高出一截。

4.3 把“边界审查”固定成流程步骤

代码审查阶段,建议固定一个边界检查清单:是否存在空值未处理、超长输入、并发竞态、超时重试、越权访问等问题?每一项都必须有明确结论:AI是否处理了?如果没有,是刻意忽略还是遗漏?

AI生成的代码最容易在边界场景上掉链子,因为这些场景在训练数据里出现频率低,模型倾向于输出“最常见路径”的解法。所以把这些检查固化到PR模板或者团队Review清单里,成本很低,效果立竿见影。它不能替代人类判断,但能强迫每个参与Review的人把判断做完整,而不是扫一眼“能跑”就合入。

5. 回到个人视角:我在高占比AI代码环境里的几条实操体会

写完上面这些,再说一点发生在自己身上的事。

我复盘过最近一个迭代,AI确实参与并修改了超过半数的代码。但真正关键的数据校验和容错逻辑,是我先写好测试用例,再让AI去实现,最后逐行Review完成的。全程下来,我对每一处生成代码的理解并不比完全手写少,反而因为把精力集中到方案审查和边界检查上,整体交付更顺了。AI的高参与度并没有让我失去对代码的掌控,前提是我始终记得谁是最终负责人。

一个很实用的小技巧:让AI生成完代码之后,追加问一句“这段代码有哪些边界情况没有处理?如果输入异常会怎样?”它往往能列出一堆它生成时并没有真正处理的问题。把这段对话记录带进PR描述里,Review的人会省很多力气,也会更容易发现隐患。这个习惯帮我避免过至少两次线上问题,你可以直接抄走用。

所以,回到标题那个问题:这篇论文是预警还是说明书?我的答案是,它首先是一份预警,提醒大家判断力正在变成这个行业最稀缺的资源;同时它也是一份说明书,前提是读者愿意照着调整自己的工作方式。如果只是把“超八成”当作一个耸动的数字去转发,那什么都改变不了;如果把它当作一个信号去调整自己的工作流,那它就能变成个人竞争力升级的起点。

相关新闻

AI辅助教材编写:高效产出与低查重降重技巧全解析

AI辅助教材编写:高效产出与低查重降重技巧全解析

写教材这件事,听起来是老师或培训师的基本功,但真正做过的人都明白它有多熬人。在高校、职业院校和培训机构里,教材编写往往是压在教师身上的隐形大山:既要搭框架、找素材、写案例,又要排版配图、设计练习,…

2026/10/20 13:08:00 阅读更多 →
Flutter开发鸿蒙应用:从零搭建药品服药记录器全流程教程

Flutter开发鸿蒙应用:从零搭建药品服药记录器全流程教程

做跨平台开发这几年,我用 Flutter 写过不少工具类应用,最近刚把一个药品服用记录器顺利跑到了鸿蒙手机上。这个项目从零开始做,覆盖了环境配置、数据表设计、服药计划、本地通知、真机联调这一整条链路,中间踩了不少坑&#xff0c…

2026/10/20 13:06:59 阅读更多 →
Hindsight:面向Agent的分层可演化的长期记忆架构

Hindsight:面向Agent的分层可演化的长期记忆架构

1. 项目概述:为什么一个Agent需要“记性”,而Hindsight给出了新解法最近在几个技术社区里,总能看到开发者反复追问:“我的Agent跑着跑着就忘了上一轮用户问过什么”“多轮对话中历史信息越积越多,推理变慢、回答开始自…

2026/10/20 13:06:59 阅读更多 →

最新新闻

SecureCRT免安装版配置指南:离线串口调试与SSH便携部署

SecureCRT免安装版配置指南:离线串口调试与SSH便携部署

简介:本资源为SecureCRT绿色便携版免安装包,面向系统管理员、运维工程师及开发人员,解决多平台快速部署安全终端连接工具的需求,尤其适用于需在不同电脑间频繁切换、无管理员权限或追求轻量使用的场景。压缩包共137个文件&#xf…

2026/10/20 14:00:00 阅读更多 →
防火墙规则集时序配置:顺序、生效时间与安全空窗排查

防火墙规则集时序配置:顺序、生效时间与安全空窗排查

防火墙规则集里的时序配置,是我这几年排查安全事件时最常踩的隐形坑。规则明明写对了,但因为顺序放错、时间对象失效、批量下发存在中间态,导致规则的实际生效时间和预期完全对不上,轻则策略空转半个月没人发现,重则直…

2026/10/20 14:00:00 阅读更多 →
Python Pygame核心机制与实战:从零构建接苹果小游戏

Python Pygame核心机制与实战:从零构建接苹果小游戏

很多人在命令行里写过一阵Python脚本之后,总想搞点“能动的、看得见的东西”。Python Pygame模块就是你会碰到的第一块敲门砖:一个基于SDL封装、专门用来做2D图形和游戏的原生库。我第一次用它做窗口程序的时候,印象最深的不是那种“我能控制…

2026/10/20 14:00:00 阅读更多 →
100套可配置ECharts大数据大屏模板工程包

100套可配置ECharts大数据大屏模板工程包

简介:本资源是一套面向数据可视化工程师、前端开发人员及政企数字化项目实施者的专业级大屏模板集合,覆盖社区治理、智慧物业、数字政务、智能交通、金融银行等十余个高需求行业场景,有效解决业务数据实时监控与决策看板快速搭建难题。压缩包…

2026/10/20 14:00:00 阅读更多 →
AI加速剪辑工作流:字幕、粗剪与卡点自动化实战

AI加速剪辑工作流:字幕、粗剪与卡点自动化实战

我见过太多人剪视频,剪到怀疑人生。明明素材拍得挺好,脚本也没什么大问题,但就是一剪一整夜,导出前还在逐帧删吸气声、给字幕换行、把片尾黑场拖到精确位置。你以为是效率问题,其实是你把80%的时间花在了AI 10秒就能搞…

2026/10/20 14:00:00 阅读更多 →
深度学习训练调参实战:梯度、激活函数、学习率与优化器的链路

深度学习训练调参实战:梯度、激活函数、学习率与优化器的链路

入门深度学习时,很多人会被一连串名词劝退:激活函数、优化器、学习率、梯度。我第一次跑模型的时候也觉得它们是四个独立的调参项,今天调一下学习率,明天换一个激活函数,最后模型loss曲线像心电图一样乱跳,…

2026/10/20 13:59:00 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →