跳到主要内容

Loop Engineering 入门介绍:Agent 循环工程

七天实战

边学边练请访问 7 天学会 Loop Engineering 子站。子站提供课表、可视化实验室与社区;本文档站的教学核心是 Agent Loop Engineering——在 Harness / 运行时语境下,把「智能体如何跑循环」工程化。子站实验可作为直觉练习,概念映射请以本文为准。

延伸阅读

动手见 快速开始;实现细节见 开发指南;七日路径见 从零到一

本文要解决什么问题

学完 Agent Harness(如 DeepSeek Harness / Hermes 路径)之后,常见下一问是:

模型会调工具了,角色也不飘了——为什么任务还是跑飞、烧钱、死循环、或永远「再试一次」?

答案几乎总在 循环(Loop) 上:ReAct 转了几圈、计划何时重写、反思是否真的改行为、评估器与优化器如何仲裁、多 Agent 如何交接、记忆写回是否污染下一轮、迭代预算与停止条件谁说了算。

Loop Engineering(循环工程)在本站语境下,是 Agent Harness Engineering 的下一层深化:研究智能体在运行时如何 开环/闭环地迭代——不是把控制论教材换皮,而是把 Agent Loop 变成可设计、可观测、可限幅、可回滚的一等工程对象。你可以短暂借用「反馈 / 增益 / 饱和」作隐喻,但教学主线必须是:

对象在 Agent 里是什么常见失败
感知Observation / tool_result / 评测分数观测不全、假成功
决策LLM 选动作、重规划、反思结论幻觉动作、策略振荡
执行Tool / MCP / 代码沙箱 / 子 Agent副作用、超时、权限越界
反馈写回消息历史、记忆、轨迹、指标污染上下文、正反馈放大错误
预算与停止max_steps、token、墙钟、验收门禁无限循环、过早停止

读完本文,你应能回答:Loop Engineering 与 Harness 的边界;六类主流 Agent 循环各自解决什么;迭代预算与停止条件如何设计;为何「再给模型多轮」常常是负反馈伪装的正反馈。


一、定位:Harness 之上的 Loop 层

1.1 三层心智模型

  • Model:提供下一步文本或 tool_call 的似然。
  • Harness:保证「这一次调用」安全、可审计、可恢复(DeepSeek Harness 的 Cordis、Hermes 的 Tool Graph / Persona)。
  • Loop:决定「还要不要再调一次、换什么策略、何时宣布成功/失败」。

没有 Loop 工程,Harness 再稳也只是「很安全的单轮工具机」;没有 Harness,Loop 再漂亮也会在副作用与权限上翻车。二者互补,不是替代。

1.2 与「经典控制循环」的关系(刻意划界)

经典控制里:设定值 → 误差 → PID → 执行器 → Plant → 传感器。Agent 世界里 Plant 是半随机的工具环境 + 不可微的 LLM,传感器是 Observation 与评测脚本,控制器往往是「另一段 Prompt / 另一个模型 / 一段确定性策略」。

控制隐喻可用之处不可硬套之处
负反馈Observation 纠正下一步没有稳定的传递函数可辨识
饱和max_steps、tool 限流「拧增益」≠ 加大 temperature
延迟工具时延、上下文膨胀Bode 图不能直接画在 LLM 上
振荡计划↔执行来回推翻需用轨迹指纹检测,非相位裕度

本系列允许用隐喻加速直觉,禁止用 PID 整定冒充 Agent 调参。 真要学温控 PID,请去控制教材;这里要学的是:ReAct 为何死循环、Evaluator 为何被骗、记忆写回为何让第二轮更蠢。

1.3 一条公式

Agent 任务成功 ≈ Model 能力 × Harness 可靠性 × Loop 设计质量

Loop 设计质量可进一步拆解:

Loop 质量 = 拓扑适配度 × 停止条件清晰度 × 写回卫生度 × 预算经济性 × 可观测完备度

二、六类核心 Agent 循环(教学主轴)

2.1 总览对比

循环类型一句话典型拓扑适合不适合
ReAct / Tool Loop想→动→看→再想单环紧耦合工具链短、目标清晰长程规划、强约束验收
Plan–Execute先计划再逐步执行外环计划 + 内环执行多步骤任务环境剧烈变化且不重规划
Reflection做完自评再改执行后挂反思节点质量敏感文案/代码无可靠自评标准时
Evaluator–Optimizer评测打分驱动改写双角色对抗/协作有可自动评测的目标评测器可被投机取巧
Multi-Agent Orchestration多角色交接循环图 / 黑板 / 主管分工明确的复杂任务角色重叠导致扯皮环
Memory Write-back把本轮洞见写入记忆环外持久化再读入跨会话学习未过滤噪声写库

2.2 ReAct / Tool Loop:最常见也最容易失控

是什么:每一轮 LLM 输出 Thought(可选)+ Action(tool_call),Harness 执行工具,把 Observation 拼回消息,直到模型输出 Final Answer 或撞预算。

为什么重要:几乎所有「能用工具的 Agent」底层都是这个环;Harness 文档讲的是单次 tool 安全,Loop 文档讲的是 多轮收敛

怎么做(最小契约)

  1. 消息角色严格:system / user / assistant / tool。
  2. 每轮只允许「一个主动作」或显式并行工具策略(需 Harness 支持)。
  3. max_iterations、单工具超时、总 token 上限三者同时存在。
  4. 对相同 (tool, args_hash) 连续失败做熔断。

常见坑

  • Observation 太长,上下文被噪声淹没 → 模型「忘记」目标。
  • 无循环指纹 → 搜索词微调后反复搜同一主题。
  • 把「请继续」塞进 user,伪装成有进度。

2.3 Plan–Execute Loop:把「想清楚」与「做出来」拆环

是什么:外环产出结构化计划(步骤列表 / DAG),内环对当前步骤跑 ReAct;失败时触发 Replan 而不是盲目重试同一步。

为什么:长任务若每步都让模型「重新理解全局」,成本高且易漂移;计划提供设定值,执行环负责局部误差。

怎么做

  • 计划必须可机读(JSON steps),每步有 done_when
  • 执行失败分类:可重试 / 需改计划 / 需人审。
  • Replan 次数单独预算(例如最多 2 次),防止计划振荡。

常见坑:计划写得过细(变成伪代码)或过粗(一步「搞定所有」);环境已变仍死磕旧计划。

2.4 Reflection Loop:事后纠错,不是自我感动

是什么:主执行完成后,用同一或更强模型按 rubric 批评产物,再进入修订轮。

为什么:单次生成对代码规范、事实核对、风格一致性不可靠;反思把「评测信号」显式注入。

怎么做:反思输出必须是 可操作的修改指令(改哪、为什么),禁止只输出「整体不错,略有瑕疵」。

常见坑:反思模型与执行模型同质且无外部证据 → 互相加油;无限反思直到预算耗尽。

2.5 Evaluator–Optimizer Loop:把分数当传感器

是什么:Optimizer 生成候选,Evaluator(规则 / 模型 / 单测 / LLM-as-judge)打分,未达标则带着分数与评语再优化。

为什么:当目标可自动度量(单测通过率、格式校验、检索召回)时,这是最像「真正闭环」的形态。

怎么做

  • 评测尽量确定性优先(单元测试 > LLM judge)。
  • 记录 score_history,检测平台期与投机(刷分不涨真实质量)。
  • 优化器不得直接改评测器代码(权限隔离,Harness 层保证)。

常见坑:评测可被「讨好」;只优化代理指标(BLEU)毁掉业务指标。

2.6 Multi-Agent Orchestration Loop:交接也是循环

是什么:Planner / Researcher / Coder / Reviewer 等角色在编排器下轮转;每一跳都是一次带契约的 handoff。

为什么:单上下文塞不下全部技能与权限;分工降低工具爆炸与角色漂移。

怎么做:handoff 载荷含:目标子集、已完成证据、禁止事项、剩余预算;编排器维护全局停止条件。

常见坑:三角传球(A→B→C→A)无进展;多 Agent「开会」代替执行。

2.7 Memory Write-back Loop:跨轮学习的双刃剑

是什么:环内产生的摘要、偏好、失败教训写入长期记忆,下一会话再读入。

为什么:没有写回,Agent 永远「一天一夜」;乱写回,错误会被永久放大。

怎么做:写回门禁——置信度、用户确认、去重、过期;读入时标注来源与时效。

常见坑:把一次性幻觉当事实入库;写回与当前任务目标冲突却优先记忆。


三、五条公理(Agent Loop 版)

  1. 循环必须有显式停止条件:成功门禁、失败门禁、预算门禁至少各一;「模型说做完了」只是候选信号,不是唯一信号。
  2. 预算是一等公民:steps / tokens / 墙钟 / 费用 / 危险工具次数分开计量,可独立熔断。
  3. 写回必须可卫生:Observation 压缩、记忆过滤、轨迹脱敏;垃圾进、垃圾出在 Agent 里是指数级的。
  4. 拓扑跟任务走,不跟时髦走:能用单环 ReAct 解决的,不要上五 Agent 编排。
  5. 可观测才可调环:没有 step trace、工具指纹、分数曲线,就只能玄学加轮数。

四、标准 Agent 闭环图(映射 Harness)

组件Agent 实现Harness 责任Loop 责任
目标PRD / 用户意图 / rubric鉴权谁可改目标把目标编译为停止谓词
比较器规则 / 测试 / Judge提供确定性评测工具决定未达标时走哪条边
策略Prompt / 路由器 / 小模型插件热更新策略拓扑与重试策略
执行tool_call超时、沙箱、审计迭代编排
观测tool_result原始日志压缩、去噪、指纹
预算计数器配额 API熔断与降级路径

五、历史脉络:从 AutoGPT 到工程化 Loop

阶段代表贡献教训
2022–2023AutoGPT / BabyAGI大众化「自主循环」无预算、无观测、烧钱
2023ReAct 论文落地Thought–Act–Obs 可教易死循环
2023–2024LangGraph / 状态机显式图与检查点图不等于稳定
2024–OpenAI Agents / Claude Computer Use厂商级 tool loop仍需自建停止与评测
本站路径DSH + Hermes + LoopHarness 安全 + Loop 收敛分层,不混为一谈

六、何时该上 Loop Engineering

场景仅单次 tool call需要 Loop 工程
查天气、算一题足够过度
多步调研 + 写报告脆弱需要
修 bug 直到测试绿几乎必挂Plan–Execute + Eval
生产自动运维危险强预算 + 人审门禁
跨会话个人助手无记忆Memory write-back

决策口诀:副作用越大、步骤越长、验收越硬,Loop 越要显式。


七、文档地图与学习建议

文档你将获得
快速开始30 分钟内搭出带预算的 ReAct 环
开发指南六类循环实现要点与失败模式
GitHub 项目开源仓库的「回路透镜」读法
最佳实践生产级检查单与反模式
FAQ高频误区深答
从零到一七日 Agent Loop 学习路径

预备知识:建议先具备 Hermes / DSH 文档中的 Tool Calling 与 Session 基础;若尚不会解析 tool_calls,请先补 Hermes 入门DeepSeek Harness 导论

背景分流

  • 做过 Harness:直接从「停止条件与预算」练起,少花时间在工具 Schema。
  • 只做过 Prompt:先写通一个 5 步以内的 ReAct,再谈多 Agent。
  • 控制/自动化背景:隐喻可用,但请把「整定 Kp」翻译成「调 max_steps / 重试策略 / 评测阈值」,不要找离散 PID 库来控 LLM。

八、最小词汇表

术语含义
Iteration / StepLoop 的一次「模型决策 ± 工具执行」
Budget步数、token、费用、危险操作次数等硬上限
Stop predicate返回成功/失败/继续的判定函数
Trace逐步记录的可回放轨迹
Fingerprint对 tool+args 或计划哈希,用于循环检测
Replan外环推翻或修订计划
Write-back将环内信息持久化到记忆/日志
Harness gate执行前的权限、沙箱、审批关卡

九、一篇读完后的自测

  1. 用自己的话区分 Harness 与 Loop 各管什么。
  2. 为「自动修到单测通过」选出循环拓扑,并写出三条停止条件。
  3. 说明为何「再加 20 轮」可能让成功率下降。
  4. 画出你场景下的 Memory write-back 门禁。
  5. 列出至少三个必须进 Trace 的字段。

若五题都能答清,可以进入 快速开始 写第一个带熔断的环;若卡在工具调用,回到 Hermes / DSH。子站 loop-engineering.chenxiaoshivivid.top 可用来建立「开环 vs 闭环」直觉,但请始终把实验映射回 Agent 迭代,而不是停留在温控曲线。


十、开环 Agent vs 闭环 Agent(工作定义)

开环 Agent:一次(或固定次数)生成,不根据环境观测修正策略——例如「一次性写完脚本就结束」,中间工具失败只报错不改计划。

闭环 Agent:每一步的 Observation(或评测分)进入下一轮决策;策略、计划或候选答案会因反馈而变。

多数 Demo 是假闭环:表面上多轮对话,实际上没有比较器(不检查是否更接近验收),也没有预算熔断。真闭环至少具备:

  1. 可计算的「距目标距离」(哪怕很粗糙:测试失败数、必填字段缺失数)。
  2. 基于距离的分支(继续 / 换策略 / 停止)。
  3. 距离与成本的联合可见性(Trace 里同时有 score 与 spend)。

十一、与本站其它专题的接口

专题接口点
HermesTool 描述、Persona、ReAct+ 推理模式 → Loop 的「动作词汇表」
DeepSeek HarnessSession、插件、沙箱 → Loop 的「安全执行平面」
Memory Engineering写回策略、记忆类型 → Loop 的跨会话边
Evaluation(若有)评测器设计 → Evaluator–Optimizer 的传感器
MCP工具发现与调用协议 → Harness 侧,被 Loop 编排

Loop Engineering 不重复教「如何写 JSON Schema」,而教「Schema 调对了之后,轮次如何收敛」。


十二、反模式速查(入门级)

反模式症状纠正
无限「请继续」日志里 user 消息全是 continue改为显式 stop predicate
观测原样回灌上下文爆炸摘要 + 保留错误栈关键行
多 Agent 开会消息多、副作用少限制 handoff 次数,强制产出工件
评测与优化同权模型改测试来刷分评测只读、分进程
预算只设一步数token 先爆多维预算
成功只看模型自称幻觉完成外部验收(测试/规则)

把这张表贴在仓库 README,比再堆同质小节章节有用。下一篇你将亲手实现带指纹熔断的最小 Loop Runtime。