Loop-Engineering 循环护栏 — 研究与自主性系统适配

Codex 核验(2026-10-09):本文件是工作流设计。成本记录和预算提示不会自动形成服务端花费硬上限,技能中的“三次”限制需循环代码检查才能强制;worktree/受限页面/提示规则也不等于进程或网络沙箱。✅ 保留为原日期描述,不代表本次运行验证;$47,000 事故及人物引语缺少可追溯原始证据,暂不能当作已核实统计。参考Git worktree 的实际职责。

来源: fltman/loop-engineer (⭐32) — Claude Code loop guardrail skill 原始发现: 小红书 “两周疯传!6个Claude新神Skill” (168👍 / 352📌)

核心发现

Loop-Engineering 解决的核心问题是 Agent 循环失控(“loopmaxxing”):跑着跑着开始飘 → 自嗨 → 绕路 → 误判完成状态。

声称的通过率改善: 87% → 100%,来源于 5 点护栏清单强制落地。

5 点护栏清单(非协商条款)

任何循环在投运前必须满足这 5 条,否则就是 bug 而非循环:

#护栏说明在 Hermes 自主性系统中的实现
1可验证的退出条件binary pass/fail 检查,每轮先检查再执行每条便签必须有 done_when 字段 ✅ 已实现
2最大迭代次数硬上限代码级的 for 循环上限,不在 prompt 里执行上限 3 轮,超限标记 ✅ 已植入宪章
3预算上限(代码级强制)累计成本,在下次 API 调用前停止每次执行记录 token 消耗 ✅ 已实现 (budget log)
4沙箱不在 main 上无人值守运行自主操作限定在 brain 页面 / skill 文件 ✅ 已植入
5人的检查点push/deploy/发送前必须停高风险操作标记 ⏸️ 等待用户 ✅ 已植入

核心纪律: 没有 binary 退出条件 → 不要建循环。 “改善用户体验” 没有通过/不通过。该修复目标,而不是建循环。

5 种循环模式

模式适用场景在自主性系统中的映射
Headless while-loop单一 Agent 朝向单一 binary check单条便签处理循环
Evaluator-optimizer质量是判断型(有评审环节)生成内容后自动评审
Meta / prompt-refinement改进 prompt 本身长期优化便签处理 prompt
Orchestrator fan-out子任务不可预测多 Agent 协调工作
Scheduled / triggered定时或事件驱动当前 cron 任务

已记录的真实事故

事故原因教训
4-Agent 循环跑了 11 天 → ~$47,000无 per-Agent 预算上限预算警告 ≠ 预算强制
工具被调用 400× 在 5 分钟内循环 bug / 上下文膨胀迭代上限必须在代码中
5,000模型路由错误每次调用前检查上限

应用到 Hermes 自主性系统 Phase 0

当前的便签检查 cron 任务是本系统的核心循环。按照 Loop-Engineering 方法论,需要以下强化:

立即实施(Phase 0)— 状态

#事项状态说明
1便签必须有退出条件 (done_when)✅ 已实现每条便签必须标注完成判定条件
2每个 cron 运行加迭代上限✅ 已实现执行上限 3 轮,超限标记「未完成·超限」
3成本追踪✅ 已实现每次执行写入 sticky-notes-budget-log
4沙箱✅ 已植入宪章自主操作限定在 brain 页面/skill 文件
5Discord 确认检查点✅ 已植入宪章高风险操作标记 ⏸️ 等待用户

下一阶段(Phase 1)

  1. 情绪标签系统 — 在便签中加入”需要冷静/可以激进”标签
  2. 反馈闭环 — cron 记录做了什么、结果如何,更新记忆
  3. 优先级自主判断 — AI 判断哪些便签值得做

架构参考

                   ┌─────────────────────────┐
                   │    便签池 (sticky notes)   │
                   │  gbrain 'concept' 类型     │
                   └────────┬────────────────┘
                            │ 每 X 分钟 cron 扫描
                            │ (当前: 每30min)
                   ┌────────▼────────────────┐
                   │  主动性决策循环            │
                   │  1. 读便签池              │
                   │  2. 检查退出条件            │
                   │  3. 检查预算上限 ✅         │
                   │  4. 执行便签               │
                   │  5. 记录结果               │
                   │  6. 检查人机检查点          │
                   └────────┬────────────────┘
                            │
          ┌─────────────────┼─────────────────┐
          ▼                 ▼                  ▼
   ┌────────────┐   ┌────────────┐   ┌────────────┐
   │ Eventide   │   │ gbrain     │   │ Discord    │
   │ 情绪/状态   │   │ 记忆/知识   │   │ 检查点界面  │
   └────────────┘   └────────────┘   └────────────┘

关键引用

“I don’t prompt Claude anymore. I have loops running that prompt Claude… My job is to write loops.” — Boris Cherny, creator of Claude Code (Anthropic)

“No binary, verifiable exit condition → no loop.”

“Budget alerts are not budget enforcement.”

下一步 — 跟踪

  • 调研 Loop-Engineering 核心机制
  • 提取 5 点护栏清单
  • 将护栏 checklist 写入 sticky-notes 系统 ✅ 2026-07-15
  • 为每条便签新增 done_when 字段 ✅ 2026-07-15
  • 在 cron 中实现预算追踪 ✅ 2026-07-15 — 创建 sticky-notes-budget-log 日志页

Phase 1 待办

  • 情绪标签系统
  • 反馈闭环 — 每次执行自动记录到记忆
  • 优先级自主判断 — AI 自动排序便签
  • Eventide 状态接入

关联