七步任务向导

不是给开发者用的控制台——一个科研工作者从"我该怎么办"走到"下一次实验怎么排"的完整闭环。每一步系统都必须给出可以直接采信的价值,每一步也有明确的阻断条件:模型不知道的地方,我们不猜。

骨架版面向 90 天里程碑:让一个真实用户导入自己的历史批次,在不读源码、不相信宣传数字的情况下,独立复现验证结果,并获得一份带区间、边界、成本、负对照和审批记录的下一实验方案。

核心承诺

每一步都必须能被独立复现。 系统输出的每一个数字都来自一个明确定义的脚本与固定的随机种子;证据边界(ROUGHNESS_CAP=0.3、噪声地板 3%、外推硬约束)写在页面上,而不是藏在文档里。系统不知道的地方,它必须说出来。

1

定义决策

Define the decision — what question must the next experiment answer?

系统必须给出的价值

  • 把模糊的"我想改进产率"翻译成一句可验证的假设:提高 X 温度 2°C 能提升 t=12h 时点的 OD600 ≥ 0.15
  • 列出该假设涉及的物理量、可测变量、单位,并检查是否存在公开文献的锚点值
  • 标记决策代价:一次实验的物料、时间、批次成本,用于后续 ROI 排序
产出:ExperimentIntent(schemas/experiment_intent.schema.json)· 含 goal / constraints / candidates[] / risks / review

阻断条件

  • 没有明确的目标物理量("更好"不算决策)
  • 目标变量无法被现有批次数据观测(如批次里没测该指标)
  • 候选空间为空或退化(candidates.length < 2)
示例:PR-08 演示批次产出的 Intent:INT_a1b2c3d4e5f6,目标 OD600@12h,2 个候选(温度 +2°C / 换培养基批号)
2

导入数据

Import the data — CSV in, BatchRecord out

系统必须给出的价值

  • 列名 → BatchRecord 字段的显式路由表:t_h / do_pct / ph / temperature_c / glucose_g_l / biomass_od600 / iptg_mm / media_lot / reactor_id
  • SHA-256 内容寻址 ingest_hash,保证任何时候导入同一份文件都能复现完全一致的 record 序列
  • 缺失列、重复批次、单位异常直接报错,不带"我猜的"字段入库
产出:BatchRecord[](schemas/batch_record.schema.json)· 每条 record 带 ingest_hash 与 provenance

阻断条件

  • CSV 缺少必需列(batch_id 或 t_h 或目标变量列)
  • 同一 batch_id 出现重复时点
  • 测量值单位与预期不一致(例如 biomass_od600 数值 > 500,明显不是 OD 值)
示例:data/real/batch_biomass_demo.csv:6 批 × 8 时点 = 48 行;6 条 BatchRecord 全部通过 Draft-07 校验
3

查看证据边界

Evidence boundaries — where does the model stop being valid?

系统必须给出的价值

  • 对每一个变量给出训练分布与候选点的距离,直接标注 in-domain / out-of-domain
  • 粗糙度扫描 roughness = mean|Δ²f|/std(f);超过 0.3 立即拒绝外推(ROUGHNESS_CAP)
  • 给出负对照清单:如果这个模型连一个反例都识别不出来,它就不能上线
产出:provenance 段(进 EvidenceManifest)· negative_controls[] · evidence_grade(E1/E2/E3)

阻断条件

  • 所有候选点都在训练域之外(GP 塌向均值,无外推能力——A15)
  • 证据等级 < E2(只有合成数据,无真实锚点)
  • 负对照清单为空——没做过负对照的模型没有资格给建议
示例:PR-08 演示:latest_train_batch_last_value baseline 在测试批次上 rmse_rel=0.551,诚实标注 WARN——朴素基线在这个场景就已经很糟糕了
4

建模与校准

Modeling & calibration — fit the surrogate with a fixed seed

系统必须给出的价值

  • 高斯过程代理 + Matérn 核 + Cholesky 分解;固定种子 4242、校准种子 7311、官方种子 991
  • 两阶段门控(A13):OOF 阶段只判 rmse,生产阶段判 coverage,可零破坏回退到 mean_fn=None
  • 覆盖区间必须命中 ≈0.95 名义水平;低于 0.90 直接拒绝上线
产出:calibration 段(evidence_manifest.schema.json)· 门控阈值与实测值一一对应

阻断条件

  • 覆盖率 < 0.90(区间太窄,不可用)
  • 训练点 < 3× 输入维度(欠拟合必然)
  • 含乘积项的变量被独立设 bounds(neuro_lif_fi 上界 20V 导致 99.9% 饱和的经典陷阱)
示例:PR-08 演示走 baseline_ladder 而非自定义 surrogate,是因为样本量不足以训练 GP;这本身是诚实的行为
5

比较下一实验

Compare the next experiment — ROI, cost, marginal evidence

系统必须给出的价值

  • 每个候选实验给出 边际证据价值 (MDV):这个实验最可能改变什么结论
  • 主动学习选点必须先过 proximity() 过滤——超出设计域的候选点直接排除(A14)
  • 每个候选都标上"如果失败,最坏代价是什么"——避免只讲 ROI
产出:recommended_actions[](每条 intent 至少 3 条下一步建议)· fallback 回退策略

阻断条件

  • MDV < 噪声地板 3%(不下降)——这个实验根本测不出差异
  • 超过 20 次虚拟实验仍无结论——直接说"需补数据,先补 X",而不是继续烧算力
  • 候选点全部在 OOD 边界外
示例:/api/v2/nl 增加 recommended_actions 后,NL2Query 每条回答都自动附带 3 条可执行下一步
6

审批与执行

Approve & execute — human-in-the-loop, signed

系统必须给出的价值

  • Intent 必须携带 review.signing_algorithm(ed25519 / jwt-es256),审批者身份可回溯
  • 系统不代发任何邮件、不提交任何表单、不签名——这些动作永远留给人
  • 审批记录写入 signatures[]:谁、何时、批了什么、依据哪几条证据
产出:signatures[](evidence_manifest.schema.json)· review.status = approved|rejected|pending

阻断条件

  • review.status ≠ approved——任何未审批的实验都不能被系统标记为"可执行"
  • 审批记录缺失(signatures 为空)
  • 证据等级 < E2 且需要对外发布
示例:Digital Science Catalyst Grant 申报——AI 起草、状态更新、模板准备,但不代发邮件、不代签名(grants_radar.json 的 user_must_do 字段)
7

回流与交付

Return & deliver — close the loop, hand over the reproducible bundle

系统必须给出的价值

  • 实验结果回流入 data/real/,更新证据等级(E2 → E3 → 真实锚点)
  • 交付一份带 SHA-256 校验和的复现包:BatchRecord + 切分方案 + Intent + Manifest + 环境锁文件
  • 第三方在不读源码的情况下,用同一份种子与同一份环境就能得到同一份结论
产出:outputs/repro-package-<ts>.tar.gz(scripts/export_repro_package.py)· 含 SHA256SUMS + manifest.json

阻断条件

  • 任一条产物的 SHA-256 与 SHA256SUMS 不一致——包不完整,无法交付
  • manifest.json 的 random_seed / environment.python_version 缺失
  • 负对照没有跟着包一起走——第三方无法验证"如果结论错了会怎么表现"
示例:python scripts/export_repro_package.py --card outputs/pr08/experiment_card.json 一键导出

📦 一键复现包导出

七步跑完后,SwarmLabs 会把整条链打成一个 .tar.gz 交付给第三方。里面包括:

一键导出命令:

# 从实验卡 JSON 一键导出复现包
python scripts/export_repro_package.py \
    --card outputs/pr08/experiment_card.json \
    --outdir outputs/repro-packages/

# 结果:
outputs/repro-packages/repro-package-<timestamp>.tar.gz
batch_records.jsonl split.json intent.json manifest.json SHA256SUMS env.lock.json

90 天里程碑与骨架版完成度

本页为骨架版。90 天里程碑要求"真实用户导入自己的历史批次,独立复现验证结果,获得带区间/边界/成本/负对照/审批记录的下一实验方案"。骨架版覆盖数据契约与交付链,产品化界面(真实用户 pilot、多租户隔离、审计日志)后续迭代。

能力状态说明
BatchRecord 数据契约DONEschemas/batch_record.schema.json(270 行,7 组语义)
ExperimentIntent 数据契约DONEschemas/experiment_intent.schema.json(280 行,ed25519/jwt-es256 签名)
EvidenceManifest 数据契约DONEschemas/evidence_manifest.schema.json(310 行,11 段结构)
CSV → BatchRecord 导入DONEscripts/import_batch_csv.py(列名路由 + SHA-256 ingest_hash)
按 batch_id 隔离切分DONEscripts/split_by_batch_id.py(chrono/round_robin + 泄漏断言)
实验卡构建(含 3 档 baseline)DONEscripts/build_experiment_card.py(mean_all / mean_last_value / latest_train_batch_last_value)
七步任务向导骨架DONE本页(frontend_fixed/mission.html)
一键复现包导出DONEscripts/export_repro_package.py(tar.gz + SHA256SUMS + env.lock)
真实用户 pilot 界面NEXT90 天里程碑的下一批迭代
多租户隔离与审计日志NEXT企业版要求

参考:验证账本 · 失败案例 · V&V 报告库 · API 参考 · 定价

© 2026 SwarmLabs. 数据契约与随机种子全部开源,欢迎独立复现。