AI-Agent工程四层演进

AI Agent 工程四层演进:从 ReAct 到 Loop Engineering

梳理 Prompt Engineering → Context Engineering → Harness Engineering → Loop Engineering 的因果链条、核心突破与结构性问题。


一、源头:ReAct 与四大顽疾

ReAct(Reasoning + Acting)是 Agent 架构的起点——三行代码定义了一个时代:

Thought → Action → Observation → (重复)

每一步的 Thought、Action、Observation 被追加到对话历史,模型基于不断膨胀的上下文决定下一步。

四大结构性顽疾

顽疾 描述 关键数据
误差累积 每步正确率 95%,20 步后整体成功率仅 36%,40 步后仅 12% 概率铁律,非靠「优化」可解
死亡循环 (doom-loop) 失败 → 重试 → 再失败,无外部机制打断 2026 年初真实事故:40 分钟重启 200 次
上下文爆炸与污染 每步产出的中间产物累积进上下文,稀释注意力 3×15 条消息会话比 1×40 条更快更准
无独立验证 Observation 只反馈工具执行结果,不反馈「任务是否在朝目标前进」 连续 10 步工具成功,整体方向可能是错的

共同根因: ReAct 把推理、决策、观察、状态全部塞进同一个上下文窗口,没有隔离、分层、独立验证和外部中断。


二、四层演进总览

Loop Engineering (2026.6+)
  └── 内部跑着 Harness Engineering (2026 Q1-Q2)
       └── Harperness 的每一步在做 Context Engineering (2025) 的拼装
            └── Context 拼装好后,喂给模型的是一个 Prompt (2022-2024)

不是替代关系,是包含关系。


三、第一层:Prompt Engineering(2022–2024)

本质

模型是函数 P(下一个 token | 前面所有 token)。每条 prompt 不是「指令」,而是条件——把采样空间挪到训练数据中对应语境附近。

核心技巧

致命天花板

Prompt 是静态文档。 写进去的知识在写的那一刻就是上限。政策更新了、代码库变了、场景超出预想——prompt 全不知道。

Prompt 控制的是「怎么说」,控制不了「能看到什么」。

控制面:消息层


四、第二层:Context Engineering(2025)

转折点

2025 年,行业共识:模型能力是常量,上下文是变量。当变量比常量更能决定结果时,工程重心转移。

Karpathy +1, Shopify CEO Tobi Lütke 提出, Simon Willison 论证。正式定义:「用恰到好处的信息填充上下文窗口的精细艺术与科学。」

核心方法

解决和引入的问题

看到正确的数据 ≠ 会做正确的决定。后者需要的是行动约束。

控制面:会话层


五、第三层:Harness Engineering(2026 Q1–Q2)

定义

Mitchell Hashimoto: Agent = Model + Harness
Martin Fowler 正式定义:「设计系统、约束和反馈循环以围绕 AI Agent 构建使其在生产中可靠的学科。」

六层架构

层次 组件 解决的问题
引导层 (Guides) System Prompt、AGENTS.md、ADR 告诉 Agent 该做什么、不该做什么
感知层 (Sensors) 评估器、验证器、测试套件 Agent 行动后检查对错
工具层 文件读写、Bash、搜索、Web Agent 可调用的能力集合
权限层 allow/ask/deny 规则、路径白名单 防止 Agent 做不该做的事
生命周期层 Hooks、Checkpoint、恢复、超时 管理会话和状态
记忆层 CLAUDE.mdTODO.md 跨会话知识沉淀

核心发明:maker-checker 分离

干活的和验收的不是同一个 Agent。用确定性的验证(编译、测试、lint)去锚定概率性的生成(LLM 输出)。

关键数据

术语归位

结构性盲区

Harness 能约束 Agent 在执行任务时的每一个动作——但不会主动检查「这个任务之外还有没有其他事需要考虑」。

Claude Code 自己的 npm 发布事故(51.2 万行源码泄露),$12,847 账单故事——Agent 每一步都「合法」,但没人让它「停下来」。

控制面:系统层


六、第四层:Loop Engineering(2026 年 6 月起)

引爆点(72 小时)

  1. Peter Steinberger(OpenClaw/PSPDFKit 创始人)推特:「你不应该再给编程 Agent 写提示词,你应该设计让 Agent 自己提示自己的 Loop。」(1500 万浏览)
  2. Addy Osmani(Google Chrome 工程负责人)命名并系统化
  3. Boris Cherny(Anthropic Claude Code 负责人):「我的工作已经不是写提示词了,我的工作是写循环。」

本质:收敛控制系统,不是 while 循环

五部件缺一不可:

部件 职责 产品化
目标/终止条件 (GOAL) 「所有测试通过且覆盖率 >90%」——必须可机器判定 你设计
驱动 (DRIVE) 用当前状态构造 prompt 调用 Harness /goal、Automations
执行 (HARNESS) 工具调用、验证闸门、权限检查 第三层已有
独立裁判 (CHECKER) 判断目标是否达成(maker ≠ checker) Outcomes 的 grader
安全闸门 (GATES) 最大迭代/预算/连续无进展检测 你设计

**真正的战场是 目标 + 裁判 + 闸门。**循环体已经有人做好了。

为什么 checker 必须独立

Anthropic Outcomes 系统:grader Agent 运行在全新上下文窗口,只能看到评分标准和产物,看不到原始推理路径。独立 grader 比同模型自我评估,任务成功率提升 10 个百分点。

Loop vs Cron

维度 Cron Loop
触发 时间到了就跑 状态/目标驱动
终止 跑完一次结束 目标条件判定
反馈 无,每次全新开始 差距喂给下一轮
验证 无内建 独立裁判闸门
失控保护 预算/轮次/无进展 三道闸门
核心设计 时间表达式 终止条件 + 验证标准

Cron = 定时开关电暖气;Loop = 恒温空调。

控制面:时间层

第一条军规:先写怎么停,再写怎么跑。


七、失效模式速查表

症状 问题在哪一层 怎么修
Agent 答非所问、输出格式不对 Prompt 层 改 prompt 目标和示例
Agent 自信地编造事实、引用不存在的东西 Context 层 优化检索质量、更新知识库
Agent 做不该做的事、跳过验证流程 Harness 层 搭 maker-checker、检查权限配置
Agent 在无人值守时烧光预算 Loop 层 设终止条件、预算上限、无进展检测

大多数翻车是第二层或第三层的问题。但你大多数时候在用第一层的方法修——把 prompt 改得更详细。这就是你总觉得 AI「不够聪明」的原因。


Sources