Loop Engine 技能构建报告

从零到一的编排引擎设计全过程——需求碰撞、概念演化、执行幻觉防御、质量验证
2026.06.19作者:秋水澄清

这个技能不是为了解决一个具体的分析问题而生的。它的起点是一个观察:comprehensive-analysis 将三个子技能串成流水线的模式是可以通用的——如果把它从"财务分析三件套"中抽离出来,能不能造一个编排引擎,让用户任意组合 skill、自定义步骤、设门禁、加循环,形成端到端闭环?

于是有了 loop-engine。下面是这个技能从第一版草稿到双 Agent 设计审查的全部过程。

01 需求阶段

起点:一句话需求

最初的请求只有一句:"帮我设计一个技能,专门做 loop 编排工作,可以组合不同的 skill,可以端到端闭环。"

四个关键问题

为了把这句话变成可执行的 spec,拆成了四个逐次收敛的问题:

  1. 触发场景 — 什么情况下用户会激活这个技能?
    → "当用户说:设计一个循环,设计一个loop,设计一个循环工程,或编排一组任务等"
  2. 编排粒度 — 组合的是整 skill 级、步骤级、还是混合?
    → "C) 混合"
  3. 闭环定义 — 端到端闭环包括自动校验、失败处理、汇总报告?
    → "全部"
  4. 与 comprehensive-analysis 的关系 — 是通用化版本还是独立框架?
    → "A) 通用编排器"

设计原则的逐次收敛

整个过程中一系列设计决策在对话中反复碰撞,最终收敛为 11 项核心原则。每条原则都不是一次到位的——有的是用户直接提出的,有的是我犯错后被用户纠正的,有的是在对抗检查中才暴露的。

原则 1 用户提出
三种执行模式
串行 / 并行 / 混合,用户显式选择
收敛过程:初版用 deponds_on 数组隐式推断并行,被用户否决:"不对,应该是同时支持两种模式,有的loop可能是串行,有的可能可以并行,得选。"改为显式 mode 字段。
原则 2 用户提出
内外双层循环
retry(原地重试)+ loop(回退改进)
收敛过程:我问"什么时候需要回到某一点repeat",举了质量回退、收敛式循环、分页获取等场景。用户抽象出 retry 和 loop 的区别,我说"retry是内循环,loop是外循环",用户确认:"可以这么理解"。
原则 3 用户提出
目标驱动闭环
目标 / 约束 / 验收 三要素
收敛过程:用户提出"定义什么是好的结果,具体展开可能是:目标,约束,验收方法"。我将其整合到循环终止逻辑中——目标达成是最高优先级的终止条件。
原则 4 AI建议
终止优先级链
目标达成 > max_iterations > timeout > 用户打断
收敛过程:设计审查中双 Agent 指出两处 max_iterations 含义不明。修复时明确了优先级:目标达成优先于次数上限,次数上限优先于超时,超时优先于用户打断。
原则 5 用户提出
模型决策 + 硬约束兜底
防执行幻觉第一道防线
收敛过程:用户说要"尽量给模型视情景需要自主决策"但同时"要注意模型的作弊(即执行幻觉)"。我提出了分层策略——模型决定做什么,但次数上限由执行引擎校验不可突破。
原则 6 AI建议
门禁独立 agent
主流程不自判质量
收敛过程:防幻觉纪律之一。用户对执行幻觉的担忧直接催生了"门禁校验必须走独立 subagent,不得由主流程模型自判"这条纪律。设计审查时又补充了 gate 自身失败的处理。
原则 7 用户提出
三种数据模式
overwrite / accumulate / ask
收敛过程:我问循环时数据覆盖还是累计,用户直接给出答案:"数据覆盖还是累计,分三种:覆盖,累计,询问(用户)"。设计审查后补充了首次执行行为定义。
原则 8 踩坑后补
四种失败策略
retry / abort / skip / pause
收敛过程:设计审查指出多个示例缺 on_failure 声明、无默认值说明。修复时补充了未声明的默认行为,并标注了 skip 策略的数据依赖风险。
原则 9 踩坑后补
通用性约束
不绑定任何领域 skill
收敛过程:第一版所有示例用了 comprehensive-analysis 的 skill 名,测试时 agent 也跟着用。用户发现后直接骂:"跟comprehensive-analysis没有关系!!","不要修了,删除,重来!"重写后所有示例改用抽象占位符。
原则 10 用户提出
用户定义 + AI 澄清
追问原则,不替用户做假设
收敛过程:用户说"允许用户补充定义,AI帮助澄清需求"。我将其转化为具体的追问原则——如果用户没说执行模式必须追问、提到"优化"主动建议加目标、通用动词不默认为特定 skill。
原则 11 AI建议
执行轨迹可审计
每阶段输出、每次 gate、每次循环均写文件
收敛过程:防幻觉纪律之一。双 Agent 设计审查进一步指出"数据传递机制缺失",补充了完整的 phase 间数据传输规则和审计日志规范。
02 构建历程

从第一版到最终版,经历了五轮迭代,每次都有一个关键转折。

03 关键转折与决策

转折一:从隐式依赖到显式模式

第一版用 deponds_on 数组隐式推断并行:空依赖的 phase 自动并行跑。用户否决了——"有的 loop 可能是串行,有的可能可以并行,得选。"改为用户在设计流水线时显式声明 mode: sequential / parallel / mixed。

转折二:从领域绑定到通用

这是过程中代价最大的一次错误。第一版草案里的示例全用了用户之前项目中的 skill(financial-fraud-detector、web-access),导致 agent 在测试时也默认用这些 skill。"通用编排引擎里写了特定领域 skill 名"这个错误直到测试用例跑完后才发现。最终方案是所有示例都用抽象占位符,并在 SKILL.md 中加入通用性约束章节。

转折三:防执行幻觉系统的演化

从最初的一条"不要作弊"到最终的四条纪律体系,关键洞察来自用户:"让模型视情景需要自主决策,但要注意模型的执行幻觉。"最终的博弈方案是分层策略——模型决定策略,硬约束做兜底;独立 agent 做门禁校验来验证"做了没有"。

转折四:循环终止优先级

设计过程中曾忽略了"为什么停止循环"的完整闭环。用户提醒后补上了四级终止优先级链(目标达成 > max_iterations > timeout > 用户打断),并为两级 max_iterations(loop 级 vs goal 级)做了明确区分。

04 双 Agent 设计审查

最终版 SKILL.md 完成后,使用 two-agents-check-who-is-lying 做了独立设计审查。两个 agent 背对背各自检查,然后交叉裁决。

审查结果:66/100
完整性
68
可执行性
58
逻辑自洽
70
边界处理
55
清晰度
68

双 Agent 发现的 8 个关键问题

优先级问题修复
P0示例硬编码特定 skill 名全部替换为抽象占位符
P0执行机制缺失关键细节,不可执行编写完整执行算法+数据传递机制
P0硬约束无强制执行机制新增约束校验时机章节
P1"第三步:执行"标题层级错误H2 降为 H3
P1三种模式缺独立文字定义每种模式增加执行规则文字说明
P1数据传递机制缺失定义完整传递规则
P1执行图漏了 max_iterations 检查分三个时机补充检查逻辑
P1retry 同一词含义过载新增三重含义说明段落

双 Agent 可信度判断:双方均未出现"全部正确"的笼统断言,均提供了具体行号和有追溯力的证据。Agent A(自评 67)和 Agent B(自评 62)分数方向一致,属诚实信号。

05 经验教训

教训一:通用就不能举领域例子

最大的错误来自好意——为了让示例"看起来真实",用了 comprehensive-analysis 里的 skill 名。结果是 agent 在测试时也跟着用这些领域 skill,完全背离了通用的初衷。通用技能的示例必须用抽象占位符,每一个具体的 skill 名都可能把模型带偏。

教训二:设计审查必须独立 agent,主流程模型会漏自己的错

我自己反复读了三遍 SKILL.md,没发现示例硬编码 skill 名的问题。但两个独立 agent 在背对背检查中一眼就抓出来了——而且 Agent A 和 Agent B 都独立发现了。主流程模型对自己的输出有确认偏误,独立审查不可替代。

教训三:从"模型说做"到"模型做了"之间的鸿沟

"模型决定策略、硬约束做兜底"这个原则看起来简单,但真正写进执行逻辑时才意识到难度:谁在运行时校验 max_iterations 不超标?谁检查 timeout?依赖 LLM 的自觉性就是没有强制执行。最终版不得不做了分层处理——模型做"是否循环、回到哪、怎么调参数"的策略判断,但次数上限由执行引擎在校验时机中检查,模型不可突破。

教训四:"端到端闭环"不是全部设计完才开始用的

这个技能从需求解释到最终版共五轮迭代,每轮都有一个关键决策(模式选择、循环定义、防幻觉、通用性、可执行性)。如果等到"设计完"再测试,就不会发现通用性问题——正是因为第三轮就跑了三个测试用例,才在早期捕获了领域绑定的错误。端到端闭环也适用于设计过程本身。

06 最终产物

最终版 loop-engine SKILL.md 包含 ~320 行,覆盖:核心理念、三种执行模式(含文字定义和图解)、工作流程(需求解析→配置定义→执行→汇总报告)、阶段类型、内外循环机制、循环终止优先级、三种数据模式、数据传递规则、四种失败策略、门禁说明、防幻觉四条纪律、完整执行算法、约束校验机制。

所有领域的 skill 名均已替换为通用占位符。示例中的 check: "gate-skill"method: "verification-skill" 由用户在实际使用中替换为具体的 skill 名。

设计审查后的 P0+P1 修复全部通过验证(12/12),最终版本已可用。

本报告基于对话记录整理。双 Agent 设计审查由 two-agents-check-who-is-lying 技能执行。
设计方法论:skill-creator 的标准流程(需求捕获→草案→测试→评估→迭代)。