Skip to content

Swarm worker 完成判据:从 worker 自报 status 改为系统层可观测产物核验(STOS 侧 12 spawn 判例 + 三档方案 A/B/C) #1403

Description

@lumenfield

Swarm worker 完成判据:从 worker 自报 status 改为系统层可观测产物核验

报告方:STOS 系统(github.com/1jehuang 下的 STOS 项目,jcode 的主要用户侧之一)
日期:2026-09-22

现象

jcode 的 swarm action=spawn + swarm action=report status=completed 目前语义是:worker 自己判定并上报"完成",coordinator 通过 swarm action=await_members 收到的只是 worker 自报的 status 透传,系统层没有独立校验"worker 声称的产出是否真实落盘"。

STOS 侧在真实使用(合参/蜂群流程)中已经坐实过这类问题:单一批次 12 次 spawn,4 次"worker 自报 completed 但实际未 write/commit 任何文件",另有 1 次"改错文件位置(commit 到了不被任何启动脚本引用的陈旧副本,改了对系统无实际影响)"。这 5 次全部是靠 coordinator 事后 git log / ls 独立核验才坐实,机制本身没有任何拦截能力,完全依赖下游人工补救。

STOS 侧已在 swarm-prompt 层面自行加了 L1(git 可溯源:worker report 必须带 commit+file 字段,coordinator 独立核验)/ L2(report 必带可验证字段)/ L1b(权威源核验:多副本文件改前 grep 判据)三条自律规则,这些是 prompt 层软约束,不能从协议上杜绝"worker 构造出自洽但虚假的完成声明"(只要"完成"这个状态允许 worker 单方面 report,理论上 worker 总能编一个能自圆其说的 commit hash/文件路径)。

诉求(三选一,请 jcode 团队判断哪个成本最低可先做,不替团队排优先级)

方案 A(最小改动):swarm action=report 接口层加一个可选的 evidence 字段(commit hash / 产出文件路径),swarm action=await_members 的返回结果里带一个"该 worker 声称的产出是否被系统层验证过存在"的标记(不只是透传 worker 自报的 status 字符串)。

方案 B(中等改动):complete_node 的 artifact 校验逻辑扩展为"校验 artifact 文件在 report 时刻是否真实存在于文件系统",不依赖 worker 自报。

方案 C(最大改动,L3 根治):swarm 完成语义整体改为"完成 = 系统观测到可验证产物(文件/commit 真实存在)",report 只是附言而非完成证明。这是彻底的协议层重构。

判例数据(供评估参考价值,非全部细节)

  • 批次:STOS 合参133/134 stos-v2 S0~S3 + 回灌,单批次 12 次 spawn
  • 失败模式 1(4 次):worker 自报 completed + token 消耗明显(30~300k+)+ 但产出文件/commit 均未落盘,coordinator 靠 git log 事后核验发现
  • 失败模式 2(1 次):worker commit 到了错误文件位置(多副本目录下的陈旧副本,该副本不在任何启动脚本引用链),git 核验能查到 commit 但查不出"改错地方",比模式 1 更隐蔽
  • STOS 侧已自行缓解(prompt 层 L1/L2/L1b),但根治需要 jcode 平台层改动,超出 STOS 可单方面范围

建议(非强制,供参考)

若团队评估方案 A 成本最低可先做,STOS 侧可以配合提供"12 spawn 判例明细 + L1/L2/L1b 自律规则全文"作为验收测试用例(evidence 字段应能捕获的 5 类失败模式,可写成 5 个最小复现 case,供 jcode 侧跑回归测试用),这部分 STOS 侧主动提供,不需要 jcode 团队额外负担。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: swarmMulti-agent coordination, workers, and task orchestration.autonomous: noNeeds your brain: a product/design decision is required before anyone acts.enhancementNew feature or requesttriage: needs-decisionNeeds maintainer decision/design thought

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions