乐于分享
好东西不私藏

AI Agent 工程四年演进:从 Prompt 到 Loop,工程严谨性一直在,只是往上挪了一层

AI Agent 工程四年演进:从 Prompt 到 Loop,工程严谨性一直在,只是往上挪了一层
2026 年 6 月第二周,一个词席卷了开发者社区:Loop Engineering

Peter Steinberger 发了一条推——"stop making prompts, start designing loops"——650 万次浏览。Google 工程总监 Addy Osmani 当天跟进长文:「Loop engineering 就是在取代你自己作为那个给 Agent 发 Prompt 的人。你设计系统,系统替你发。」

但 Loop Engineering 不是凭空冒出来的。它是四年演进的最外层。

四层叠代,不是替代

每 18 个月左右,AI 工程的"重心"往上挪一层。旧层没有被消灭——它变成了新层的子模块。

Prompt Engineering(2022-2024)

"我该说什么?"

这是最早的技能:学会把需求翻译成模型能理解的指令。少样本示例、思维链、角色设定——这些技法让你在单次对话里拿到更好的回答。

Prompt Engineering 的核心假设是:指令的质量决定输出的质量。在那个模型能力不稳定的阶段,这个假设基本成立。

Context Engineering(2024-2025)

"我该喂什么信息?"

很快,实践者发现了一件事:Prompt 本身不是瓶颈。瓶颈是模型在推理时能看到什么

对话历史、检索到的文档片段、工具调用的返回结果、当前项目文件——这些信息的组合方式,比 Prompt 的措辞影响更大。

2025 年 6 月,Shopify 的 Tobi Lütke 下了定义:提供让任务"可被模型合理解决"所需的全部上下文。Andrej Karpathy 接着把它描述为"往上下文窗口里填恰好正确的信息的精妙艺术"。9 月,Anthropic 正式发布了《Effective Context Engineering for AI Agents》,称之为"Prompt Engineering 的自然演进"。

Prompt Engineering 没死——它变成了 Context Engineering 的子集。

Harness Engineering(2025-2026)

"我该建什么系统?"

当 Agent 不只是回答问题,而是开始在真实项目里自主操作——读文件、跑命令、改代码、调 API——一个新的问题出现了:你管得住它吗?

2026 年 2 月,Mitchell Hashimoto(Terraform/Ghostty 作者)给了这个问题一个名字:Harness Engineering

Harness 是 Agent 运行的全部环境:它遵循的规则文件(AGENTS.md / CLAUDE.md)、它必须通过的验证(evals / lint / test suite)、它的工具白名单、它的反馈回路。Martin Fowler 通过 Thoughtworks 工程师 Birgitta Böckeler 引入了 guides-and-sensors 分类法——guides 是前馈控制(约束 Agent 在行动前),sensors 是反馈控制(观察和验证 Agent 的行为后)。

OpenAI 同年公开了他们内部 Agent 基础设施的实践。Anthropic 的 Boris Cherny 框架里,人在 spec 定义和结果验收两层,中间的全部迭代由 Agent 自己完成。

Context Engineering 变成 Harness 的子集。Prompt 变成子子集。

Loop Engineering(2026 年 6 月)

"什么循环能让它自己跑到目标,并且知道什么时候停下来?"

Steinberger 那条推文不是发明了一个新概念——是把已经发生的事给了一个名字。

Loop Engineering 问的不是"Agent 需要什么环境"(那是 Harness 的活),也不是"Agent 应该看到什么信息"(那是 Context 的活)。它问的是:"Agent 跑起来之后,循环长什么样?什么时候继续、什么时候重试、什么时候停?"

核心循环:

Act → Evaluate → Decide → Act → ... ↑ | └── 成功:停 / 失败:重试或升级 ──┘

每一环需要四个要素:

1. 触发(Trigger) — 谁或什么启动这个循环?Cron 定时器?Webhook?Git commit?/loop 命令?

2. 验证(Verification) — Agent 怎么知道自己做对了?Simon Willison 说的最简洁:「一个编程 Agent 的价值,被一套干净通过的测试集放大了一个数量级。」Anthropic 内部的长运行 Agent 用一份 200+ 条 JSON 功能清单,每条标记 passes: false,Agent 必须证明每条都通过才能标记完成。

3. 停止条件(Stopping Condition) — 循环不是无限的。最大迭代次数、Token 预算、时间上限、或检测到无进展("转了三圈还是同一个结果")——必须有一个硬退出机制。

4. 护栏(Guardrails) — 沙箱、最小权限凭证、预算上限。Willison 给 Claude Code 单独开了一个 Fly.io org,上限 $5——跑飞的循环花不了真钱。

Chad Fowler 的框架:Relocating Rigor

这四层演进背后有一个统一叙事。Chad Fowler(Ruby 社区元老、Honeycomb CTO)管它叫 Relocating Rigor——工程严谨性没有消失,只是每次都在往上挪一层。

当 XP 运动说"用自动化测试代替设计文档"时,老派工程师说你们在放弃严谨。他们错了——严谨性从文档转移到了测试。当动态语言说"没有编译器类型检查也能写"时,同样的批判。严谨性从编译期转移到了运行时测试覆盖。

现在同样的事在 AI 工程里重演。批评声说"把代码交给 AI 就是放弃工程严谨性"。但严谨性没消失——它从写代码挪到了设计上下文,从设计上下文挪到了搭建 Harness,从搭建 Harness 挪到了设计 Loop。

你在每一层写的不是 Prompt,是规则。规则管的是 Agent 的行为边界。行为边界越清晰,Agent 越可靠。

你现在在第几层?

你在做的事
对应的层
该层解决的核心问题
给 ChatGPT/Claude 写一条好指令
Prompt
单次交互的质量
配置 RAG、管理上下文窗口
Context
模型看到什么信息
写 CLAUDE.md、配 hooks、建工具路由、设验证
Harness
Agent 行为边界的系统化
让 Agent 自动循环直到目标达成
Loop
自主完成和退出条件

四层不是相互排斥的——它们是嵌套的。好的 Loop 需要好的 Harness。好的 Harness 需要好的 Context。好的 Context 需要好的 Prompt。

如果你现在的主要工作还是手写每一条 Prompt,你相当于在用 2023 年的方式跟 2026 年的模型交互。模型能力涨了 100 倍,你的工作方式没变——这不是模型的损失,是你的。

怎么往前挪一层

从 Prompt 到 Context:下次跟 Claude 协作时,不要只写指令。花 30 秒把相关文件、项目结构、之前的踩坑记录一起喂进去。你会发现同样的问题,回答质量完全不同。

从 Context 到 Harness:把你反复喂的上下文写成文件。CLAUDE.md 放项目根目录。行为准则、工具路由、风格规范——这些不该是你每次打字重复的内容,应该是 Agent 启动就自动加载的环境。

从 Harness 到 Loop:找一件你每周重复做超过三次的事。把它的验证标准写清楚("测试通过""无 lint 报错""发布后 200 OK"),然后用 /loop 或 Cron 让它自己跑。你只在你设定的退出点上介入。


下一步聊具体实践:怎么从零搭建一个 Agent Harness,以及怎么设计第一个生产级 Loop。

参考资料:

  • Simon Willison: AI agent definition
  • Chad Fowler: Relocating Rigor
  • Anthropic: Effective Context Engineering (Sept 2025)
  • Mitchell Hashimoto: Harness Engineering (Feb 2026)
  • Peter Steinberger: Loop Engineering (June 2026)
  • Addy Osmani: Loop Engineering essay (June 2026)