experiment-looplisted
Install: claude install-skill wookat/ai-research-skills
# Experiment Loop(实验循环)
完整红线见 `shared-references/research-integrity.md`。
把一个已立项的 idea 变成一条闭合的证据链。核心纪律:**假设先行、公平对比、失败归因**。
本 skill 是实验阶段的编排层;具体操作委托给同包的四个专项 skill:
`reproduce`(论文复现七阶段法)、`compare`(同 epoch 公平对比)、
`debug`(证据优先的训练问题诊断)、`experiment-design`(消融矩阵设计)。
对应环节直接按它们的 SKILL.md 执行。
## 阶段 A — 基线复现(不可跳过)
1. 按领域模块 `domains/<领域>.md` 指定的代码底座、数据集与评测协议搭环境。
2. 复现 2-4 个关键 baseline,结果与原论文对表;偏差 >5% 必须归因��数据切分、
归一化、超参、库版本),归因前不得开始新方法实验。
3. **失败切片分析**:baseline 在哪类样本/条件下系统性失败?这既校准直觉,也常反哺创新点。
4. 固化实验基建:统一 config、固定随机种子集合(≥3 个)、结果自动落盘
(`results/<exp_id>/` 含 config + metrics + git commit hash)。
## 阶段 B — 最小验证实验
跑 idea card 里的"证伪计划"和"最小验证实验"(≤1 GPU·天)。
结果为否 → 不粉饰,直接走失败归因(阶段 C 的否定分支)。
## 阶段 C — 假设树迭代
维护 `hypothesis_tree.md`,每轮循环:
```
假设 H<N>:<机制性陈述,���预期现象>
实验:<最小可判定实验>
结果:证实 / 证伪 / 不确定
证实 → 派生子假设(加消融、扩数据集、探边界条件)
证伪 → 归因分析(按数据切片/训练曲线/中间表征定位原因)→ 修正假设 H<N+1>
不确定 → 检查实验设计(统计功效不足?混淆变量?)
```
硬规则:
- **一次只改一个变量**。同时改两处的实验结果不入证据链。
- **公平对比**:新方法与 baseline 同 epoch/同预算/同调参努力对比;给 baseline
的调参努力必须不少于给自己方法的。
- **禁止指标漂移**:结果不好不得悄悄换指标/换数据集/换切分讲故事。评测协议在
阶段 A 冻结,变更需记录理由并全量重跑。
- **显著性**:主结果报 ≥3 种子的均值±标准差(std);提升幅度小于种子间标准差的结论不成立。
统计检验方法选择交给同包 `statistical-testing`,并遵守:
- **n=3 种子不要报 p 值**(检验功效不足,p 值无意义);报均值±std 或极差即可。
- **≥5 种子**且需要显著性结论时,用配对检验(同种子同数据集配对;小样本首选
Wilcoxon signed-rank,分布近似正态可用 paired t-test)。
- **多重比较**:数据集 × 预测长度 × baseline × 指标同时做几十次比较时,未经
校正(Holm / Benjamini-Hochberg FDR)的“显著”会大量假阳性;要么校正,
要么只对预先指定的主对比做检验、其余只报描述统计。
- 连续两轮假设证伪且归因指向核心机制本身 → 停止,出决策卡(