Claude Code工程师支招:让Agent写完代码出题考你,答不上先别合并
万物皆可外包,但脑子不行啊!
AI越来越聪明,人却越来越懒得动脑了。
刚不久,前Google Cloud AI总监、现
Claude Code工程师Addy Osmani专门发文聊了这件挺扎心的事。
他的看法是,那些天天指挥Agent写代码的工程师,可能已经不知不觉陷进了一种状态——认知投降(Cognitive Surrender)。
说白了,AI写什么,你就信什么。
代码跑得通,测试全绿,手一挥就批了。
可真有人追问这段代码为什么这么写,自己却答不上来。
于是,这位亲手参与打造AI编程工具的工程师,决定给大家支个挺有意思的招:

Agent写完代码之后,再出几道题考考你。
答不上来?那先别急着合并代码。(doge)
AI越聪明,人越容易被“养废”


Addy Osmani是什么来头?
他硕士读的是英国华威大学,之前在Google干了14年多,参与过Chrome DevTools、Lighthouse这些开发者工具项目,现在加入
Anthropic,做Claude Code相关的工作。
他还是圈里有名的教程高产户。

△
Claude Code使用技巧、Agent工作流、代码审查,隔三差五就有他的新教程。
不过这回,他盯上了一个越来越现实的问题:
AI生成的东西越来越靠谱,人还会认真检查吗?
以前写代码,得自己哼哧哼哧查资料、琢磨方案、动手调试。

一句Prompt丢过去,Agent可能几分钟就把活干完了。
但现在呢?
更麻烦的是,模型能力往上走,AI写出来的代码也越来越像那么回事。
变量命名规范,逻辑看着顺,测试还一片绿。
结果大家慢慢就习惯了:第一次认真检查,第二次扫两眼,第三次直接点通过……
时间一长,人就从亲手写代码,变成了给Agent盖章的。
Addy把这种情况叫作认知投降(Cognitive Surrender)。

△
说白了,AI写什么,你就信什么。
它并非一夜之间发生,有一个逐渐加深的过程。
起初可能只是“认知卸载”:我们只是把具体工作交给AI,但自己仍然理解任务,也能判断结果;
接着开始“判断让渡”,AI给出的答案逐渐成为下一步工作的默认依据;
最后就到了“认知投降”:
行了行了,AI说得肯定有道理,那就听它的吧。
至此,连原本应该由自己完成的判断,我们也统统拱手交了出去。

△
Addy举了个非常典型的例子:
假如Agent一口气提交了一个600行代码的PR(拉取请求)。
开发者一看,结构清晰、测试通过,ok放心合并。
殊不知,Agent可能在某个不起眼的地方,悄悄改了事务处理顺序,或者调整了某个边界条件。
这些改动没有在当时立刻报错。
但等到系统真出了问题,开发者才突然发现,自己甚至解释不清这段代码为什么这么运行。

最麻烦的还在后面。
Addy认为,长期这样使用Agent,还会积累出一种新的技术债务——理解债(Comprehension Debt):
代码写得越来越多,系统功能越来越复杂。
可开发者对代码的理解,却没能跟着一起增长。
结果真到了要改某个功能的时候,众人才反应过来:代码这栋楼是立起来了,可内部构造越来越没人说得清,只能干瞪眼,实在让人头疼。

当然,这并不意味着每一行AI生成的代码都要亲自读完。
Addy也提到,Claude Code团队也不会要求工程师随时记住整个代码库,他们会在需要修改某一部分时,借助Claude重新理解相关逻辑。
只是这里有个前提:
你必须得知道自己懂什么,又有哪些地方还没搞懂。
否则,代码写得越快,你的理解债也可能欠得越多。

防沉迷小妙招:让Agent反过来考咱们
那么问题来了。
Agent 现在写代码这么快,人要怎么才能不掉队?

Addy 在那篇长文里讲了不少自己上手实操的办法。他觉得最有意思的一招,是把 Agent 变成出题的人。
比方说,Claude 刚做完一次大改的代码。别急着点通过。先让它把这次动了哪些地方、为什么这么动讲清楚,再照这些改动给我们出几道题,并且立下一条规矩:测验全对,代码才允许合并。
这么走一遍,自己到底批准了什么,心里就有数了,也能少犯些不该犯的错。

另外几招 Addy 也一并讲了,我给大家理一理(  ̄▽ ̄)σ。
妙招1:动手写 Prompt 前,先自己把需求想明白列出来
Addy 说,现在的 Agent 补需求的本事实在太强。哪怕我们自己还没想清楚要什么,它也能交出一份挺像样的东西。麻烦就出在这儿:需求里那些没讲透的目标、限制和取舍,很可能就这么让 AI 替你定了。

Addy 管这叫“意图债”(Intent Debt)。

所以他建议,派活之前先用大白话写一份简短的需求说明:给谁用、要解决什么、哪些不用做、做到什么份上算完。想清楚了,再放 Agent 开工。
要是 Prompt 连着改了两轮还是出不来想要的结果,那就该停下来重新捋需求,别继续往上叠提示词了。
妙招2:让 Agent 主动交代,它私下替你做了哪些决定
这一招在跑得久的任务里格外管用。Agent 干活时可能自己挑了默认参数、挪了实现范围,甚至几项需求打架时替你做取舍。这些决定它未必会写进最后的总结,有些顺理成章得根本看不出来。
所以别只问一句“完成了吗”,Addy 建议接着追问:哪些决定是你没经我明确同意就做的?
他还建议接着问:哪些环节是靠你自己的假设撑过去的?还有什么没做过验证?另外,哪些改动会波及其他功能?
这样追问下来,Agent执行时做了哪些取舍至少能摆到明面上,再对着代码和测试结果,一条条核它自己交代的内容。

妙招3:测试全绿不等于没问题,要问它漏测了什么
Addy特别提醒,测试结果变绿,只能说明被测到的那些条件通过了。要是边界情况压根没写进测试,Agent照样能交出一份漂漂亮亮的报告。
所以他建议大家先看清实际跑了哪些测试、返回的是什么结果,再去读AI写的总结。碰上高风险改动,还可以加一道独立检查,让另一个Agent换个角度挑毛病。
妙招4:Agent可以多开,但重要任务必须留住原始材料和验证依据
如今 simultaneous 指挥好几个Agent的人估计不少了:一个写前端,一个改后端,还有一个管测试,效率确实飞起。
可人跟人传话会走样,多个Agent协作也一样——一个Agent的总结很容易直接变成下一个Agent的输入。传着传着,整条工作流可能离原始资料越来越远,原始信息里的关键细节说不定早就丢了。
△
Addy因此提醒,重要任务必须保留原始材料和验证依据。那些已经多到根本审不过来的任务,要么补上自动化检查,要么先把并行数量减下来。
否则继续加Agent,只会让待审核的内容越堆越高。Addy对此的判断相当犀利:当你生成的内容已经多到自己负不了责,你做的就不再是审查,而是在赌它没问题。
妙招5:每周留点时间,回归古法手搓代码
这招听上去甚至有点复古。都2026年了,Claude的工程师居然还劝大家偶尔别用Claude?
但Addy认为,长期不用的技能确实可能慢慢退化;
偶尔抛开Agent,自己独立把活干完,也能顺带校准一下眼下到底处在什么水平。所以他的建议是,每周起码留一次不靠Agent的独立编码练习。
每个月也不妨顺手盘一盘:哪些技能已经交给了AI?哪些能力可以安心外包,哪些又非得自己攥着不可?
这么做的附带好处是,至少你还清楚,撇开AI,自己现在究竟还能干点啥。
文章收尾处,Addy还给了一个特别简单的自测法子:每次向Agent提问之前,先写下自己预判会发生什么;等AI交完卷,再试着挑出一件它可能漏查的事。
这样一来,至少能保证整场工作里,脑子也跟着转了两下。
Anyway,干货讲完,Addy还抛出一个所有AI重度用户都该认真想想的问题:大家伙儿说句实话,要是明天AI集体罢工,你觉得自己能撑几天不崩溃?
嘶……是啊,能撑几天呢?别人什么情况不清楚,反正对我这种选择困难症晚期的人来说,多少有点天塌了的感觉。(泪目)
毕竟出门得靠AI规划行程,找路要问AI,就连去餐厅吃顿饭,都恨不得先让豆包研究一遍菜单,看看哪道菜最值得点。这么一想,AI真要是集体罢工,我恐怕连今天午饭吃啥都得从头学起。(捂脸)
One More Thing
其实最有节目效果的还是最后这段。洋洋洒洒教完大家怎么防止被AI养废,Addy居然在文章末尾骄傲地晒出一张AI检测报告;
Pangram的检测结果显示:人类撰写90%,AI生成10%,AI辅助0%。
哈哈哈哈,合着前面苦口婆心劝大家别把脑子外包给AI,最后自己也没忘亲自交作业:放心,这篇劝你们动脑子的文章,我也是真动脑写的!
好好好,真·知行合一。(doge)
参考链接:[1]https://x.com/addyosmani/status/2117512471930167377