夜雨聆风学习资料网

ARTICLE · 1100503

程序员最大的风险不是被AI替代,而是“认知投降”!Chrome前负责人:代码写完了,人却看不懂系统

程序员最大的风险不是被AI替代,而是“认知投降”!Chrome前负责人:代码写完了,人却看不懂系统

单击上方“图灵人工智能”,选择“星标”公众号

您想知道的人工智能干货,第一时间送达

转自51CTO技术栈,仅用于学术分享,如有侵权留言删除报道  
编辑 | 姜篇

Addy Osmani:AI用得越多,你对正在处理的问题就越容易失去记忆,也越难保留真正的理解。

Addy Osmani:所谓“认知投降”,就是不再追问,把AI给出的答案直接当成自己的答案。

Addy Osmani:我们仍然要理解系统如何工作。真出了问题,人得有能力修,而不是只能祈祷Agent自己解决。

Addy Osmani在访谈里连续给出了这三个判断。

AI编程的风险不只发生在招聘市场,也发生在开发者自己的脑子里:代码交付得越来越快,人却可能越来越说不清系统为什么这样运行。

Addy曾在Google工作14年多,负责过Chrome开发者体验,参与DevTools、Lighthouse和Core Web Vitals等项目。最近,他在The Pragmatic Engineer的访谈里谈了自己使用编程Agent的方式,也谈到软件工程师最容易在效率暴涨时失去什么。

代码交付了,人却没有建立起对系统的理解。Addy把前一种状态叫作“认知债务”,把彻底放弃验证和独立判断叫作“认知投降”。

他不是在劝开发者少用AI。Addy使用Claude Code或Codex时,一项任务背后可能已经启动20到30个子Agent。

他讨论的是更具体的问题:当人已经看不完所有执行轨迹,团队该怎样留下关键决策、限制改动范围,并确保系统出事后还有人接得住?

以下为访谈内容,我们进行了翻译与整理。

Addy Osmani谈AI使用与认知债务

AI的答案,正在变成你的答案

认知债务不会在某次提交里突然爆炸。它更像是一点点丢掉上下文。

第一次,Agent帮你补了一个函数;第二次,它顺手改了调用链;第三次,它根据测试失败继续修复。每一步看上去都合理,测试也一直是绿的。几周后再遇到同一模块的线上故障,你知道代码改过,却说不清当时为什么这么改。

Addy认为,模型使用得越多,开发者的记忆和对问题的理解就越可能被侵蚀。真正危险的节点,是开发者开始把模型的结论直接当作自己的结论。

Addy Osmani解释“认知投降”

支付系统出现重复扣款,Agent可以找到相关函数,补上幂等判断,再把测试跑绿。开发者仍然要回答历史订单是否需要补偿、重试会不会放大流量、数据库约束是否兼容旧版本,以及回滚以后账目能不能对齐。

这些问题藏在代码之外。模型能给出方案,责任却不会跟着答案一起转移。

20个Agent同时开工,人已经看不完过程

“认真检查每一步”听起来正确,放进多Agent工作流里却很难执行。

Addy提到,一项任务背后可能已经启动了“20 or 30 sub-agents”,也就是20到30个子Agent。让开发者逐个点开所有轨迹、工具调用和中间推理,时间很快就会超过亲自完成任务。

一个任务可能在后台启动20到30个子Agent

他现在更关注任务末尾留下了什么。

Agent完成工作后,需要交代做过哪些关键决定、为什么选择这条路径、遇到过什么阻力、哪些地方仍然不确定。没有这份记录,Addy会继续追问决策过程。

这里还有一个麻烦:模型可能在事后补出一套听起来很完整的理由。于是,决策摘要可以帮助人快速定位风险,却不能代替测试、日志和代码审查。

对团队来说,更实用的做法是把关键材料留在仓库里。架构取舍写进决策记录,PR列出受影响的服务和数据,测试报告说明验证过什么,风险清单标出没覆盖到的路径。下一位接手的人不必翻完一整段对话,仍然能看见这次改动留下的依据。

Agent和工程师,至少要有一个在变聪明

Addy给自己的工作流定了一个要求:Agent在积累经验,工程师也要“getting better every day”。

Addy Osmani:“getting better every day”

Addy Osmani:每天都要比前一天做得更好。

Agent和工程师应该在同一项工作中共同积累经验

Agent可以记录这次任务学到的仓库规则、踩过的坑和有效做法,下次遇到相似问题时少走弯路。

工程师则要从记录里提炼系统知识:哪个模块最脆弱,哪些测试无法覆盖真实流量,哪类改动总会牵动下游。

如果只有Agent越来越熟悉仓库,人却只负责点击“接受”,团队会出现一个尴尬局面:模型知道如何修改系统,正式员工反而无法解释系统。

这也是“认知投降”和正常使用工具的区别。把重复劳动交出去没有问题,关键是每次交付之后,开发者是否留下了可复用的理解。

软件工厂跑得再快,也得有人握着刹车

Addy把下一阶段的软件开发描述成“循环工程”。系统持续接收日志、用户反馈和测试结果,Agent根据这些信号生成修改,再运行验证,失败后继续修复。

从外面看,它很像一条不会停的生产线。

可生产线一旦接到错误信号,也会更快地制造错误。Addy用“recipe for disaster”形容没有护栏的自动构建,也就是一张通往灾难的配方。

自动构建需要限制影响范围和质量护栏

护栏不只是多写几个单元测试。

修改认证、支付、数据迁移和发布流程时,Agent应该拥有不同的权限;涉及删除数据、调整账务和访问密钥的操作,需要人工确认;上线前要准备灰度和回滚路径;验收条件也要能被机器执行,而不是只写一句“优化性能”。

比如,把任务写成“优化订单查询”几乎没有终点。改成“P95延迟低于200毫秒,返回结果与旧接口一致,数据库连接数不能增加”,Agent才知道做到哪里该停,工程师也有证据判断这次修改能不能上线。

符合规格,不等于产品做得好

Agent擅长检查一个结果是否符合说明,却未必能判断它是否“what's good”。

Addy Osmani:“what's good”

Addy Osmani:什么才算真正做得好。

满足规格与做出好产品之间仍有距离

一个按钮的位置、一个接口的返回值、一段加载动画,都可以精确匹配需求文档。用户是否愿意使用,团队是否值得继续投入,这些问题没有一条测试可以直接给出答案。

这正是Addy谈到的“品味”。它听起来很软,落到开发里其实很具体:知道哪些性能问题会被用户感知,知道什么时候应该删掉功能,知道一处局部优化会不会让整套系统更难维护。

代码越来越便宜以后,这种判断反而更容易拉开差距。所有团队都能快速做出十个版本,真正稀缺的是有人能及时停掉九个方向。

代码不是你写的,事故仍然会找到你

Addy在Chrome项目里接触过一套很朴素的责任机制:OWNERS文件。

负责人未必亲手写过目录里的每一行代码,但他必须理解这部分系统,决定一项改动能否合入,在风险无法接受时阻止发布。Agent生成代码以后,这种责任不会消失。

Addy Osmani:“answerable”

Addy Osmani:工程师仍然要能够为系统作答。

Agent写代码,工程师仍要对系统结果负责

这也给团队提出了一个很现实的问题:关键目录有没有明确的人类负责人?

如果没有,Agent越能跨仓库改代码,责任边界越容易变成空白。测试通过后谁判断业务风险,监控异常时谁有权叫停,事故发生后谁能解释改动,这些都不能临时交给模型决定。

未来的代码审查可能不会逐行阅读所有机器生成内容,但必须保留对关键决策、风险证据和上线结果的审查。

程序员的新分水岭,是能不能把结果接住

过去,工程师的能力很容易从实现速度看出来。谁写得快,谁更熟悉框架,谁能更快定位Bug,优势通常比较直观。

Agent把实现速度拉高之后,评价开始往任务两端移动。

前端是目标:做什么、为什么做、验收标准是什么。后端是责任:结果是否可靠、风险能不能接受、上线后出了问题如何回退。中间的代码生成会越来越自动化,两端却需要更强的工程判断。

Addy给出的职业建议只有一句:“Don't just be an engineer.”

Addy Osmani:“Don't just be an engineer.”

Addy Osmani:别只做一个执行需求的工程师。

工程师需要把技术判断接到产品和用户上

这不是要求所有程序员都去做产品经理。更实际的变化是,开发者需要看懂需求背后的用户问题,能把技术取舍讲给其他团队,也能在模型给出一堆可行方案时,判断哪一条值得投入。

AI能把功能实现得更快,却不会替团队决定什么值得做。

评论区:有人认可“认知债务”,也有人不相信“品味”守得住

这期访谈的评论不算多,讨论却正好落在两个方向。

一位观众认为,Addy提出的“alpha”概念,提供了一个观察编程Agent如何改变软件工程的好角度。

YouTube评论区,有观众认可Addy对编程Agent的分析

另一位观众并不买账。他认为,所谓“品味”也可能被整理成模板,随着反馈循环持续完善,模型同样可以学会。真正值得担心的,是工程师对代码结构的关注正在被削弱,而行业还没有弄清楚这会带来什么。

YouTube评论区,有观众质疑“品味”能否成为人类长期优势

还有观众把问题推得更远:如果Agent能为每次改动留下完整来源、提示词和决策轨迹,未来是否连软件工程师本身都可以被移除?

YouTube评论区,有观众讨论可追溯的Agent是否会继续压缩软件工程岗位

这些质疑没有一个已经有答案。但它们至少说明,争论已经从“AI会不会写代码”转向“当AI能写代码时,人还要保留多少理解和控制”。

写在最后

程序员真正要防的,不是Agent今天多写了几个文件。

更危险的状态是,需求由模型解释,方案由模型选择,代码由模型生成,测试由模型补齐,最终人只看见一个绿色对勾。系统运行得越来越快,团队却没人能把完整因果讲清楚。

可以把一条更简单的规则写进日常工作:任务开始前,由人写清预期行为和失败信号;Agent完成后,交付决策摘要、风险范围和测试证据;涉及生产数据、权限和发布的改动,由独立的人再次验证;每个关键目录,都有一个真正理解它的人负责。

Agent越多,这套规则越重要。

代码可以由机器生成,理解系统这件事不能一起外包。否则程序员还没有被AI替代,就先把自己的判断交了出去。

参考链接:
https://www.youtube.com/watch?v=2fyPnxKu8ZM

文章精选:

1.图灵奖得主姚期智最新演讲: AI有边界,恰恰是好事

2.图灵奖得主本吉奥警告全网:AI已经学会“演给安全测试看”,下一代我们可能真的抓不住了!
3.图灵奖得主萨顿 WAIC 2026 最新演讲:现在的 AI 还不算真智能,我们正迈入经验时代
4.菲尔兹奖得主陶哲轩最新访谈:未来数学属于人类与 AI 的混合体
5.图灵奖得主、AI教父辛顿:AI已具备意识,且将进化成远超人类的智能生命体
6.图灵奖得主、“AI教父”辛顿认错:我当年想得太简单!卡死医疗AI落地的,其实是背后的法律
7.图灵奖得主Bengio预言o1无法抵达AGI!Nature权威解读AI智能惊人进化,终极边界就在眼前
8.图灵奖得主、强化学习之父Rich Sutton:大语言模型是一个错误的起点
9.图灵奖得主杨立昆:大语言模型缺乏对物理世界的理解和推理能力,无法实现人类水平智能
10.压缩即是全部 —— 菲尔兹奖得主 Michael Freedman 给数学和 AI 的一封信

相关学习资料