当 AI 智能体以远超人类的速度编写代码时,真正限制创造力的,不再只是代码产出能力,而是人类能否建立足够深入的理解、继续参与系统演进。本文围绕「解释、微世界、共享空间」三种方法,讨论如何借助 AI 降低认知债务,让人类不是退出循环,而是更深入地进入循环。

原文:Understanding is the new bottleneck

本文由LobsterAI自动翻译和发布。

Geoffrey Litt|2026 年 7 月

原文:Understanding is the new bottleneck

这是我在 2026 年 7 月的 AI Engineer 大会上所作演讲的文字版,也以推文串的形式分享过。

标题页:理解才是新的瓶颈。Geoffrey Litt,Notion 设计工程师。

一个可能有点逆风的观点:我认为,理解智能体替我们写下的代码,仍然非常重要!

在这次演讲中,我会解释为什么,并展示一些高效理解代码的思路。好,我们直接开始。

一个人被越来越多的智能体生成代码包围。

智能体正在替我们编写越来越多的代码,而我们都知道,想要跟上它们的速度正变得越来越难。

但好消息是:理解代码的方法有很多!逐行阅读 diff 并不是唯一的方法。

列出三种方法的幻灯片:代码讲解文档、测验、微世界。

这次演讲的大部分内容,会介绍一些我在理解智能体所构建系统时觉得很有帮助的方法:

  • 代码讲解文档
  • 检验自己理解程度的测验
  • 可以亲手探索、借此理解系统的「微世界」

但首先,我们得问一个更根本的问题……

为什么要理解?

幻灯片:为什么要理解?

为什么?为什么还要理解?

现在不是应该把自己移出循环,让智能体自己不断循环吗?随着智能体变得越来越聪明,人类还需要深入细节吗?

我认为,许多人——甚至那些支持「理解」的人——对这个问题给出的答案也稍微有点偏差!

幻灯片:为了验证而理解。

一种可能的答案是:我们理解,是为了验证。我们检查智能体的工作,看看它做得对不对。

「正确」可以有很多含义:是否符合规格、架构是否合理……但从根本上说,这只是一个通过或不通过的问题。

智能体越来越擅长验证自身工作的幻灯片。

但问题是:智能体越来越擅长验证自己的工作。这当然是好事!我喜欢智能体少犯错误。

可这样一来,我们人类的位置在哪里?

幻灯片:为了参与而理解。

这就引出了另一个答案:我们理解,是为了参与。

你可以学习智能体正在做什么,以确保自己能积极参与创造过程。下面说说这为什么重要……

一个项目由人与智能体之间许多轮迭代组成。

一个项目绝不只有一轮循环!它包含你与智能体之间许许多多轮循环。

而你对系统的理解程度,会直接影响你能否想出下一步如何推动它演进。

你需要在脑中拥有一套丰富的概念,才能流畅而有创造力地思考怎样把事情继续向前推进。如果缺少这种熟练度,你参与项目的能力就会受到实质性限制。

Margaret Storey 关于认知债务的引语:参与其中的人类可能已经完全搞不清状况了。

顺带一提,这与 Margaret Storey 和 Simon Willison 推广的「认知债务」概念密切相关。

它很像技术债务:短期内,你也许可以在不知道系统究竟如何运作的情况下继续前进,但它迟早会反咬你一口。

如何建立理解?从教育中寻找灵感。

好吧,理解确实重要。

但这又引出了下一个问题:怎么做?当我们与 AI 协作、快速推进时,怎样建立起人类自己的理解?

事实上,这并不是人类第一次思考如何传递理解。我认为,我们可以从教育中寻找灵感。能不能把人类为教育发明过的最佳思想拿来,应用到这个问题上?

方法一:解释

三种方法中,「解释」被突出显示。

今天我想分享三种值得尝试的方法。

第一种:解释。怎样才算好的解释?

一份原始代码 diff。

每当智能体完成一项工作,我们就获得了一次解释的机会——可以生成一份解释性的产物。

最朴素的做法,是阅读代码 diff:查看究竟改了哪些原始内容。

幻灯片:最好的解释应该是什么样?

但如果我们换个问法呢:

最好的解释会是什么样?

假如你拥有一个真正愿意下苦功,把事情向你解释清楚的团队——无论是人类团队还是 AI 团队——那会是怎样的体验?

由 /explain-diff 技能生成的代码讲解文档。

这里有一种答案。我制作了一个名为 /explain-diff 的技能。我每天都在用,许多同事也觉得它很有价值。

它可以把经过精心组织的代码讲解输出为 HTML、Markdown 或 Notion 文档。Notion 很适合团队围绕这些讲解进行协作和讨论。(免责声明:我在 Notion 工作,所以肯定有偏见。)

我们来看一份讲解文档中都包含什么。这里用一个修改电子游戏透视方式的例子。

讲解文档首先介绍游戏引擎的背景知识。

第一条原则:先教我背景知识!

甚至在谈「改了什么」之前,先帮助我理解「原来有什么」。在这个例子里,就是先向我介绍游戏引擎。

讲解文档说明改动目标,并解释等距投影。

第二条原则:先建立直觉,再进入细节。

在展示任何代码之前,文档先说明目标——「用二维绘图技巧让花园呈现三维感」——并解释等距投影之类的相关概念。

这一切都在帮助我建立对改动本质的直觉。它让作为人类的我赶上进度,使我能够以平等参与者的身份理解这项工作。

▶ 查看互动演示视频:拖动花园中的石头,并观察坐标变化

互动演示视频封面:拖动花园中的石头,并观察坐标变化。

你还可以用交互式图示来建立直觉。

这里,我通过拖动花园里的石头、观察它们的坐标如何变化,来理解等距透视。

(这里使用的是 Notion 刚刚推出的新功能:现在可以在页面中嵌入可交互的 HTML。)

原始 diff 与按叙事结构组织的「文学化 diff」对比。

我们终于讲到代码了。但典型的 diff 只是按文件名字母顺序堆在一起的一大摞修改,没有任何解释。

而我所谓的「文学化 diff」,则像文章一样组织内容:按照合理顺序带你走过各项修改,在周围配上解释,并嵌入代码片段。它比原始 diff 审阅起来更快。

咖啡馆桌上的纸质代码讲解材料。

最终,你会得到一份漂亮的讲解材料。我仍然会读代码 diff,但一定先读这份讲解。

有时我会把它打印出来,带到咖啡馆去看——这样不容易分心。

这有一种奇妙的讽刺感:AI 把一项交互式活动,变成了一份让我能够深度专注的静态纸质报告。:)

Andy Matuschak 的观点:「书不起作用」;以及 Quantum Country 截图。

这里只有一个问题:阅读本身是件苦差事 😅

正如 Andy Matuschak 所说:「书不起作用」!人们太容易骗自己,以为自己已经认真读过了,实际上却什么都没记住,也没有真正理解。

怎么解决?我从 Andy 和 Michael Nielsen 在文章中嵌入间隔重复测验的工作中获得了灵感。

▶ 查看互动测验视频

代码讲解文档底部的互动测验视频封面。

现在,我会在代码讲解中做类似的事情。每份讲解文档底部都有一个互动测验——五道关于这次修改的问题——而我会尝试回答它们。

我的规则是:在我通过测验之前,不会把代码发给别人;审阅他人的代码时,我也遵循同样的规则。

测验是 AI 循环中的速度调节器。

测验是一种速度调节器。 与 AI 协作时,整个循环的速度很容易超过人类理解的速度。

测验是一股与之抗衡的力量:我通过一个机械化的问题——「我真的理解了吗?」——来确保自己仍然是创造过程中的完整参与者。

指向 /explain-diff 技能的二维码。

好,这就是 explain-diff。如果你想用,这是技能链接:它有两个版本,可以输出 HTML 或 Notion 页面。

方法二:微世界

介绍「微世界」以及教育家 Seymour Papert。

下一个想法:微世界。它的灵感来自极具远见的教育家 Seymour Papert。

Papert 的「生活在数学王国」理念。

Papert 有一个非常美的想法,他称之为生活在数学王国(Mathland):如果你想学数学,就去数学王国生活——就像你想学法语,就去法国生活一样。我们能不能构建一个环境,让孩子仅仅追随自己的好奇心,就自然而然地学会数学?

那么,该怎样把这个想法应用到代码上?我们能不能创造出一些可供人置身其中的世界,让人自然地直觉感受到系统如何运作、又在怎样发生变化?

▶ 查看 Prolog 解释器交互式调试器视频

Prolog 解释器交互式调试器视频封面:在时间线上拖动,并检查调用栈。

去年,我在编写一个 Prolog 解释器,却很难直觉地理解其内部究竟发生了什么。

我和智能体一起构建了这个调试器。它让我可以逐步查看逻辑语言的执行过程:在时间轴上前后拖动、查看栈里的内容,以及每一步正在求值哪些规则。我甚至可以给自己留下评论,比如「很好,我们正确应用了这条规则」。

让智能体制作一个供我使用的调试工具,与直接让智能体替我调试,有着巨大的区别——正是亲自动手的过程,让我逐渐形成了理解。

▶ 查看网站迁移「指挥中心」视频

逐步迁移网站的控制面板视频封面,旧网站与新网站并排显示。

再举一个例子。我曾经把个人网站从一个框架迁移到另一个框架,Claude 写了一个脚本来完成迁移。但这项工作极难审阅:我不熟悉新框架,最后只能说一句「看起来大概没问题吧」。

于是,我让 Claude 给我做了一个电子游戏——一个由我亲手逐步完成迁移的指挥中心,我可以观察每一步造成的可见效果,以及文件树如何演变。它生成了一套 UI,我可以点击按钮逐步执行迁移,同时让旧网站和新网站并排运行。

在这个指挥中心里,我看着新网站一步步活过来。最终,我获得了近似于手工迁移所能带来的理解——但快得多,因为整个体验都已经替我铺陈好了。

智能体可以编写帮助我们理解代码的代码!

这里的关键在于:智能体可以编写一些代码,来帮助我们人类理解另一些代码。

这件事意义重大!

方法三:共享空间

共享空间:团队共同建立理解。

好,最后一种方法:共享空间。到目前为止,我们讲的都是一个人如何独自理解……但当你在团队中工作时,大家需要共同理解。

共享心智模型让高效沟通成为可能。

当你和另一个人拥有相同的心智模型时,沟通会非常高效。你们拥有一套共享词汇,这些词会在双方脑中唤起相同的画面,于是你们可以即兴碰撞、互相接招,展开有创造力的对话。缺少这些共享结构,沟通就会困难得多。

我对创造共享环境这件事非常兴奋:团队可以在其中共同建立理解。从某种意义上说,这也正是 Notion 一直在做的事。

Claude 和 Cursor 智能体在 Notion 中运行。

最近,我们在 Notion 中发布了大量帮助人类与智能体协作的新功能,让整个团队形成共享理解,而不是每个人都在孤岛里独自工作。

举个很小的例子:现在你可以直接在 Notion 中运行 Claude 和 Cursor 智能体。我如今有很多编程工作就是这样完成的。

当这些智能体在 Notion 中制定技术方案时,默认生成的就是一个可协作页面。我可以立即和团队一起评论、讨论。共同思考,而不是独自思考!

初衷一直都是增强人类

人类理解事物如何运作仍然很重要。

好,来做个总结。今天,我们介绍了一些理解代码的方法……但实际上,我认为这背后是一个大得多的问题。

从更普遍的层面说,人类理解事物如何运作,仍然非常重要!不仅是为了验证,更是为了参与。

毫不意外,这并不是什么新观点。它可以一直追溯到计算机领域最初的源头……

Alan Kay 的愿景:孩子通过游玩和修改交互式模拟来学习物理。

50 年前,Alan Kay 就曾设想:计算机可以成为一种比书更好的新媒介,教人们——尤其是孩子——如何思考这个世界。

在这张图里,你也许会以为这些孩子正在 iPad 上看 YouTube,但并不是。他们正在玩一个交互式游戏,一边玩,一边修改代码,从而更深入地理解物理。这可是 50 年前的设想!!

宇航员梗图:等等,计算机的意义,是创造新的动态模拟,帮助人们理解复杂概念?一直都是。

现在,希望你已经看懂了这个梗图

初衷一直都是增强人类,而不只是自动化。

AI 如今让创造模拟变得如此容易,这件事非常美妙……让 AI 教会我们,是计算技术有史以来开启的最伟大可能性之一。

结束页:我们可以更深入地进入循环。这取决于我们。

这让我对未来极其乐观!

如果我们构建出正确的工具,如今的我们便能以前所未有的深度理解世界。 我们不必只是把自己移出循环,也可以更深入地进入循环。选择权在我们手中。

延伸阅读

如果你喜欢这次演讲,也许会喜欢我写过的这些关于人类与 AI 协作的文章: