这篇文章是 AI 编程注意力系列的第二篇。
在上篇文章中,我们讲到,现在的 AI 编程产品,虽然支持了多任务管理的能力,但是任务间的不断切换,正在粉碎我们的注意力。
说到注意力这个词,我很喜欢 Sam Schillace(微软副 CTO)的一句话:
AI attention scales. Human attention doesn’t.
只要你愿意花钱,AI 的产出几乎可以无限量增长。但你的注意力是有限的,甚至在同一时刻,你只能注意一件事情。
所以我准备把「注意力」系列继续写下去。注意力应当成为 AI 编程中最重点考虑的资源,你需要呵护自己的注意力,并提升自己单位注意力的产出。
Loop Engineering, Prompt 与注意力
前一阵子大火的 Loop Engineering 概念,虽然有些故弄玄虚,但是其中提到的一点思路很好:你不要每个任务都亲自写 Prompt,而是应该尽量让任务自己触发,或者让 AI 自己写 Prompt。例如:
- 设置定时任务,让 AI 每天执行重复的任务
- 搭建特定情况下触发的工作流,比如收到邮件后自动撰写回复
- 使用 Claude Code 的 Workflow 这样的能力,让 AI 自己启动更多 Agent,并给每个 Agent 写 Prompt
Loop Engineering 的出发点在于用更大的杠杆去撬动 AI 的产出——相信 Agent 的能力,让 AI 自动执行任务,从而放大整体的产出效率。
不过我从反面的视角来看待,Loop Engineering 其实是让人写更少的 Prompt,从而保护人的注意力。
在使用 AI 编程的过程中,我逐渐发现,我一天能写的 Prompt 数量是有限的。Prompt 数量,就代表了我的注意力资源。
在 Cursor 1.0 时代,同一时间只会开一个任务的情况下,我一天可能只会写几十个 Prompt。但是现在,当我经常开启多任务时,一天写上百个 Prompt 完全是有可能的。当我写的 Prompt 数量多到一定程度时,我就会觉得写不动,有一种力竭的感觉。哪怕是一些非常简单的 Prompt 也是如此。
从手动 Prompt 到自动 Prompt
我遇到的一个最典型的「Prompt 力竭」的例子,是 AI 代码评审。
相信现在大部分人都已经让 AI 来评审代码。我当时让 Codex Reviewer 来评审我在 GitHub 上的 PR。Codex Reviewer 有一个比较烦人的点,它一次只会给出一两条评审意见,但是当我改完这两个评审意见,它又会在第二轮给出另外两条。当时我做了一个比较复杂的项目,这样的评审修改来回的十几轮。
在这个过程中,每一轮修复我都要至少消耗掉 3 个 Prompt(一次查看评审意见是什么,一次决定是否要修复,一次修复完之后更新 PR)。来回十几轮,那么大几十次的 Prompt 就砸进去了。
既然 Prompt 代表着注意力资源,这便意味着我在一个 PR 上就花费了巨量的注意力资源。在这种情况下,我便很难去把另外的任务做好。
为了解决 PR 评审消耗注意力太多的问题,我们团队搭建了一个自动修复评审问题的框架。当时还没有 Loop Engineering 的概念,但我们在做的实际上就是「自动 Prompt」。
我们做的框架,会自动监听 PR 的评审意见,出现评审意见时,便启动一个本地 Agent CLI,自动 Prompt 它修复问题,修复完之后更新 PR,并且关闭这些问题。如果有新一轮的评审意见出现,它又会重新开始工作,直到整个评审完成。
整个过程是全自动的,我不需要进行任何的干预。这让我的 PR 评审工作变得异常轻松,我只需要打开 PR,然后等待一段时间,等待所有的评审意见自动修复完成。
在这段时间里,我不需要写一行 Prompt,也不需要关注具体的评审意见是什么。这代表着我可以完全把它抛在脑后,投入到其他的任务中。
减少对于注意力的消耗
在这个例子中,即使是「修复问题」「更新 PR」这样简单的 Prompt,也是对于注意力的消耗。因为我需要把注意力切换过来,没切换一次注意力,其实都是一种消耗。
这便是我认为 Loop Engineering 思想最有价值的一点:尝试让任务自动触发、自动完成,把 Prompt 次数减少到 0。
既然注意力是 AI 编程中最重要的资源,我们就需要把资源用在刀刃上。把简单的任务、重复的 Prompt 委托出去,自动执行,把节省下来的精力用到真正的关键决策和关键 Prompt 上。
如果你也为自己的注意力资源不断被消耗而烦恼,不妨去了解和借鉴一下 Loop Engineering 的思路,优化自己的工作流程。
如果你想了解我们团队的自动 PR 修复是如何实现的,可以看这个开源项目 Looper:
https://github.com/nexu-io/looper
它其中实现了 Reviewer 和 Fixer,一个负责评审 PR,一个负责修复 PR 中的评审意见,这两个可以成对使用,都是 0 Prompt 即可自动执行。
你也可以把同样的思路扩展到更多的任务流程中。希望你能用更少的 Prompt 完成更多的任务。