Skip to content

Loop Engineering:让 AI 自主闭环运转(模式)

摘要:Loop Engineering(循环工程)的目标不是写得更快,而是让你从维护循环里撤出来。核心洞察:能跑起来的循环不等于有用的循环 —— 循环的本质是生成器接上验证器,没有验证器,自动化只是在更快地烧 token(stated)。实战效果:一周 ERROR 总量下降 96%、同类问题修复时间从 48 分钟降到 15 分钟、到预发 0 人工介入(stated)。

定义

Loop = 在 Harness 之上加上定时调度、子 Agent 并行、跨轮记忆三件事,让 AI 自主发现工作、验证结果、记住经验(stated)。

跨越单次对话的记忆,是"循环"和"一次性操作"的分界线(stated)。

与 Harness 的本质区别:Harness 是一次运行的武装(工具、动作、完成条件);Loop 在 Harness 之上补上自动发现、验证、持久化与调度。

四代 AI 工程化范式演进

能力典型
第 1 层 Prompt教说话:单次问答式执行ChatGPT 对话排查
第 2 层 Context摆材料:喂代码库/文档/日志Cursor 带 codebase 索引
第 3 层 Harness配工具:Shell/MCP/Git 权限,自己干活Claude Code 单次会话修 Bug
第 4 层 Loop写 SOP 让他自己转:自动发现/修复/验证本文实践

上层包含下层所有能力,每层解锁新瓶颈。选范式前先问:你的任务卡在哪一层瓶颈(stated)。

Loop 填上维护循环的三个断裂点(stated):

  • 看不见 → 发现(Connectors + Automations)
  • 记不住 → 持久化(State + Skills)
  • 没闭环 → 验证(Sub Agents)

五动作:Loop 持续运转的闭环

发现(找出该做的事)→ 交付(隔离交给 Agent)→ 验证(换个 Agent 说不)
→ 持久化(状态写到对话外)→ 调度(一圈圈自动转)

调度是最后一块拼图:没有自动化,循环就不是循环,只是一次性操作(stated)。

四格检验:该不该建 Loop

建 Loop 有 setup 成本(写 Skill、接 Connectors、调验证器),四格全满才值得建(stated):

  1. 任务会重复(如每天跑)
  2. 验证能自动化(如 334 条测试 + 多层验证)
  3. Token 预算可承受(单次耗费可预估)
  4. Agent 有高级工程师的工具(日志/追踪/发布全通)

反例:一次性架构评审、"提升用户体验"这类目标模糊的探索 —— 任一条件缺失就不该建。

六组件:拼成完整闭环

组件作用解决痛点
Connectors感知:MCP 打通日志/追踪/发布,让 Agent 看见线上世界看不见
Automations驱动:定时巡检(抓慢性)+ 实时告警(抓突发)看不见
SkillsSOP 磁盘化:诊断/修复/发布经验固化为可复用操作手册记不住
Worktrees隔离:Git worktree 每 Bug 独立工作区,并行修复互不覆盖并行冲突
Sub Agents裁判:六层独立验证,修复者不能给自己打分没闭环
State记忆:修复方案/巡检结果/基础设施配置落盘记不住

实施依赖顺序:Connectors(地基)→ Automations → Skills → Worktrees → Sub Agents → State。缺一个,后面的都站不住(stated)。

实战设计要点(日志诊断闭环)

诊断 Skill:8 阶段结构化诊断(760 行 SKILL.md)

  • 每个 Phase 规定工具/数据/输出格式/不可跳步骤(不写死规则 Agent 就偷懒)
  • Phase 2 git log 交叉验证:区分"新问题"还是"老毛病突然恶化"
  • Phase 6 结构化根因推理链[事实]→[推理]→[结论],六类根因(外部系统/内部缺陷/基础设施/LLM 异常/预期行为/数据问题)各配修复方向

修复 Skill:6 步自动生成补丁

  • 先查知识库再动手:30+ 条修复方案(YAML)命中直接复用(连接池问题首次 48 分钟,有知识库后 15 分钟)
  • 修复原则:最小化改动、保持向后兼容;测试不过最多 3 轮重试,超 3 轮自动升级人工(stated)

发布 Skill:11 步到预发全自动(生产发布唯一人工环节)

  • Step 0 安全校验(仓库+App ID 三重匹配)、Step 4 集成测试必须聚焦(指定 skill_names)、Step 5-7 自主回归三层验证(Trace 硬指标/独立诊断复查/预发 vs 线上对比)
  • Langfuse Trace 四项硬指标:ERROR=0、主模型一致(无非预期 fallback)、token<150K、Agent finished=True

Sub Agents:六层独立验证

Lint → 单元测试 → 预发日志(无新增 ERROR 类型)→ 线上对比 → 集成测试 → UI 验证。

  • 只靠单元测试,logger.error→warning 的假修复完全能过;第 3 层预发日志验证专抓日志降级类假修复(stated)

Worktrees:并行修复

Git worktree 同一仓库多工作目录物理隔离;三类问题串行 45 分钟 → 并行 17 分钟;冲突率从 ~30% 降到 <5%(stated)。

范式迁移:工程师角色的转变

Prompt 时代你是指令官,Context 时代你是材料员,Harness 时代你是工具配置师,Loop 时代你是循环设计师(stated)。

Boris Cherny 一天提交 150 个 PR —— 不是写代码更快,而是设计了让 Agent 自己转的循环(stated)。

四条血泪教训

  1. 连续两周不看 diff 就合并 → Agent 把 retry=3 改成 retry=0 导致线上超时翻倍;对策:每周至少抽查 3 个 diff
  2. 验证器覆盖不全 = 假安全感 → 初版只有单测,假修复全靠第 3 层预发日志验证兜底;对策:至少 3 层验证才能自动合并
  3. Token 成本失控 → 全量诊断 200K+ token 烧爆预算;对策:分级策略(小模型初筛 5K token,高优问题才大模型深诊)+ 预算熔断
  4. Connectors 建设被低估 → 工具链占总工作量 30%;对策:先花两周打地基再建上层

四周落地计划

做什么验收标准
1四格检验 + 选场景四格全满
2-3建 Connectors(日志/监控/发布)一条命令跑通全链路
4写第一个 Skill + 定时调度连续 3 天无人值守运转

核心启示

别再当循环里最慢的那一环 —— 去设计循环(stated)。 Loop Engineering 不是一种产品,而是一种工程思维:不问"这条 prompt 怎么写更好",而是问"这个循环能不能自己转"。

关联词条