ARTICLE · 1100503
程序员最大的风险不是被AI替代,而是“认知投降”!Chrome前负责人:代码写完了,人却看不懂系统
单击上方“图灵人工智能”,选择“星标”公众号
您想知道的人工智能干货,第一时间送达


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替代,就先把自己的判断交了出去。

文章精选:
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 的一封信