SuperAPI AI 工具集

journey-loop

智能体与模型

查看项目

更新于 10-16 06:28

技能介绍

journey-loop 是一个自改进构建循环的编排器(orchestrator),位于 sunfmin/autocraft 技能集中。它管理每轮迭代中三个并发/顺序阶段。

用途与定位 它的目标是让 journey-builder 与 refine-journey 两个技能循环运行,通过不断迭代改进技能本身。编排器负责保持循环运行、实时监控质量,并决定何时重启、修复或停止。

三个阶段

  • Builder:运行 journey-builder 技能,构建并测试下一个用户旅程(在后台运行)。
  • Timing Watcher:在 builder 运行时实时监控 screenshot-timing.jsonl,当检测到间隔大于 5 秒时终止测试并报告违规。
  • Refiner:运行 refine-journey 技能,评估输出并改进技能。

输入 Spec 文件为 $ARGUMENTS;若无参数,则使用当前目录下的 spec.md。

共享状态文件

  • journeys/*/ :由 Builder 写入,Refiner、Orchestrator、Watcher 读取。
  • journeys/*/screenshot-timing.jsonl:由 Builder(snap helper)写入,Watcher 实时读取,Orchestrator 读取。
  • journey-refinement-log.md:由 Refiner 写入,Orchestrator 读取。
  • AGENTS.md(仓库根目录):由 Refiner 写入,Builder 在每次重启时读取。
  • journey-loop-state.md:由 Orchestrator 写入与恢复读取。
  • journey-state.md:由 Builder 写入,Builder 与 Orchestrator 读取。

循环协议要点

  • Step 0:每轮迭代开始前,必须先通过 gh gist view 拉取并阅读共享 gist(84a5c108d5742c850704a5088a3f4cbf)中的全部 pitfalls 文件,并将其完整内容放入 builder agent 的提示中。
  • Step 1:每轮读取最新的根 AGENTS.md(缺失则创建)与 journey-state.md,并强制构建 Acceptance-Criteria Master List,把 spec.md 中每个需求的每条验收标准以表格形式写入 journey-loop-state.md。挑选下一个旅程的优先级:in-progress 或 needs-extension 的旅程优先;否则选取下一个未覆盖的 spec 需求新建旅程;polished 但时长未测量的旅程为低优先级,不阻塞新旅程。
  • Step 2:确定目标旅程文件夹路径,先清空 screenshot-timing.jsonl,再在后台启动 Builder Agent,随后立即启动 Timing Watcher。Watcher 是编排器直接运行的轮询循环(每 5 秒轮询一次),检测到新的非 SLOW-OK 的 SLOW 条目时输出 STOPPING_BUILDER 并终止 xcodebuild 测试。
  • Step 2e:builder 完成后有三种结果:正常完成(进入 Step 3)、完成但证据审查发现截图序号大跨度缺漏(重新启动 builder 排查并修复缺失阶段)、Watcher 因违规终止测试(需读取 SLOW 条目、定位前后截图间的测试代码,研究能否降到 5 秒内;可修复则改代码后回到 2b 重新启动;不可修复则在该行前添加 // SLOW-OK 注释说明原因后回到 2b)。
  • Step 3:builder 完成后通过 Skill 工具调用 autocraft:refine-journey 技能并传入 spec 路径,等待其评估输出、写入评分、编辑 AGENTS.md 或向 gist 追加平台特定 pitfalls。
  • Step 4:读取 journey-refinement-log.md 最新条目的评分、失败项与 AGENTS.md 变更;再读 journey-state.md 确认旅程是否 polished(需重读 journey.md 的 Spec Coverage 并对照 spec.md 计数与截图确认)以及时长是否为实测值。
  • Step 5:决定下一步。当评分 >= 90% 或所有旅程显示 polished 时,执行强制的停止前审计:逐条核对每条标准是否有旅程映射、测试步骤与截图,生成审计表并统计未覆盖数;未覆盖 > 0 则不停止。仅当评分 >= 95% 且审计显示 0 条未覆盖且全部旅程 polished 时才停止。
  • Step 6:将本轮结果追加到 journey-loop-state.md 的迭代历史,递增迭代计数并回到 Step 0。

停止条件 需同时满足:总体评分 >= 95%、构建通过、全部旅程测试通过、journey-state.md 中每个旅程状态为 polished、停止前审计 0 条未覆盖、覆盖标准总数等于主清单中的 M。停止时输出迭代次数、最终评分、已构建旅程及时长、spec 覆盖率、标准覆盖率、未覆盖项、测试套件总时长与运行全部测试的命令。

安全限制 无迭代次数上限,循环无限运行直到用户停止或满足停止条件。若 builder 连续两轮无改动,记录停滞并交给 refiner 诊断。永不修改 spec(只读),仅改进 AGENTS.md 与 pitfalls gist。pitfalls gist 为只追加,新增 pitfalls 但绝不删除已有内容。