提示词决定 Agent 怎么「想一次」;控制流决定它怎么「一步步把事做完」。
同一件事,可以在三层上做工程——一层比一层深:
01 · Prompt Engineering
写好一次性的提示词——把单次提问问对。
→
02 · Context Engineering
管理一个任务里塞进上下文窗口的信息——给对料、不给杂料。
→
03 · Loop Engineering
设计 Agent 反复运行的那个控制循环——让它一步步把事做完、停得住、错了能回来。
← 这一层,是我们做工程的重心
Loop Engineering = 在 Agent 的执行循环上做工程
01 · 什么是 Loop EngineeringAgent 的核心是一个循环
一个 Agent 的内核,是一个不断转动的循环:感知 → 推理 → 行动 → 观察 → 再推理。这个循环(源头是 ReAct 范式)才是 Agent 区别于「聊天机器人」的地方——它能持续、跨多步地把一件事做完。 Loop Engineering 就是设计这个循环的结构:不是调措辞,而是定它的骨架与规则。
02 · 通用循环会怎么翻车不裁剪,就出事
- 不定停止条件——循环停不下来,要么死循环空转、烧 token,要么早早收手、活没干完。
- 不定分支——遇到异常、低置信、缺数据时无所适从,照着主流程硬来,越走越偏。
- 不留人审口——把付款、对外发送、删除这类不可逆动作也一并自动执行,迟早闯祸。
- 长程任务不收敛——没有漂移控制,目标会逐轮跑偏(drift)、误差一轮轮累积,最后陷入「一直刷工具却收不了尾」。
03 · 我们具体裁剪什么把循环为这个场景定死
- 步骤与顺序——这个场景该按什么次序走。
- 条件分支——什么情况走哪条路(如置信度低于阈值 → 进复核分支)。
- 循环上限与停止条件——最多迭代几轮、满足什么就收尾,杜绝空转。
- 跨轮次的上下文管理——每轮观察不断累积,上下文很快爆掉。要决定保留什么、压缩/摘要什么、丢弃什么(这块和 context engineering 高度耦合)。
- 出错回退——某步失败了怎么退、怎么重试、怎么降级。
- 编排结构——单循环还是嵌套循环?什么时候 spawn 子 Agent,子循环又怎么把结果交回主循环。
- 人审挂起点——在哪些关键节点停下来,交给人确认(Human-in-the-Loop)。