跳到主要内容

认知负载倒置:为什么 AI 建议让你感觉有帮助却精疲力竭

· 阅读需 10 分钟
Tian Pan
Software Engineer

AI 生产力研究中有一个几乎无人提及的数字:39 个百分点。一项针对有经验开发者的研究中,参与者预测 AI 工具会让他们快 24%。完成任务后,他们仍然认为自己快了 20%。实际测量结果:他们慢了 19%。感知差距是 39 个百分点——而且每次迭代、每次代码审查、每个交付的功能都在累积。

这就是认知负载倒置。AI 工具擅长卸载廉价的认知工作——编写语法正确的代码、起草模板、建议函数名——同时产生了一类更难的认知工作:对不确定输出的持续评估。你并没有消除认知努力,而是将简单的一半自动化了,然后把困难的一半留给了自己。

"大脑过载"究竟是什么

研究人员最近将开发者描述了两年的一种状态正式化:持续 AI 辅助工作带来的认知疲惫。其底层机制是结构性的,而非偶然的。

当 AI 建议到达时,它会创造一个强制性的审查时刻。你可以接受或拒绝,但在不违背使用工具前提的情况下,你无法忽略它。每条建议都是一个微任务。单独来看,每个微任务都是微不足道的。但以现代编程助手生成建议的速度——每小时数十条——这些微任务变成了叠加在主要工作之上的持续中断流。

问题不在于建议本身,而在于中断节奏与验证的不对称认知成本的结合。有经验的开发者可以在部分心流状态下编写代码,依靠肌肉记忆和模式识别。审查 AI 输出需要不同的模式:刻意的、怀疑的、注意力密集的。这个工具隐性地要求你每 30 到 90 秒切换一次认知模式。

这种碎片化攻击尤为有害,因为重新进入心流状态代价高昂。保守估计重新进入时间为 15 到 20 分钟。激进的中断计划不会造成 15 分钟的损失——它们会彻底阻止心流状态的形成。

验证瓶颈

真正的生产力故事不在于生成速度,而在于工作转移到了哪里。

采用高 AI 编码的团队合并的拉取请求多 98%——但在代码审查上花费的时间多 91%。拉取请求大小增加 154%,而审查吞吐量下降。算术很简单:你大幅增加了需要审查的代码量,同时将其生产分散到人机配对中,而不是集中在深刻理解自己所写内容的工程师身上。

一个令人不安的事实使问题更加复杂:AI 生成的代码比人类编写的代码更难审查,而不是更容易。表面上它干净、符合惯用法、注释完善。错误埋得更深。人类编写的函数可能有明显的变量命名不一致,暗示"仔细看这里";而 AI 输出表面上均匀精良,以一种压制该信号的方式。审查者必须对每个函数深入检查,而不是浅尝即止。

Sonar 的调查直接捕获了由此产生的认知失调:

  • 96% 的开发者不完全信任 AI 生成的代码
  • 48% 在没有验证的情况下提交它
  • 38% 表示审查 AI 代码比审查人类编写的代码花费更长时间
  • 59% 将他们的验证工作评为中等到大量

这不是漠不关心,而是过载。当每个拉取请求都包含 AI 生成的部分,而你的审查队列增长了 98% 时,对每个部分保持深度审查在认知上是不可能的。开发者不是选择跳过验证,而是在压力下做出分诊决策,而 AI 代码在视觉上与值得较少审查的代码没有区别。

建议层的决策疲劳

代码审查是可见的瓶颈。决策疲劳在更上游积累,在建议交付的那一刻。

每条内联建议呈现一个二元选择:接受或忽略。接受有下游验证成本。忽略有可能做出错误判断的风险。两种选择都没有自然的认知锚点。好的代码审查积累了规范——命名约定、测试覆盖要求、架构模式——让有经验的审查者能够快速形成判断。内联 AI 建议先于这些规范。你在实时评估半成品想法,没有建立什么使建议值得接受的标准。

学术评审 AI 辅助同行评审的研究发现,AI 辅助评审将论文接受率提高了 3.1 个百分点,对于边界提交上升至 4.9 个点。AI 辅助评审在 53.4% 的比较中得分优于人类评审。这不是成功的故事,而是揭示了当评估者在认知负载下运作时,他们会默认接受看起来最自信和连贯的输入——而 AI 输出经过校准看起来两者兼具。

同样的动态在代码审查中上演。一个表述良好的 AI 生成函数通过审查,不是因为它正确,而是因为审查者的决策疲劳默认接受看起来自信的输出。生产事故随之而来。

多任务陷阱

AI 工作流有一个从业者低估的特定架构特征:延迟引发的上下文切换。

低于 500ms 延迟的内联建议会干扰心流状态。但异步操作——Claude API 调用、后台代理任务、多步推理——会引入 10 到 30 秒的间隔。开发者用切换到另一个任务来填补这些间隔。这种行为是理性的:闲置 20 秒显然是浪费的。但这种切换的认知成本不是 20 秒,而是原始任务和辅助任务的完整重新进入成本,加上同时跟踪两个部分任务状态的工作记忆开销。

"大脑过载"与 AI 使用本身的相关性不如在处理延迟期间跨多个 AI 辅助项目的持续多任务处理强。工具鼓励你并行化注意力,而你的注意力并非为此而设计。

减少税收的设计模式

这些都不是 AI 辅助固有的问题,而是在不考虑认知架构的情况下做出的设计选择的产物。

带置信度阈值的建议门控。 大多数 AI 编码工具在最低概率阈值以上显示每条建议。这对认知人体工程学来说是错误的。相关问题不是"这条建议是否合理",而是"显示这条建议是否减少了净认知努力"。55% 置信度的建议提供边际价值,同时需要付出完整的审查微任务成本。将阈值调整到 70-80% 并过滤长尾,在对实际生产力影响最小的情况下将误报审查负担减少 30-40%。

异步与内联分离。 内联和异步交付不是仅在延迟上有所不同的可互换模式,它们需要不同的认知姿态。低延迟内联交付可以为简单的自动补全维持心流。复杂任务的异步交付允许在返回全面评估建议之前进行专注执行。最坏的结果是高延迟内联交付——建议打断了你,但又不够快以保持心流。为每种任务类型选择一种模式并坚持。

建议量作为旋钮,而非开关。 部署 AI 辅助最常见的错误是将其视为二元:开或关。关于分散的、增量 AI 辅助与完整分类自动化的研究显示出一致的模式。跨许多任务的小型、分散建议产生最差结果——完整的认知负载加上协调开销,但没有释放高阶思维的能力。完全自动化一个任务类别——完整处理而不中断——产生最佳结果,因为它创造了真正的认知空间。如果你不能完全自动化一个类别,请仔细考虑部分建议是否在增加净价值还是只是增加审查工作。

不确定性呈现,而非不确定性隐藏。 信任-行动差距(96% 不信任,48% 验证)部分存在是因为 AI 输出在视觉上不传达其置信度分布。在拉取请求中,94% 置信度生成的函数和 61% 置信度生成的函数看起来相同。明确的不确定性标记——视觉区分、置信度注释、覆盖率指示器——允许审查者按比例分配注意力。这反直觉地减少了总审查工作:高置信度部分得到较轻审查,低置信度部分得到适当深度。

有意的异步模式。 对于有意义延迟的操作,设计非中断交付。批量建议并在自然断点处交付——当开发者完成函数、完成测试或停顿思考时。这将多任务陷阱转变为结构化审查周期。开发者在当前任务上保持心流;AI 的输出在注意力可用时到达,而不是在推理完成时。

非关键路径的选择性呈现。 文档辅助、注释生成和测试脚手架很有价值,但不紧急。将这些默认为选择加入而非选择退出,减少后台认知噪音,同时不消除能力。认知负载高的开发者倾向于不看到这些建议;当注意力可用时,他们可以主动请求它们。

将工具校准到工作

并非所有 AI 辅助都产生相同的认知负载。倒置问题对以下任务最为严重:

  • 输出需要深度领域验证(安全敏感代码、数据转换、API 契约)
  • 建议延迟足够高以引发上下文切换,但又不够高以证明其合理性
  • 建议以高频率、低置信度方差到达
  • 开发者处于复杂推理阶段而非实现阶段

倒置最不严重的情况:

  • 高置信度、低风险补全(模板、测试数据、配置)
  • 开发者主要工作现在是审查而非生成的任务(遗留代码库文档、技术债务重构)
  • AI 完全端到端拥有一个类别的用例(从模式生成类型、起草提交消息)

设计含义是一种配置不适合所有开发者或所有任务。无论开发者状态、任务复杂性或工作流阶段如何,都呈现相同数量和类型建议的工具正在解决错误的目标。目标不是最大建议数量,而是每单位交付价值的最小净认知努力。

实际要点

39 点感知差距很重要,因为它隐藏了问题。使用 AI 工具的开发者相信自己更快。测量结果更慢。他们也感到更精疲力竭,在持续负载下做出更多分诊错误,并产生团队更难审查的代码。只要 AI 工具的主观体验感觉富有成效,认知成本对经历它的人来说就仍然是不可见的。

修复这个问题需要将认知负载作为一等设计约束,而非事后考虑。这意味着通过置信度门控建议,分离异步和内联交付,完全自动化任务类别或根本不自动化,明确呈现不确定性,以及围绕开发者注意力而非推理完成设计到达时机。

这样做的 AI 工具感觉工作量更少,而不是更多。这是正确的目标。当前状态——工具感觉有帮助,同时产生可测量的减速和审查负担——是校准失败,而非 AI 辅助的固有属性。

References:Let's stay in touch and Follow me for more thoughts and updates