# 复杂工作流:自主提取与执行验收(2026-10-24) 本轮同布局任务完整通过,调用成本下降。结论只覆盖本次固定输入、Linux 容器及目录布局;不代表任意脚本、目录结构或操作系统均已验证。整个开发验证过程成本很高,全部前序失败和提取另列,不能只用最后成功样本衡量研发投入。 ## 最终一轮对比 | 测试 | 关闭耗时 | 开启耗时 | 关闭 Token | 开启 Token | |---|---:|---:|---:|---:| | 第 1 次 | 192.560 秒 | 171.281 秒 | 656,688 | 242,423 | 端到端耗时下降 **11.1%**,Token 下降 **63.1%**。真实推理用量结算次数从 14 降至 8;开启侧只有 1 次 `capability_run`,0 次运行时修订,0 次 Bash/原始整条入口回退。没有调用外补写成功报告。 Token 包含 input、cache-read、output,包含失败、格式修正、自动目标继续与收尾。时间从首次 turn/start 到最后 turn/end,关闭侧两个 turn 的间隔也计入。最终两侧用量完整、所有 turn 结束。关闭侧为 C36 完整成功记录,开启侧为 C39 新环境的新生成物;提取阶段分别计费。C39 上限取关闭侧实测值:192.560 秒 / 656,688 Token。 同模型 TraeX / GPT-5.5 / medium、相同 Linux ARM64 镜像与业务源码、相同输入及依赖版本。只改变物理工作根与容器标识,均使用 `workRoot/raw` 相对输出布局。关闭侧的能力库为空;开启侧从空能力库重新提取,仅导入原始成功业务会话,没有旧规划、生成物、修复会话或旧业务输出。独立容器挂载同一固定版本只读运行时;安装、缓存、故障样本和输出在实验目录。没有重启原 3080 服务。 正式 C39 提取另耗 **352.452 秒 / 1,232,664 Token**,5 个 SkillX、5 个 workflow。提取 Agent 只拿到原始成功会话与用途要求,没有观察者给出的函数、行号或修复位置。提取阶段按框架通用诊断自行修订,没有手工编辑生成物。它没有在提取阶段执行这次业务作业。 按这一对样本估算,仅摊销最后一次成功提取,约需 3 次同任务调用摊平 Token、17 次摊平耗时;这不是多轮统计或速度保证,也不包含前面的研发成本。 ## 框架改动与原因 - 源码与原调用上下文:定位相对脚本路径及分号分隔的字面量变量;源码接口提供调用位置、参数表达式及公共 CLI 环境覆盖项。函数适配保留原始初始化表达式,`bindings` 仅在明确传值时覆盖;不再把解释器、库目录等所有绑定强制变成必填。void 函数转 JSON null,保留目录准备等原始副作用。没有新增运行时自动建目录、自动安装或自动恢复。 - 参数与返回:构建时根据实际透传关系补齐对象的子契约,减少调用者继续读取内部能力;检查可静态确定的返回对象是否漏掉 Schema 必填字段。动态表达式仍受原有运行时输出验证约束。 - 复用语义与副作用:根据真实源码入口及 argv 拒绝组合子能力后重放原始完整任务;检查独立 CLI 是否保留原父调用共同提供的环境覆盖。本例为 INSTALL_TRACE,遗漏它会把安装日志写进只读依赖前缀。 - 诊断:目标内 cwd 不存在时返回明确目录诊断;经 PTC 捕获的脚本失败保留简短原始信息,避免调用方只看到 `SCRIPT_PROGRAM_FAILED:0` 后修错执行目标。 业务代码未写死进框架,没有增加内容哈希门禁、新执行 DSL、额外 OS 实现或运行时补救机制。未新增单测,以真实原始作业和新能力实跑验收;对前一轮真实草稿直接调用构建检查,确认能识别原来的 8 处输出/调用环境问题。对 C36 真实生成物确认能识别完整入口重放。 编译行为标识更新为 `esm-functions-v2`,说明与诊断已同步到 [运行机制](../../operation.md)。实跑后仅补齐该标识和 validationReceipt 的检查名称,不改变执行行为。已有发布资源不自动重编译,需重新提取;本轮没有修改存量能力。 ## 真实结构与恢复证据 实际调用路径为:根归档 → 双批发布 → 单批发布 → 数据集并行校验 → 三个叶子 SkillX,共四层 workflow。执行回执中,数据集 workflow 和三个叶子各实际调用 4 次,批次 workflow 调用 2 次。三种业务资源进程存在共同重叠时间段,数据集汇合进程在三者结束后启动。见 execution-dag-proof.json。 DAG 由当前程序与锁定依赖自动生成,Agent 没有编写图:静态图 24 节点、26 边;有一个动态并行区域不能静态确定成员。该不确定性保留在图中,实际嵌套及重叠由运行记录证明,不将静态图当作运行证据。 | 验收 | 实际结果 | |---|---| | 普通任务自动发现并调用 | 通过,任务描述没有能力名 | | 两批各 157 行、117 活动行及分组金额 | 通过,每批总额 71625 | | Parquet、8×6 PNG/像素、JS 实际加载 | 通过 | | 批次单数据集失败后复用成功数据集 | 首轮 failed、恢复 passed,成功数据集记录保持 | | 单分支失败仅恢复该分支 | CSV/image 原 finished_at 不变,module 恢复成功 | | 损坏产物拒绝误复用 | 通过,实际损坏 PNG 后只重做相关分支 | | 下层失败/跨批不一致拒绝成功报告 | 通过 | | 环境缺库与模块代码错误分别诊断恢复 | environment_missing_dependency / script_logic,均有 before/after | | CLI 四进程并发 | 4 个均成功,1 个实际安装、3 个等待复用 | | 安装真实中断恢复 | 包 JSON/bin/文件均已落盘、ready 未提交时 SIGKILL 进程组;恢复后退出 0 并实际可执行 | | workflow 自身归档 | 最终文件由其自有 final_summary 资源生成 | 恢复场景由根 workflow 调用的自有验收 SkillX 内完成。它保留了原始业务恢复代码及完整故障夹具,没有在调用外补报告;**本轮不把它表述为宿主 DAG 节点 checkpoint 恢复的验证**。 mtime/hash 证据没有伪造事前快照:原验收保存 CSV/image 前后 finished_at;独立只读核对显示两份报告及 Parquet/PNG 的最终 mtime 都早于首轮失败结束,并且实际文件 hash 与首轮报告记录一致。因此可排除恢复期间重写这些文件。exactBeforeAfterMtimeSnapshot=false 明确记录于 acceptance.json。报告及产物哈希属于原任务验收,不是新增框架哈希校验。 开启侧依赖安装等待本次更长:缺库安装 26.011 秒(关闭 18.711 秒),并发 CLI 最慢 worker 38.000 秒(关闭 18.027 秒)。两侧等待全部计入表格,没有扣掉网络耗时或用归一化结果代替实测值。单轮不能给出稳定速度分布。 ## 前序成本与未解决边界 | 轮次 | 已结算 Token | 结果 | |---|---:|---| | C35 首次规划 | 至少 65,796 | 为补齐源码定位而中止,没有发布 | | C35 提取 | 1,841,098 | 发布后暴露绑定默认值变成必填 | | C35 调用 | 至少 107,558 | 203.253 秒超时,未通过 | | C36 提取 | 1,143,372 | 发布后复核发现原始完整入口重放,没有启动调用 | | C37 提取 | 936,479 | 全新能力库 | | C37 调用含修订 | 至少 668,204 | 157.404 秒 Token 超限,输出布局变更未通过 | | C38 提取 | 2,086,867 | 全新能力库 | | C38 调用含修订 | 至少 708,479 | 173.434 秒 Token 超限,返回契约/CLI 环境遗漏 | | C39 提取 | 1,232,664 | 最终全新提取 | | C39 调用 | 242,423 | 完整通过 | 以上提取总计至少 **7,306,276 Token**;失败调用合计至少 **1,484,241 Token**。另外 C35 原始执行已结算 356,013、C36 原始完整执行 656,688 Token。**本次全部实验 Agent 已结算总计至少 10,045,641 Token**,不含本聊天 Codex 的消耗,取消中请求可能尚未结算。不能将最后一轮的节约率用于宣称本次研发整体省钱。 预算观察约每 0.5 秒轮询,用量在请求结算时才可见:C37/C38 在首次观测到超过 Token 上限后立即停止专用服务与容器,分别超出 11,516 / 51,791 已结算 Token;时间限制也存在轮询停止延迟。未声称服务端逐 Token 硬限制。 C37 的 raw→on 相对目录变更没有通过;这是实际限制,未宣称修复。最终对照回到与原始任务相同的相对布局,只隔离物理根;七项功能和实际恢复要求均未减少。任意输入文件命名、目录布局、原生 Windows/macOS 执行及宿主持久化恢复不在本轮已通过范围。 ## 证据 完整证据目录:`~/.cache/skillx-clean-v39/evidence`。 - comparison.json、raw-final-measurement.json、on-final-measurement.json:最终一轮端到端完整用量。 - extraction-start.json、extraction-status.json、extraction-cost.json:全新提取与成本。 - acceptance.json:七项验收、CLI 部分落盘恢复、不可变产物的只读证据。 - execution-dag-proof.json:四层调用、真实三分支重叠和汇合先后。 - workflow-graph.json / dag.png:自动静态图及其动态区域限制。 - development-costs.json、cost-summary.json:全部失败和多轮提取独立账本。 - completed.png、raw-completed.png:开启/关闭侧完整成功会话截图。 - framework-snapshot/:C39 实跑时源码;之后仅版本与 receipt 名称修正。 实际输出:`~/.cache/skillx-clean-v39/work/raw/reports/final_summary.json`;原始完整对照:`~/.cache/skillx-clean-v36/work/raw/reports/final_summary.json`。 实验结束时,C35–C39 专用测试服务与容器均已停止。原始证据保留在本机,本文中的 C 编号仅用于对应历史证据。 ## 更早失败的必要记录 早期同一复杂任务曾因结果路径错误、修订缺少真实失败边界输入、重复重跑整条发布及不断扩大的上下文,耗费 7,788,364 Token,其中诊断、修订和重跑为 6,557,143 Token。这些失败不能用最终成功样本抵消,也不能与不同 Git 任务的约16秒结果直接比较。 最终修复前的独立从零提取样本 C34 也未通过:缺失输出目录准备、不透明输入对象、验收丢失真实故障夹具,以及 cwd 错误被误判为环境问题。提取 573.927 秒 / 2,003,678 Token;关闭与开启均在约203秒中止,分别已结算441,569、至少610,171 Token。未完成样本不计算收益。后续 C35–C39 的成本已单独列于上表,不能将不同阶段账本直接相加或只保留成功轮次。