掌控外层循环

---
title: "掌控外层循环"
author: "Addy Osmani (@addyosmani)"
source_url: "https://x.com/addyosmani/status/2074927530482835916"
published_at: "2026-07-08T18:44:08.000Z"
fetched_at: "2026-07-09T14:44:29Z"
updated_at: "2026-07-09T14:50:14Z"
language: "zh"
review_status: "draft"
---

![](https://pbs.twimg.com/media/HMuekBjakAAPT-1.jpg)

# 掌控外层循环

过去一年,围绕 **agentic engineering(agent 工程)** 的讨论已经转向 **harness** 和[**循环**](https://x.com/addyosmani/article/2064127981161959567?lang=en)、**舰队**和**软件工厂**。我的两分钱看法是,工程师需要**掌控外层循环**——也就是对这些系统承担**问责责任**。随着 Fable 和 GPT-5.6 这样强大的模型可用,这一点只会越来越成立。

![](https://pbs.twimg.com/media/HMq_hxTbwAEfRBE.jpg)

Agent 带来杠杆,而杠杆会产生义务。**必须有人能够准确解释:到底改了什么、为什么它是安全的、如果判断错了会发生什么。**否则,它们的行动就无法被正当化。这样一来,组织一开始就不太可能愿意使用它们。

所以我想谈三个词。第一个是 **Quality(质量)**,指的是我们在放手让系统运行之前安装的所有检查。这些检查会产生证据,而我们从这些证据中得出 Verdict(裁决)。

第二个是 **Verdict(裁决)**,指的是工作进入我们的下游系统之前,我们做出的最终决定:我是这份内容的制作负责人。我管理这个团队,他们的工作会以我的名义发布。模型可以写出那一行,但 Verdict 是我的。没有我的决定,我团队的工作不会进入我们的下游系统。Verdict 是生产决策:我们应该发布、拦截、重定向、缩小响应范围、增加护栏,还是直接拒绝?

第三个是 **Answerability(可交代性)**,指的是这样一种保证:如果有人问起,我能解释为什么。

换一种说法:我们的 agent(我把它定义为模型,加上一套由文件、工具、记忆、skills、沙箱、权限、可观测性和恢复机制组成的 harness)运行着我们的循环(我把它定义为调查、实现、验证,然后重复)。它也正是创建软件工厂的东西。

![](https://pbs.twimg.com/media/HMq4xV6a4AAMI-S.png)

![](https://pbs.twimg.com/media/HMq42pZaYAAZzkR.jpg)

![](https://pbs.twimg.com/media/HMq4_KibcAAozui.jpg)

而**这座工厂的核心,是系统内部与系统外部之间一条谨慎划定的边界**。系统内部:我们收集输入(来自产品团队的意图、对已经发布工作的了解、对近期事故的了解,或者来自用户的具体反馈)。Agent 循环会调查任务、实施计划并验证结果。然后,证据穿过这条边界。一个拥有下游系统的人类看到证据,并决定是否继续推进。

![](https://pbs.twimg.com/media/HMq5OmmaUAA_frH.png)

朋友们,这就是我们想推动的转变。以前,我们的 agent 做的是执行循环里的内层循环。现在,它们运行的是内层执行循环。**工程师掌控外层循环。**

![](https://pbs.twimg.com/media/HMq5T-3agAAzrYn.png)

在系统内部,我们的 agent 真正在做的只有一类事情:能力。调查任务、实施计划、测试结果并汇报回来,这些能力属于模型。而且正如我们已经说过的,那个未来已经到来。

**在系统外部,也只有一类事情:agency(能动性)。也就是决定、验证、批准和负责的能力。**

你看,我们谈的仍然是代码。只是代码需要落在一个地方,并由知道自己在做什么的人来执行。

AI 代码的潜力已经不再是边缘现象。在 Sonar 2026 调查中,我们询问团队的提交中有多大比例是 AI 辅助完成的。比例不大,但并非微不足道。而且有几位受访者表示,他们预计 AI 辅助提交的占比会大幅增长。[Sonar 的 2026 State of Code 报告](https://www.sonarsource.com/state-of-code-developer-survey-report.pdf)发现,已提交代码中有 42% 是 AI 生成或由 AI 显著辅助完成的,而且大家预期这个比例还会继续增长,而不是趋于平稳。

![](https://pbs.twimg.com/media/HMq5rPdbAAATkj8.jpg)

换句话说,创造正在变得更便宜。更稀缺的资源是代码审查、验证、理解和维护。

我们让生成速度提升得比控制速度更快。因此,我们有了信任—验证之间的缺口。很多和我们交流的人,仍然在不同程度上表达出对 AI 代码的不信任。但其中更少的人,似乎会持续把这种不信任落实到自己的验证流程里。

![](https://pbs.twimg.com/media/HMq6GKxbIAA8xkp.jpg)

这是一种危险的处境。我们需要更便宜、更清晰的方式来验证 AI 代码是否可信。

如果你看 GitLab 2026 年 6 月的报告,会发现治理问题已经发生了转移。[GitLab 2026 年 6 月的 AI accountability 研究](https://ir.gitlab.com/news/news-details/2026/GitLab-Research-Reveals-Organizations-Are-Generating-AI-Code-Faster-Than-They-Can-Control-It/default.aspx)显示,在使用 AI 时,代码审查和验证是当前瓶颈;更令人担忧的是,治理通常发生在代码创建之后,也就是我们已经接受风险、失去对所有权控制之后。今天,问题不只是控制。问题是我们要给系统设定什么约束。问题是我们将如何用证据检查工作,以及如何让团队承担责任。问题是谁将拥有 AI 生命周期的哪一部分。

![](https://pbs.twimg.com/media/HMq6Vj8bcAA0iII.jpg)

所以,这个系列里的最后一个区分,是过程与质量。Quality 是 back pressure(反压)的概念。我们是按字面意思说的。**我们并不想给 agent 尽可能多的自主性。**我们想给它们刚刚足够的自主性,让我们有足够的 back pressure 去停住它们、调节它们、检查它们的工作,并确保我们的人类判断仍然在场。

普通工程会撑起很多信号,用来表明正在做的工作走在正确方向上。类型检查、测试、hooks、沙箱限制、审计日志、监控。我们的工程系统里充满了这类信号,它们的设计目的就是提供足够的 back pressure,让系统保持诚实。

因此,只要我们的 agent 也在发出这些同样的信号,我们就可以相信普通工程系统会提供适当的 back pressure。

**信任我们的系统,并不意味着我们不想让人参与循环。**它只意味着,人不需要待在内层循环里。**我们希望他们待在约束循环里**(我们应该设定哪些输入、架构、指令或不变量?)、**抽样循环里**(我们应该抽样并审查多少输出?)、**审计循环里**(我们应该保留什么证据,又如何确保审计日志有效?)、**以及所有权循环里**(我们应该拥有生产边界的哪一部分)。

但人不需要待在内层循环里。

Agent 能交付的东西,会多过你能审查的东西。

![](https://pbs.twimg.com/media/HMq6c08b0AA2iW4.jpg)

而稀缺资源,是你自己的核心人类判断——由日志或测试这样的质量信号提供信息支撑。

AI 2026 年 6 月报告显示,在实验环境中,沿着小时级时间跨度进行 agentic delegation,本质上已经到来。[OpenAI 今年关于 agents 与未来工作的研究](https://openai.com/index/how-agents-are-transforming-work/)为这些想法提供了很好的来源。所以,当我们的系统开始交付超过我们能够审查的东西时,我们需要开始思考如何建立这条所有权边界。

![](https://pbs.twimg.com/media/HMq6ilnbMAARAxV.jpg)

这就是 answerability 登场的地方。

因为面对长时间跨度的 agent,小时级时间跨度里做出的决定就是决定本身。并不是所有决定都会被记录下来。你不可能把它们全部追溯回输入 token。如果你只是相信自己拿到的输出就是当前问题的正确选择,那么你为了重建通向这个输出的决策链而需要投入的成百上千个人类工时,会变得不可能承担。所以再说一次,**answerability 必须成为系统设计的核心**。

### 三种隐性成本

这里有三种隐性成本:

**认知投降 ~ 盲目接受 AI 给你的东西。**当你把工作委派给 agent 时,这项工作本身看起来可能像是 agent 的工作。但它实际上是你的工作。是你的声誉。是你的责任。承受输出缺陷的是你的软件。需要为了反映这个输出而被修改的,也是你的软件。所以 agent 的输出会变成你的答案。而随之而来的,是全部问责责任。[Wharton 的这项研究](https://executiveeducation.wharton.upenn.edu/thought-leadership/wharton-at-work/2026/05/thinking-fast-slow-and-artificially/)把这些现象放在一起看:当 AI 是对的,它让人安心;但当它错了,消息就不太妙了。当 AI 错误时,将近四分之三的人还是接受了它,而且比没有 AI 时更有信心。

![](https://pbs.twimg.com/media/HMq65BEaAAAxbFh.jpg)

**认知债务 ~ 你对如何解决问题的理解和记忆被侵蚀。**当你把工作委派给 agent 时,你是在把所有思考工作都外包给 agent。自己把事情想透需要时间和精力,而在一个庞大的代码库里把事情想透,则需要一些资源;当你还在努力越过上手曲线时,这些资源并不存在。所以你得到的输出,往往是你自己做不出来的。Agentic planning 的时间跨度越长,agent 产出的代码与你对它的理解之间的差距就越大。差距会复利增长。债务会不断累积。爬过上手曲线的成本会近乎指数级上升。Anthropic 有一项[随机对照试验](https://www.anthropic.com/research/AI-assistance-coding-skills),研究依赖 AI 写代码的工程师,是否和自己写代码的工程师一样理解代码。结论很悲观:在理解测验中,通过 AI 完成工作的工程师比没有使用 AI 的工程师低了 17 个百分点,50% 对 67%。

![](https://pbs.twimg.com/media/HMq68fJasAAvCjy.jpg)

然后是 **orchestration tax(编排税)~ 现在很容易拉起很多 agent,但你的认知带宽不会以同样方式并行化。**把你的 agent 从最糟糕的行为旁边拉开,对 agent 产出的工作进行分拣,找出哪些需要你关注,引导它先专注于你关心的工作,在放手让它运行之前验证你最重要的约束和最危险的假设……

所有这些都需要工作,而且无法自动化。

人类判断没有替代品。

![](https://pbs.twimg.com/media/HMq7BDoakAASBp_.png)

Brownfield(存量)系统在这里尤其危险,因为你必须审计的系统行为并不存在于代码里。它存在于伤疤里。

怎么修?让注意力成为你做架构决策时的优先事项。用 worktree、scope 和证据,降低初始计划与从中涌现出来的工作之间的耦合。为解决不可行动步骤的 effort 设定时间盒。并且让软件里的变更严格成为一种 opt-in 权限。

**Alpha、decay 和 taste:这三种核心模式塑造了各个领域里的职业路径和表现。**

![](https://pbs.twimg.com/media/HMq7g7yaUAAZ54U.png)

Alpha 是竞争中最高成就者拿到的领先部分,也就是当你打出最高价值那一步时得到的领先。Decay 是每个人通过重复和观察他人学会的既有模式(你也可以叫它平台期)。Taste 是我们最早感知 alpha 中领先,或 decay 中变化的能力。它是我们在还没有任何证据表明事情正在发生之前,对即将到来的东西做出的判断。[Paul Graham 的观点](https://paulgraham.com/taste.html)是:当任何人都能做出任何东西时,选择做什么会变得更重要;而 Mitchell Hashimoto 给出的定义更具操作性:在还不存在客观指标的地方,做出高质量的定性判断。从现在开始,taste 会驱动一切:alpha 的迁移就是 taste 的变化。decay 会淡出,是因为我们开始品出不同的东西。

![](https://pbs.twimg.com/media/HMq7nfraIAAZ7x9.png)

下一步?把你的 taste 操作化。怎么做?给它起一个名字,反映你正试图把什么东西从本能层面移动到有意识层面。在批评和例子中练习它。把它背后的理由明确写出来。

![](https://pbs.twimg.com/media/HMq7txbbsAA5R4J.jpg)

继续做那件能在你的行业里带来最持久竞争优势的事。那是什么?不断把边界从单纯执行任务,向上移动到教会任务、系统化任务、决定何时应该做这件事,并拥有结果。

![](https://pbs.twimg.com/media/HMq7w_6bMAAg9XK.jpg)

人人都是 developer,但不是人人都是 engineer。当一个 developer 接受一种更严格的工作纪律时,就会变成 engineer:彻底且逻辑严密的推理、对约束和权衡的考虑、对风险和暴露面的识别,以及实际的问责责任。

![](https://pbs.twimg.com/media/HMq71a4bUAA1DSR.png)

未来,人们会离开工程中的行政性工作,并拥抱随着工程变得更苛刻而出现的新角色。这些角色会从工艺精神中拆分出来,但会清楚说明每个人做什么。会有人负责原型。有人负责构建。有人负责清扫。有人负责增长。有人负责维护。

![](https://pbs.twimg.com/media/HMq77PZaUAA2WCG.png)

人类也从另一个方向守住系统的边界。在另一个方向上增加 alpha:选择什么值得做,定义它应该在什么约束内完成,决定证据是否足以继续推进,并照看结果。无论是一个团队还是一百个团队,这都是只有人类才能守住的边界。

**问责责任会让工厂规模化。**像注意力和 taste 一样,问责责任也是让一切运转起来的三组对偶之一。**没有问责责任,就没有规则。**没有对质疑者的周旋。没有权衡。没有风险。没有安全网。如果没人拥有一个决定的后果,那么高 agency 只会带来混乱。

![](https://pbs.twimg.com/media/HMq8LaOaUAAXH0t.jpg)

优势的半衰期是一轮发布,但签名的半衰期是一整个职业生涯。签名就是你的名字落在这项工作上,以至于你觉得自己可以为已经发布的东西背书。Skills 给你杠杆;问责责任把杠杆变成信任。

![](https://pbs.twimg.com/media/HMq8PHJb0AA66AR.png)

只有人能选择。只有人会继承后果。Agent 可以被要求在策略之内安全地选择、路由、合并和升级,但它们无法继承后果。

![](https://pbs.twimg.com/media/HMq8iPia4AASB71.jpg)

也许每个代码库都应该带有某种 accountability contract,明确说明变更被接受时已经理解的 checklist、进入决策的证据、谁对这次变更负责,以及变更被拦截后的系统状态。就像:

- 你的 attention 和 taste
- 你的 evidence、verdict 和 ownership
- 你的 alpha、decay 和 taste

### 高能动性(High agency)

在典型的 agentic workflow 中,**high agency 是一门知道何时委派、何时检查、何时停止、何时拥有流程结果的艺术**。Agency 阶梯从低到高依次是:标记一个潜在问题、调查它、针对它执行、诊断它、提出解决方案、建议修复方式,并解决这个问题。Agency 阶梯上的高位,是辨别力:找到了,但不值得修,继续前进。

![](https://pbs.twimg.com/media/HMq8nRhbEAAvCQ0.jpg)

### 支撑软件工厂的十二根支柱

Brownfield(存量)是希望规模化的工厂所面对的前沿。所有那些聪明的小创新现在可能还不太起眼,但生产环境本身很庞大。当你构建一个全新系统时,规划并实现足够的 back pressure 机制要容易得多,因为你拥有完全控制权。然而,当你把智能 agent 加进一个遗留系统时,那就是另一回事了。

遗留系统包含整个生产行为、客户未来的期待、迁移历史、发布和预算周期的长度、未说出口的假设、边界情况、数据怪异之处、runbook 程序,以及那些在没人有意愿照看系统时累积下来的所有伤疤。

要成为 brownfield 的守护者,需要一种持久的工程能力。必须有人把隐性知识变成显性约束,让它在团队之间、世代之间保持一致,把这些知识形式化为测试流程和功能规格,并把这些知识绑定到客观证据上。同时,还要把失败一点点拧成更多学习。因为如果系统得不到它一直以来所得到的照看,一切都会崩塌。

### 新工作是真工作

**随着规模扩大,工作会变得更有意思。因为当其他东西都已经建好,人们就会想要建造新东西。**他们会想用自己通过手艺发展出的 alpha 和 taste,设计可以嫁接到软件工厂上的新循环。或者他们会想构建 greenfield(新建)系统,把软件工厂的所有知识用于一次优雅、善意、有原则的努力。他们会想设计和实现新的证据形式,让这些证据达到新系统所需的验证级别。他们会想照看那些复杂到需要专门关注的 brownfield 系统。他们会想设计和管理新的 back-pressure 机制。他们会想设计新的 agent。他们会想构建 agency。

![](https://pbs.twimg.com/media/HMq-Hbya4AAcZoM.png)

而在他们这么做时,他们会开始看到,这一切都是真正的工作。这是一件好事。

自动化会制造瓶颈。生产中的瓶颈,值得有人承担。因为自动化让我们能够控制工业规模。但工业规模本身也会带来新的瓶颈。**瓶颈会从“我们能不能构建这个?”转移到“它是否应该存在,我们能否为它作出交代?”**

我提出的是一种用于规模化 agentic engineering 的实用运行模型。这里有内层循环和外层循环。内层循环是完成工作的地方。循环被设计成尽可能独立。**把所有质量保证和验证都放进循环内部。一旦你设计并验证了循环本身,剩下唯一要做的,就是通过设置一种 back-pressure 机制来授予自主性;这个机制会控制循环运行的频率及其操作范围。然后把人放到他们应有的位置上,负责正确的决定。**不要把理解当成一次 hand-off 或发布闸门,而要把它当成一个决策点,在那里人已经准备好提供自己的洞察。然后,对于每一个存在并被反馈进生产、反馈给新团队和工程师的产物,都留下更好的产物。

**建造工厂;让系统持续运转;让工作清晰可读、可验证、有人负责。**

Agent 可以写出它。但在它到达用户之前,必须有人解释它为什么应该存在,为什么它足够安全、可以进入生产,以及当它出错时他们会怎么做。

这就是外层循环中的 agentic engineering——这就是现在的工作。

*Pangram 将本文评为 100% 人类写作:* https://www.pangram.com/history/ae6caccc-b70f-4336-a019-5c3411516871