/research-experiment
/research-experiment —— 执行已设计的研究并捕获带有完整溯源的原始数据,外加一份可复现性清单(环境、随机种子、协议、版本固定)。
角色: 首席研究员(执行) 流水线位置: 链路中段
执行已设计的研究或实验,并捕获带有完整溯源的原始数据。保证可复现性:记录环境、随机种子、协议日志和版本固定,以便独立方能够重新运行。
规范调用
/research-experiment带参数:
/research-experiment [--suite-name NAME]输入
_inputs/study-design.md(设计)与 _inputs/preregistration.md(冻结的分析计划)。
输出
_outputs/experiment-log.md(带时间戳的协议轨迹,外加自主实验活动的收尾记录)、位于主机自然位置的原始数据,以及 _outputs/reproducibility-manifest.md(环境、随机种子、协议、版本固定)。
下游
/research-analysis(下游消费方)
工作流阶段
该命令遵循标准的 /research 流水线工作流:
- 加载上下文 —— 读取研究设计与预注册。
- 校验顺序门 —— 确认
_inputs/study-design.md存在;否则以Blocked: run /research-design first停止。 - 运行与记录 —— 执行协议;捕获带溯源的原始数据;记录带时间戳的协议轨迹。
- 捕获可复现性 —— 记录环境、随机种子、协议和版本固定。
- 更新交接清单 —— 记录数据位置与可复现性清单。
- 发出日志 ——
_outputs/experiment-log.md+ 原始数据 +_outputs/reproducibility-manifest.md。
严谨性强制底线
执行先运行一遍试点扫查来校准预算与取值范围,然后在一份声明的算力利用计划下运行完整对照(核心分配、内存上限、独立重复的安全并行化)。每个随机方法都以其预注册的重复方案运行,记录随机种子并记录硬件。可选、默认关闭的自主实验循环可用。针对一个冻结的框架,它对单个可变目标提出一次变更,在每次运行之前陈述一个可证伪的预测,并在固定预算下运行。主要指标从运行日志中读取为两个信号:引导循环的搜索信号,以及来自一个不相交集合的准入信号,后者在变更被保留之前确认或否决该变更:变更必须先通过搜索阶段,然后在准入上以超过所述噪声余量的幅度胜过现任者(或在降低复杂度的同时与之持平)。每一次试验都记入日志,每一次准入查询都被计数并披露。
一个最终的未触碰集合在收尾时只评估一次。没有该集合的实验活动会将其结果标记为受选择污染且属探索性,且该活动报告的任何数字都会按上述重复方案重新测量。操作者对目标、框架、指标、评估集合、接受规则、预算和工作区确认一次,并可固定停止标准;停止时,收尾记录(试验、保留、丢弃、崩溃及准入查询的计数,相对基线的增益,以及未触碰集合的结果)会写入实验日志,以便分析阶段对循环选出的结果进行分类。
失败模式
| 症状 | 原因 | 恢复 |
|---|---|---|
| Blocked: run /research-design first | 没有研究设计 | 运行 /research-design 以生成 _inputs/study-design.md |
| 运行不可复现 | 缺少随机种子 / 环境记录 | 在继续之前记录完整的可复现性清单 |
| 协议偏差未记录 | 运行中途的变更未被记录 | 在实验日志中记录该偏差;在分析阶段披露 |
| 循环结果被当作验证性结果呈现 | 循环依据其准入集合进行引导,或在收尾时未读取未触碰集合 | 将结果标记为受选择污染且属探索性;搜索信号负责引导,准入信号负责决定,未触碰集合只读取一次 |
示例
# 运行已设计的研究并捕获可复现的原始数据
/research-experiment --suite-name <name>