当智能体承担工作时,如何保持批判性思考

批判性思考:从认知卸载、依从到认知投降的变化
目录
  1. 卸载、依从与放弃判断
  2. 我会问自己的问题
  3. 把验证变成习惯
  4. 真正关注生成的内容
  5. 高质量输入,才有高质量输出
  6. “但模型会比我更擅长这些”
  7. 日常实践
  8. 值得带走的要点

过去,人们教我们批判性思考时,强调的是以谦逊的好奇心和适度的怀疑面对新信息:听取不同观点,形成自己的判断。这一点依然成立,但如今我的大量工作都通过智能体完成,日常工作中越来越少有事情会迫使我进行批判性思考。对于那些已经全面拥抱智能体工作流的工程师和产品人员——同时运行多个会话,并期待模型不断进步的人——我想先说清楚:我非常喜欢这些工具。写这篇文章,并不是为了劝大家减少使用智能体工作流。

我的目标,是帮助你在一个任何事情都能轻易交给智能体的世界里,保持批判性思考。

过去,我们大部分认知和审美上的思考,都发生在提出问题与得到答案之间。现在,这段间隔只能以秒来衡量。智能体工作流用得越多,这件事就越难,尽管原因可能与人们预想的不同:模型不断进步,明显错误所占的比例越来越低。许多、甚至大多数输出都文笔流畅,而且基本正确,却不会让你觉得有必要再看一遍。

即使同时运行许多智能体,你也仍然只有一双眼睛来审视它们的输出。

你必须主动把批判性思考安排进日常工作,因为默认情况下,没有什么会替你做到这一点。

我们之所以很难自行纠正这种倾向,部分原因在于智能体工作流用起来很舒服。忙碌的一天里,快速得到令人愉悦、往往也正确的答案,会让人感到轻松;但也正因如此,我们很容易放松警惕。

卸载、依从与放弃判断

与别人讨论这个问题时,我会把它描述为一条连续的光谱:

最上端是认知卸载:把任务委托给 AI,但仍然对结果负责。我整天都在这么做,你也应该如此。中间是依从:工具的输出变成你接下来的输入,你不再把它视为有待验证的假设。最下端则是认知投降:AI 的输出悄悄变成了你自己的观点,而你觉得没有必要检查。

“认知投降”这个术语由沃顿商学院的 Steven Shaw 和 Gideon Nave 提出。它准确地描述了我所看到的现象:随着信任或惰性的增加,人们沿着这条光谱不断下滑。这种转变很少被察觉,因为每一步都很细微,看起来也合情合理。上一条回答你认真读过,于是下一条就略读,再下一条只扫一眼结构。直到有人问你其中某一行是什么意思,即使有智能体帮忙,你也解释不清。

这就是认知投降,也是认知债务不断积累的方式。通常,当你试图运用自己对系统的心智模型,却发现它根本不存在时,才会意识到这个问题。

Margaret-Anne Storey 写过,这在团队中表现为大家对系统共同理解的逐渐侵蚀。我也写过它在代码领域的对应形式:理解债务,这个术语由 Jeremy Twei 提出。在当下,它完全不可见:代码库看起来整洁漂亮,测试也全部通过。直到需要修改系统时,你才发现已经没有人理解它。只看过战略文档或规格说明的目录就签字认可,也是同样的问题。

需要说明的是,我并不是在提倡做不可能做到的事。对于一个庞大的现代代码库,任何人都不可能在脑中保有完整的心智模型。Claude Code 团队曾公开表示,他们会按需重建理解:需要了解某个部分时,就让 Claude 解释那一部分,而不是把整个系统模型一直装在脑子里。正如我之前写过的,这种债务比大多数工程师想象的更容易偿还。只要能在需要时重建局部理解,就不必始终掌握完整模型。你只需要知道自己缺少哪些理解。

对于风险很低的事情,可以放心全权委托。但如果连借助智能体都解释不了一个问题的答案,你就已经放弃了对它的掌控。

这也并非总是问题。最近,我录制一门课程,需要从三家评分相近的酒店里选一家作为录制地点。我没时间逐条看完评论,就把决定交给了 AI。结果不错,再来一次我也会这么做。但在决定如何投资我们的钱、如何为孩子的职业发展提供建议,或在工作中决定应该开发什么、哪些变更会影响哪些用户、是否可以安全发布时,我不会这样做。出错代价低的事情,可以交出去;后果需要别人承担的事情,要保留自己的推理与判断。

我会问自己的问题

当我不知道自己的想法时,通常会回到一组基本问题:我怎么知道自己在解决正确的问题?我怎么知道解决方式是对的?有没有证据支持我的结论?我怎么知道已经完成了?多数时候,这不过就是谁、什么、哪里、为什么、何时以及如何。写出来似乎简单得有些幼稚,却会迫使你从原本可能忽略的角度思考。现在,我们太容易跳过这一切,直接问智能体觉得我们应该怎么做。以下是如今我会问自己的新版问题。

提问之前,我形成自己的假设了吗?

把任何不简单的任务交给智能体之前,我都会写下自己认为答案可能是什么,哪怕只是在脑中想一遍。猜得不好也没关系。有了新信息,随时可以改变看法。但一旦读过一份写得很好的回答,就很难再想象其他可能。如果完全没有方向,可以请模型做一次 Thariq Shihipar 所说的盲点检查:把已知信息交给它,让它找出那些你甚至不知道自己不知道的事情。

我是请它帮助我思考,还是让它代替我思考?

两者都可以,前提是你清楚自己正在做哪一种。

什么条件成立时,这个结论会是错的?

然后去查证。模型对自身置信度的评估,远不如一项真正能够执行的测试有价值,所以给它一个实际检验。

我听过从不同角度提出的反对意见了吗?

当我对某个相对开放的问题持有强烈立场时,会让不止一个模型替对立观点辩护,然后审阅它们的输出,再形成自己的判断。这会花更多时间,但最终我对这个主题的理解会深入得多。

面对将来要维护它的人,我敢为这个结果打包票吗?

这既适用于代码,也适用于你交付的其他任何东西。我认为,这就是能够对结果作出交代的标准。

我不再练习哪些能力了?

也许是一些日常调试工作。我可以接受放下一部分,但希望这是有意识的选择。

把验证变成习惯

最近我写了很多关于验证的内容,因为我相信,瓶颈已经从编写代码转向确认自己是否正确。当你赋予智能体验证自己工作的手段,无论是端到端测试、属性测试,还是与实际应用交互,它都能在你查看任何内容之前,完成修改、运行验证、读取结果并再次尝试。这就是 Boris Cherny 所说的“给 Claude 一种验证自身工作的方法”。我认为,这是取得出色成果最关键的要素之一。你的工作不再是逐行阅读,而是建立这些循环,并审阅证据。

但你同样可能放弃对验证的判断。“有没有证据支持我的结论?”会变成“检查变绿了吗?”智能体让编写测试的成本变得极低,因此你会看到大量绿色结果,但通过的测试也可能完全没发现已经损坏的功能。如果测试与功能犯了同一个错误,它就会通过。而一个绿色勾选只能说明某一项性质,不能轻易想象它已经覆盖了一切。

检查通过时,问它证明了什么,再问它没有证明什么。

事先定义什么叫“已验证”,因为事后你会为任何结果找到合理化解释。

智能体工作的终点应该是具体可见的东西:通过的测试、一张截图、一份日志或追踪记录。这能确保完成标准基于事实,而不是任由“看上去已经做完了”之类的判断来解释,甚至放弃判断。收到智能体的完成通知时,先别看总结,先检查它实际执行的命令片段及其输出。

Claude Code 也可以通过一个拥有全新上下文的子智能体,对自己的工作进行自我审查,作为合理性检查。值得把这一环节固定进流程,让它每次都执行,而不是等你想起来才做。我最后仍然会问:“还有什么遗漏吗?”这听起来很傻,但很多时候,当我用前沿模型完成复杂功能,亲自看过、审查过,再问一次“还有什么遗漏吗?”,它就会再找出两三件事。所以我总会问。

当然,不必对所有事情都采用同样严格的流程;知道何时需要深入,本身就是一种能力。在我们介绍 Claude Code 团队如何做代码审查的文章中,我最喜欢的一条经验法则是:“如果你说不清这些检查会漏掉什么,就要求一次真正的审查,而不是快速批准。”

这也适用于代码之外。如果智能体为你汇总了五十次客户访谈,或者完成了一份竞品分析,就抽查几份原始材料,确认总结准确。对于建议所依赖的某个数字,要检查它是否计算正确。

智能体让建立验证机制变得便宜。对你而言,难的是知道怎样的验证才算好。

真正关注生成的内容

假设智能体交给你一个包含 600 行代码的 PR。你大致看了一眼结构,没有逐行阅读。变量名看起来合理,测试也通过,于是你批准了。但中间某处可能悄悄改变了事务边界内的执行顺序,或反转了一个你从未考虑过的边界情况的默认值。或许可以说你确实审查过,但你只检查了自己预料会看到的内容。

写代码和审查代码是不同的技能,而且审查到了某个程度,就会退化为盖章放行。所以,阅读差异时,要像它不是 AI 写的一样认真;然后越过差异本身,看看智能体究竟作了哪些决定。在漫长的会话中,它会替你作出大量小决定:默认值是什么、哪些事情不在范围内、两项要求冲突时重新解释哪一项。

一份宣称一切顺利的总结,不会告诉你这些。因此,要让它列出作过的决定和假设,再考考自己。随机挑几行,问问这一行是怎么回事,那一行又是什么意思。对于文档,可以关掉它,试着凭记忆写出主要论点。有些人会在长会话中采用一个我很喜欢的习惯:让 Claude 写一份变更报告,并在底部附上测验,规则是“只有测验全部答对,我才会合并代码。”

充分理解你正在交付的东西,让自己能够为它作出解释。因为总有一天,可能真的有人会问。

智能体也能帮助你保护注意力。比如,我有一个开源项目,会收到大量拉取请求。我会用智能体帮助判断有哪些新提交、哪些不符合项目规范、哪些可能需要我重点关注。我很少让智能体完全自行决定这些事情,但它们能缩小我需要关注的范围,随后我就能真正思考:这些变更是否在以正确的方式解决正确的问题。

接下来是产出量,而你必须对自己诚实。我把它称为编排税:智能体生成的东西,与那些你愿意署上自己名字的成果之间,存在一道差距。如果已完成的工作堆积得比你审阅的速度更快,那么在解决这个问题之前,再开一个会话也没有用。要么加强检查,让更少的内容需要你介入,要么放慢速度。

当产出超过了你愿意负责的范围,你就不再是在审查,而是在寄希望于它没有问题。

高质量输入,才有高质量输出

人的心智模型依然参与其中,只是从流程中间移到了开头和结尾。你把精力放在前端的任务描述与上下文,以及后端对输出的审查上。因此,优质输入对输出质量至关重要,我也把写好提示词视为批判性思考的一种能力。

过去,如果你提出一个含糊的请求,别人会追问,你可能因此意识到:“等等,其实我还没想清楚。”智能体往往不会在这里拦住你。它会补齐你省略的部分,交回一份看上去已经完成的东西,哪怕背后的想法仍然模糊。我曾把它称为意图债务:那些可能隐含在并非由你亲手编写的产物中的目标、约束与理由。与其他债务不同,没有别人能够替你解决它。意图必须来自你。

提示词反映了你对问题的理解。如果你无法清楚表达,它在你自己脑中可能也并不清楚。

求助之前,先用自己的话写一份需求简述。说明受众、不包含的事项,以及完成的定义。如果第二轮纠正仍然没能得到想要的结果,就停止微调,重新写提示词。

你也可以让智能体帮助你完成这件事。我很喜欢 Andy Clark 对“把任务委托给 AI 系统”与“和它协作”所作的区分。后者会形成相互增强的良性循环:提示词改善输出,输出帮助改进下一次提示词,也让你对问题的心智模型更清晰。如果事情还不明确,就让智能体围绕它不理解的部分采访你。如果会话结束时,你对问题的理解得到了改善,那就是成功的信号。

也要小心输入材料。每个智能体都很容易直接把上一个智能体的总结放进自己的上下文,很快,第三个智能体就已经没有读过原始文档了。

你还需要为输出建立自己的标准。我尝试过用 AI 进行许多不同媒介的创作,但其中大多数从未公开,因为达不到我的标准。现在的内容都能做到排版漂亮、语气自信,因此精致的表面已经不再是有用的质量信号。

AI 或许让生产变快了,但如果我不愿意把成果归到自己名下,就不会将它发布出去。

当某个结果不符合你的标准时,把原因记录到共享配置、钩子或测试里,防止同样的问题再次发生。这就是品味产生复利的方式;而记录某个结果为何没有达标,本身也是很好的练习。

“但模型会比我更擅长这些”

如果你像我身边许多人一样看好这个领域的未来,那么读到前面几个章节时,可能已经在想:再过一两年,模型就能发现我能发现的问题,那我为什么还要维持这项能力?

关于许多问题的检测,你可能是对的,我自己也一直主张把更多检测工作交给智能体。但我认为这项能力依然重要,原因是:到最后,总得有人对交付的结果负责。无论 AI 帮了多少忙,都必须由人承担责任。

对于某项具体任务,应该在多大程度上信任智能体,本身就需要判断。审阅工作是维持准确判断的一部分,因为模型犯错的方式一直在变。Anthropic 针对自家工程师和研究人员的研究,把这个陷阱称为监督悖论:“监督 Claude 所需要的,恰恰是可能因过度使用 AI 而退化的编程技能。”

对我来说,以下问题最重要,而更强的模型也无法替我解决:你正在构建什么?为什么值得做?它会影响谁?你愿意作出什么取舍?这些都需要你来回答。智能体可以帮助你梳理,我也希望它能帮上忙,但最终它们仍然是属于你的问题。

你可以把工作和大量审查交出去,但不能把责任也交出去。

日常实践

你不必一丝不苟地执行所有这些做法,只需要把适合自己的部分融入工作流。

每周一次,不借助智能体写一点代码,或者亲手完成一件如果忘了怎么做就会很糟糕的实际任务。我曾把这称为校准练习,但它不是道德上的自我检验。每月一次,写下自己已经不再做的事情,并决定其中哪些是你可以接受不再亲自做的。

我在一篇旧博客中提出的问题,今天依然成立:如果 AI 不存在,你会有多不知所措?

遇到超出理解范围的东西,就去学习。如果写作时碰到一个没见过的术语,我当然可以搜索一句解释,然后把它写进去。但我更愿意花一点时间研究,真正理解它,这样才能知道它应该放在什么位置。

认真检查机器的工作,本身就是真正的工作。假装这不需要投入,正是团队最终不去做它的原因。它不是免费的,所以应把它作为一项独立任务安排进日程,这样你才会真正完成它。

停止练习的技能会逐渐消失,而且速度可能比你想象的更快。那些你不愿放弃的能力,就继续练习。

值得带走的要点

  • 有意识地行动。智能体可以考你、采访你、向你展示证据,但前提是你事先作出安排。所以,把这些安排好。
  • 诚实面对自己在光谱上的位置。如果连借助智能体都解释不了答案,你就已经放弃判断了。
  • 先有一个假设。提问之前先形成假设,哪怕它并不好。
  • 绿色勾选只说明某一件事。它检查了什么?又没检查什么?
  • 寻找证据。先看它执行了什么、返回了什么,再看总结。
  • 通过阅读了解它作过的决定。它替你决定了什么?
  • 认真打磨提示词。你如何表达请求,体现了你对问题理解到什么程度。
  • 设定标准,并坚持它。如果你不愿在成果上署名,就不要让它发布出去。

亲自运用那些重要的技能,让自己始终参与其中。你可以试试这样做:提问前,写下你认为会发生什么;智能体完成后,再写下它没有检查的一件事。告诉我,这是否改变了你阅读输出的方式。

独立思考。提出更好的问题。对结果负责。

原文链接:Critical thinking when agents do the work — Addy Osmani

继续阅读

为每项任务打造 harness:Claude Code 中的动态工作流

上周,我们在 Claude Code 中发布了动态工作流。现在,Claude 可以随时为自己编写一套智能体运行框架(harness),专门适配手头的任务。 Claude Code 默认的运行框架虽然为编程而设计,但也适用于许多其他任务,因为事实证明,很多任务与编程任务颇为相似。…

如何更有雄心:给使用 AI 模型的人类的一份教程

作者:Felix Rieseberg。本文译自其发表于 2026 年 10 月 13 日的文章。 我参与 Claude 的开发。这是一种很有意思的体验:每天,我都会听说又有人借助 Claude,或由 Claude 本身,完成了一件了不起的事——有些事我从未想过,有些我以为不可能,还有些只是因为…

2 条评论,62 次阅读

  1. 银河诗人2026.11.05

    123

    回复
    1. 银河诗人2026.11.05