关于 loop-engineering
loop-engineering 是为构建或修复迭代式 Agent 技能提供的设计参考,强调用确定性验证器判断是否完成,并设置明确的停止条件。它整理了多种循环模式及上下文管理方法。
主要功能
- 01定义循环步骤与验证器
- 02设置多层终止条件
- 03采用命名循环模式
- 04管理循环中的上下文
适用场景
- 01设计需要重复搜索直至达标的技能
- 02为迭代任务添加确定性检查
- 03排查循环不终止或目标漂移
- 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 部分应简短具体,并说明:
- 循环,用一两行说明(哪些内容会重复)。
- 验证器(机械式的通过 / 失败判定)。
- 终止条件(验证结果加上安全退出条件)。
- 上表中的模式。
不要复述本技能的内容,而应指向此处。