SuperAPI AI 工具集

unit-executor

智能体与模型

查看项目

更新于 10-16 02:24

技能介绍

Unit Executor 是一个面向研究工作区(Workspace)的原子化执行技能。其首要原则是原子性:一次调用只负责一个 Unit 的一次 Attempt,要么提交一个被接受的 Completion,要么记录一个可诊断的 block,绝不会启动第二个 Unit。

用途

它用于在已有的研究 Workspace 中精确执行一个符合条件的 Unit,适合逐步执行或手动语义执行。当需要按状态、Attempt、Artifact、Manifest 等条件推进单个 Unit 时使用。若需要跨 Unit 自动连续执行,应使用 research-pipeline-runner。

输入

  • UNITS.csv 以及被选中的 Unit 行。
  • 该行 inputs 字段声明的文件。
  • 当 Unit 受 checkpoint 门控时,需要 DECISIONS.md。

输出

  • Unit 的 outputs 字段声明的文件。
  • 更新后的 UNITS.csv、Run Evidence,以及可选的 STATUS.md 投影。
  • 当严格质量检查阻止 Completion 时,输出 output/QUALITY_GATE.md。

执行步骤

  1. 协调并选择一个 Unit:通过 Pipeline 适配器检查 Workspace,选择请求的 Unit,或选择依赖已 DONE 的第一个 TODO Unit。当遇到 HUMAN checkpoint、未解决的 Decision、打开的 Attempt 或完整性失败而无法选择时停止。完成标准:恰好选中一个符合条件的 Unit,或记录一个阻塞条件并给出具体下一步动作。

  2. 打开 Attempt:通过适配器开始语义工作,而不是直接编辑状态单元格:

uv run python scripts/pipeline.py mark
--workspace workspaces/<name>
--unit-id <U###>
--status DOING
--note "starting semantic execution"

完成标准:Unit 处于 DOING,且有一个匹配的打开 Attempt 拥有该执行。

  1. 执行声明的 Skill:读取所选 Unit 的 Skill,以及该分支所需的上下文指针。产出声明的输出,不修改无关的 Workspace 工件。完成标准:每个必需输出都存在,或失败足够具体可提交为 BLOCKED。

  2. 验证并提交 Completion:评估 Unit 的 acceptance 规则,并在要求时评估严格质量契约。通过适配器提交:

uv run python scripts/pipeline.py mark
--workspace workspaces/<name>
--unit-id <U###>
--status DONE
--note "acceptance checked"

当 acceptance 失败时,使用 BLOCKED 并给出具体原因。不要直接编辑 UNITS.csv;适配器会同步 Attempt、Artifact、Manifest、Decision 和状态投影。完成标准:Completion 为 DONE 并带有 acceptance 与 provenance 证据,或为 BLOCKED 并带有可诊断的 Failure。

  1. 在一个 Unit 后停止:刷新 Workspace 投影并报告已完成或阻塞的 Unit。不要声称端到端完成,也不要启动下一个符合条件的 Unit。完成标准:本次调用中恰好一个 Unit 改变了执行状态,下一位操作者可以从 Workspace 文件继续。

上下文指针

  • UNITS.csv 中被选中的行拥有 dependencies、inputs、outputs、acceptance、checkpoint 和 Skill 身份。
  • 被选中的 Skill 拥有语义行为。
  • 锁定的 Pipeline 拥有跨 Unit 门控和目标 Artifacts。
  • 跨 Unit 自动连续执行请使用 research-pipeline-runner。

脚本与快速开始

uv run python .codex/skills/unit-executor/scripts/run.py
--workspace workspaces/<name>

全部选项

  • --workspace <path>:已存在的 Workspace。
  • --unit-id <U###>:执行一个特定的符合条件的 Unit。
  • --inputs、--outputs、--checkpoint:Pipeline-runner 兼容参数。
  • --strict:阻止类似脚手架的输出,并写出质量门报告。

示例

运行恰好一个严格 Unit:

uv run python .codex/skills/unit-executor/scripts/run.py
--workspace workspaces/<name>
--strict

等价的适配器命令:

uv run python scripts/pipeline.py run-one
--workspace workspaces/<name>
--strict

该辅助脚本在 DONE 或 IDLE 时返回 0,在 BLOCKED 或 ERROR 时返回 2。

故障排查

  • 当没有可运行的 Unit 时,先检查依赖、checkpoint 批准和打开的 Attempt,再更改状态。
  • 当 DONE 的 Unit 缺少输出时,通过适配器重新打开它并附上说明性备注;绝不要只修复 CSV 投影。

适用场景与限制

适用于需要严格控制单步推进、手动语义执行或逐步执行的研究流水线场景。限制在于它一次只处理一个 Unit,不负责跨 Unit 自动连续执行;不直接编辑 UNITS.csv;遇到 HUMAN checkpoint、未解决 Decision、打开 Attempt 或完整性失败时会停止。