mcpField
L
loop-engineering

loop-engineering

github.com/huytieuAgent 工作流1.3k145 次安装6 天前更新
代码仓库

关于 loop-engineering

loop-engineering 是为构建或修复迭代式 Agent 技能提供的设计参考,强调用确定性验证器判断是否完成,并设置明确的停止条件。它整理了多种循环模式及上下文管理方法。

主要功能

  1. 01定义循环步骤与验证器
  2. 02设置多层终止条件
  3. 03采用命名循环模式
  4. 04管理循环中的上下文

适用场景

  1. 01设计需要重复搜索直至达标的技能
  2. 02为迭代任务添加确定性检查
  3. 03排查循环不终止或目标漂移
  4. 04规划多 Agent 分工与结果整合

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/huytieu/cog-second-brain --skill loop-engineering

安装后在 Claude Code 中输入/loop-engineering确认已加载。

详细介绍

COG 循环工程

简而言之: 有些 COG 技能并非一次性提示词,而是循环:执行、观察、验证,再决定是否继续。这项技能提供这些技能共用的术语。铁律:相信确定性检查,绝不相信 Agent 自己声称“看起来完成了”。 每个循环都必须声明其验证器、停止条件以及遵循的模式。

这是一份参考和设计辅助资料,并非内容生成工作流。采用循环的技能(daily-brief、knowledge-consolidation、url-dump、weekly-checkin,以及 auto-research 和 scout 等研究/分类技能)会链接到这里,而不是重复说明规则。构建或修复迭代技能时,请直接调用它。

为什么需要循环

链式流程执行固定步骤:先 A,再 B,然后 C。循环则是动态的:Agent 执行操作、读取真实反馈(抓取的页面、日期戳、文件数量),据此推理并重复,直到达成目标或触发停止条件。大多数“持续进行,直到足够好”的知识工作都是循环,COG 的优势在于明确命名循环,而非寄希望于单个提示词能恰到好处。

COG 循环

   ┌──────────────────────────────────────────────┐
   │  1. Gather    pull context (vault + sources)   │
   │  2. Act       one step: search / fetch / scan  │
   │  3. Observe   read the real result             │
   │  4. Verify    run the deterministic check      │
   │  5. Update    write progress to a vault file   │
   │  6. Decide    continue?  → loop                │
   │               stop?      → finish + report     │
   └──────────────────────────────────────────────┘

第 4 步是关键所在。没有验证器的循环,只是不断重复的链式流程。

终止条件(分层设置,切勿只用一种)

稳健的循环需要多个退出条件,确保它总能停止:

退出条件含义示例
确定性验证器通过机械检查确认目标已达成“发布日期在最近 7 天内”
硬性迭代上限无论结果如何,限制最大轮数“每个主题搜索 5 次后停止”
预算防护限制时间/工具调用次数/Token 用量“总共抓取 20 次后停止”
无进展检测最近几轮没有任何变化“连续 2 次搜索都没有发现新内容”
升级给人工处理将陷入困境的循环交还给用户“询问两次后仍不清楚:询问用户”

每个循环都要指定验证器,并至少设置一个安全退出条件(上限或预算)。无进展检测可以阻止仅靠上限无法避免的隐性无限循环。

验证优先(COG 应用于循环的规则)

COG 以验证为先:不允许幻觉,必须提供来源。在循环中,这意味着:

  • 优先采用机械检查。 日期比较、来源计数、“必填字段非空”检查、“文件已标记为已整合”检查都无法被钻空子,也无法凭空编造。
  • 仅对确实无法量化的事项使用基于判断的检查(这个主题真的是新的吗?这份摘要忠实吗?)。必须依赖判断时,请说明置信度并链接证据。
  • 绝不接受 Agent 自己声称“我认为已经完成”。 这是循环产出自信的垃圾内容最常见的原因。

循环内的上下文管理

长循环会让窗口堆满旧的工具输出,导致偏离方向(“上下文腐化”)。可采取以下措施:

  • 将状态外化到 vault。 随时将进度写入输出文件。vault 文件是记忆;对话只是临时工作区。
  • 压缩并清理。 将已完成的轮次概括成一两行。提取所需内容后,删除原始页面文本。
  • 隔离子 Agent。 在 agent_mode: team 中,只向每位工作者提供其所需的内容片段,并且只取回其结论,这样每项子任务都能在干净的窗口中运行。绝不要将一位工作者的原始输出粘贴到下一位工作者的提示词中。

命名模式

模式形式COG 的使用场景
行动-观察(ReAct)推理 → 行动 → 观察 → 重复每个 COG 循环的基础
反思-重试(Reflexion)失败时,记录经验教训,再换种方式重试url-dump / scout 获取重试、daily-brief 重新搜索
计划-执行-验证规划步骤、执行步骤、逐一验证knowledge-consolidation 各轮处理
评估器-优化器生成内容,根据标准评分,重复直至通过daily-brief 条目验证、url-dump 质量门槛
编排器-工作者拆分为子任务,在全新窗口中执行,然后综合结果team-mode 扫描、auto-research 线程、team-brief
循环直至无新内容持续执行,直到连续 K 轮都没有新发现knowledge-consolidation 主题提取
人在回路中循环卡住或需要由用户做决定时,升级处理或询问用户weekly-checkin 反思、入门引导

故障模式与修复方法

故障修复方法
上下文溢出 / 漂移压缩、删减、将内容外置到知识库、隔离子 Agent
静默的无限循环检测无进展情况并设置硬性上限
虚构成功信任确定性验证器,绝不自行报告成功
错误累积尽早并在每轮都进行验证,而不只在最后验证
成本失控设置预算保护,并在「足够好」时停止,而非追求「完美」
目标偏移将目标和停止条件写在循环状态的顶部

技能如何使用这些内容

技能的 ## Loop Engineering 部分应简短具体,并说明:

  1. 循环,用一两行说明(哪些内容会重复)。
  2. 验证器(机械式的通过 / 失败判定)。
  3. 终止条件(验证结果加上安全退出条件)。
  4. 上表中的模式。

不要复述本技能的内容,而应指向此处。

评论

支持 Markdown