前Google Cloud AI总监、如今在Claude Code团队任职的Addy Osmani近期发布了一篇文章,直指一个令人不安的现象。
在他看来,那些频繁指挥Agent写代码的开发者,可能已悄然陷入一种认知投降(Cognitive Surrender)的状态。
简单来说,就是AI生成什么,自己就信什么。
代码能顺利运行,测试结果全是绿色,便大手一挥,“通过!”。
可一旦有人追问这段代码为何如此编写,自己却哑口无言。
于是,这位深度参与AI编程工具开发的工程师,给出了一个颇有创意的建议:
让Agent写完代码后,再出几道题来考你。
答不上来?那就先别急着合并代码。(doge)
Addy Osmani是什么背景?
他硕士毕业于英国华威大学,曾在Google工作超过14年,参与了Chrome DevTools、Lighthouse等开发者工具项目,如今加入Anthropic,负责Claude Code相关工作。
而且,他是出了名的教程高产大户。
从Claude Code使用技巧,到Agent工作流、代码审查,几乎每隔几天就有新内容发布。
不过这一次,他将关注点放在了一个日益严峻的问题上:
当AI生成的内容越来越可靠,人类还会认真核查吗?
过去写代码,需要自己费劲查资料、琢磨方案、动手调试。
现在呢?
只需一句Prompt,Agent可能几分钟内就能完成任务。
更棘手的是,随着模型能力增强,AI写出的代码也越来越像样。
不仅变量命名规范,逻辑看起来顺畅,测试结果也全是绿色。
于是,大家逐渐习惯了第一次仔细检查,第二次扫两眼,第三次直接点击通过…
久而久之,人类从亲手写代码,变成了给Agent盖章的。
Addy将这种状态称为认知投降(Cognitive Surrender)。
它并非一夜之间出现,而是有一个逐步加深的过程。
起初可能只是“认知卸载”:将具体工作交给AI,但自己仍理解任务,也能判断结果;
接着开始“判断让渡”,AI给出的答案逐渐成为下一步工作的默认依据;
最后就到了“认知投降”:
行了行了,AI说的肯定有道理,那就听它的吧。
至此,连原本应由自己完成的判断,也全部拱手交出。
Addy举了一个非常典型的例子:
假设Agent一口气提交了一个600行代码的PR(拉取请求)。
开发者一看,结构清晰、测试通过,ok放心合并。
殊不知,Agent可能在某个不起眼的地方,悄悄改了事务处理顺序,或者调整了某个边界条件。
这些改动当时不会立刻报错。
但等到系统真正出问题时,开发者才突然发现,自己甚至解释不清这段代码为什么这样运行。
最麻烦的还在后面。
Addy认为,长期这样使用Agent,还会积累出一种新的技术债务——理解债(Comprehension Debt):
代码写得越来越多,系统功能越来越复杂。
但开发者对代码的理解,却没能同步增长。
于是,等到真正需要修改某个功能时,大家才恍然发现,这座代码大厦虽然盖起来了,却越来越没人摸得清内部结构,只能茫然地面面相觑,令人头疼。
当然,这并不意味着每一行AI生成的代码都要亲自读完。
Addy也提到,Claude Code团队不会要求工程师随时记住整个代码库,他们会在需要修改某一部分时,借助Claude重新理解相关逻辑。
只是这里有一个前提:
你必须得知道自己懂什么,又有哪些地方还没搞懂。
否则,代码写得越快,你的理解债也可能欠得越多。
那么问题来了。
Agent现在这么能写,我们究竟该怎样跟上它的速度呢?
Addy在长文中分享了不少自己的实操经验。
其中最有意思的一招,就是让Agent变成考官。
假设Claude刚刚完成了一项大型代码修改。
先别急着点击通过。
我们可以先让它总结这次到底改了哪些地方、为什么这么改,再根据修改内容给我们自己出几道题,并立一条规矩:
只有测验全部答对,代码才能合并。
这样一来,我们就能真正清楚和理解自己究竟批准了什么,避免出现不必要的错误。
除此之外,Addy还分享了几个其他技巧,我也都给大家整理出来了(  ̄▽ ̄)σ。
Addy提到,现在的Agent确实太擅长补全需求了。
哪怕我们自己还没想明白要什么,它也能交出一份像模像样的作品。
可问题恰恰出在这里,需求里那些没说清楚的目标、限制和取舍,可能就这么被AI替你决定了。
Addy把这种情况称为“意图债”(Intent Debt)。
所以他建议,下达任务之前,我们最好先用自己的话写一份简短的需求说明。
包括面向谁、想解决什么问题、哪些事情不需要做,以及做到什么程度才算完成。
先想清楚,再让Agent开工。
如果连续调整两轮Prompt仍然得不到想要的结果,那我们就该回头重新梳理需求了,而不是继续往上堆提示词。
这一点尤其适合长时间运行的任务。
因为Agent在执行过程中,可能会自行选择默认参数、调整实现范围,甚至在不同需求发生冲突时做出取舍。
这些决定,它未必会主动写进最后的总结里,甚至自然到难以察觉。
所以,比起只问一句“完成了吗”,Addy建议我们不妨继续追问:
你做了哪些我没有明确授权的决定?
哪些地方依赖了自己的假设?
还有什么没验证?
以及,哪些改动可能影响其他功能?
这样一来,大家至少就能看清Agent在执行过程中作出了哪些取舍,再可以根据代码和测试结果逐步核对Agent自己交代的内容了。
Addy特别提醒,所谓的绿色测试结果只证明测试覆盖到的条件通过了。
如果边界情况根本没有写进测试,Agent照样可以交出一份看起来很漂亮的报告。
因此,他建议大家仔细查看实际执行了哪些测试、返回了什么结果,再去读AI生成的总结。
对于高风险修改,还可以增加独立检查,让另一个Agent从不同角度寻找问题。
现在估计有不少小伙伴已经开始同时指挥多个Agent了。
一个负责写前端,一个负责改后端,还有一个负责测试。
效率简直是飞速提升。
但与此同时,就像人与人之间的传话会有损耗一样,当多个Agent协作时,一个Agent的总结很容易直接成为下一个Agent的输入;
传着传着,到了最后,整个工作流可能就已经离原始资料越来越远,导致原始信息里那些关键细节可能早就丢了…
Addy因此提醒,重要任务必须要保留原始材料和验证依据。
至于那些已经多到根本审不过来的任务,要么补上自动化检查,要么先减少并行数量。
不然,继续增加Agent数量,只会让待审核的内容越堆越高。
Addy对此给出的判断也相当犀利:
当你生成的内容已经多到无法负责时,你做的就不再是审查,而是在赌它没问题。
这招听上去甚至有点复古。
都2026年了,Claude工程师居然还劝大家偶尔别用Claude?
但Addy认为,长期不使用的技能确实可能逐渐退化;
偶尔脱离Agent独立完成任务,也能帮助大家随时校准自己当前的真实水平。
所以他建议大家,每周至少安排一次不依赖Agent的独立编码练习。
每个月也可以顺手盘点一下:
自己已经把哪些技能交给了AI?
哪些能力可以放心外包,哪些又必须继续掌握?
这样做还有一个额外好处。
那就是至少还能知道,离开AI后,自己现在究竟还能干些什么。
在文章的最后,Addy还分享了一个极其简单的自测办法,那就是每次向Agent提问前,先写下自己预期会发生什么。
等AI交卷后,再试着找出一件它可能没检查到的事。
这样一来,我们至少就能保证在整个工作中,脑子也跟着转了两下。
Anyway,分享完这些干货后,Addy还留下了一个值得所有AI重度用户认真思考的灵魂拷问:
家人们都说实话啊,要是明天AI集体罢工,你们觉得自己能撑几天不崩溃呢?
嘶…是啊,能撑几天呢?
别人不知道,反正对我这种选择困难症晚期患者来说,多少有点天塌了。(泪目)
毕竟,出个门需要AI帮忙规划行程,找个路得问AI,就连去餐厅吃顿饭,都恨不得先让豆包帮我研究一下菜单,看看哪道菜最值得点。
这么一想想,AI要是真集体罢工了,我可能连今天的午饭吃啥都真的得重新学起咯。(捂脸)
其实吧,最有节目效果的果然还是在最后。
洋洋洒洒地教完大家怎么防止被AI养废后,Addy居然还在文章末尾骄傲地晒出了一张AI检测报告;
Pangram检测结果显示:
人类撰写90%,AI生成10%,AI辅助0%。
哈哈哈哈,合着前面苦口婆心劝大家别把脑子外包给AI,最后自己也没忘了亲自交作业:
放心,这篇劝你们动脑子的文章,我也是真动脑写了!
好好好,真·知行合一。(doge)
参考链接:[1]https://x.com/addyosmani/status/2117512471930167377
本文来自微信公众号“量子位”,作者:文婷,36氪经授权发布。
欧亿体育围绕欧亿体育不断创新,回应用户的真实需求。