---
name: jcrd-reproducibility
description: 在为《计算机研究与发展》(Journal of Computer Research and Development, JCRD) 稿件构建可复现性与实验可重复证据时调用。覆盖环境与依赖版本固定、随机种子与非确定性控制、数据集版本与抽取日期钉死、大模型/API 输出缓存、硬件与度量口径记录、双盲下的匿名可运行材料、诚实的可用性说明，以及让外审专家在不联系作者情况下重跑主结果的组织方式。适用于把一份 JCRD 中文稿件的实验做到可被第三方在受控条件下重复、并经得起外审可复现质疑的场景。
---

# 《计算机研究与发展》可复现性与实验可重复 (JCRD Reproducibility)

本技能帮助为《计算机研究与发展》(Journal of Computer Research and Development, JCRD) 稿件建立
**可复现性**证据。JCRD 实行**双盲多轮同行评审**，外审专家常就「结果能否重复」提出质疑；一份在
设计期就钉死来源、控制随机性、并提供匿名可运行材料的稿件，能显著缩短评审轮次。可复现不是事后补的
包装，而是**采集期**就要做的工程纪律。

## 一、可复现的三个层级

| 层级 | 含义 | JCRD 关注点 |
|---|---|---|
| 可重复 (repeatable) | 同一团队同一环境重跑得同一结果 | 种子、环境、脚本固定 |
| 可复现 (reproducible) | 他人用你的材料重跑得同一结果 | 匿名材料 + README + 数据/代码 |
| 可复制 (replicable) | 他人独立实现得一致结论 | 方法与设定描述充分，见 `jcrd-experiments` |

外审最常要求的是**可复现**：审稿人能用你提供的材料跑通主结果。

## 二、环境与依赖固定

```bash
# 记录并冻结环境
pip freeze > env/requirements.txt          # 或 conda env export > env/environment.yml
python --version; uname -a                  # 语言与系统版本
nvidia-smi | head -3                        # GPU 型号与驱动（若用）
```

- 固定**依赖版本**（不用浮动版本号），必要时给 Dockerfile。
- 记录**硬件**（CPU/GPU 型号、内存）、CUDA/驱动版本、关键库版本。

## 三、随机性与非确定性控制

- 固定随机种子（数据划分、初始化、采样），并在论文中报告是**单次**还是**多次均值±方差**。
- 说明非确定性来源（并行归约、GPU 非确定算子）及是否已开启确定性模式。
- 多次运行报告统计量与显著性，避免用单次好结果，见 `jcrd-experiments`。

## 四、数据与模型来源钉死

- **数据集**：记录名称、版本、抽取/下载日期、划分方式；自建数据给构建与清洗脚本。
- **大模型/API**：记录模型标识与日期、温度等参数，并**缓存原始输出**——需实时 API 才能跑的材料是
  重采样而非复现。
- **预训练权重**：记录来源与版本号。

## 五、双盲下的匿名可运行材料

- 外审版材料用**匿名托管**，去除仓库 owner、提交者、个人主页、单位与基金号（见
  `jcrd-artifact-evaluation`）。
- README 让审稿人**不联系作者**即可跑通主结果，脚本与论文表/图**编号对应**。

## 六、诚实的可用性说明

- 稿件中写明提供什么、在哪里、如何运行、预期输出。
- 不能公开的数据/代码**说明原因**并给替代（合成样例、部分数据、申请路径），不写「可向作者索取」。

## 七、度量口径记录

- 明确指标定义与计算脚本；报告与基线**同口径**（同数据划分、同评测协议）。
- 系统类工作记录测量方法（预热、重复次数、取均值/中位数）、负载与并发设置。

## 八、可复现自检清单

- [ ] 依赖版本冻结，硬件与系统版本记录。
- [ ] 随机种子固定，多次运行报告统计量与显著性。
- [ ] 数据集版本/抽取日期、模型标识/日期钉死，API 输出已缓存。
- [ ] 匿名材料可让审稿人独立跑通主结果，脚本对应图表编号。
- [ ] 可用性说明诚实，指标口径与基线一致。
- [ ] 录用后材料实名永久化（见 `jcrd-camera-ready`）。

## 九、逐周期复核

- 官网当期对可复现材料的要求或推荐（**待核实**）。
- 专题（尤其大数据/系统类）对可扩展性数据与工作负载的额外期望（**待核实**）。

## 十、README 骨架建议

一份让外审在不联系作者时也能重跑主结果的 README，应包含：

```text
# 复现说明（匿名版）
## 1 环境
   - 系统/语言版本、依赖清单（requirements.txt）、可选 Dockerfile
## 2 数据
   - 数据集名称、版本、下载/生成脚本、划分方式
## 3 一键运行
   - `bash scripts/run_main.sh` → 复现论文表 5、表 6
   - `bash scripts/run_ablation.sh` → 复现表 7 消融
## 4 预期输出
   - 主结果指标区间、运行时长、硬件建议
## 5 目录说明
   - src/ data/ scripts/ results/ 各自作用
```

《计算机研究与发展》(Journal of Computer Research and Development, JCRD) 的外审虽不设独立 artifact
评审徽章，但一份能独立跑通的材料能有效回应「结果能否重复」的质疑。

## 十一、可复现常见失分点

| 失分点 | 后果 | 修法 |
|---|---|---|
| 依赖用浮动版本 | 他人装到不同版本跑不通 | 冻结精确版本 |
| 单次结果当定论 | 被质疑偶然性 | 多次 + 显著性 |
| 数据无版本/日期 | 无法定位同一份数据 | 记录版本与抽取日期 |
| 需实时 API | 重采样而非复现 | 缓存原始输出 |
| README 缺一键脚本 | 审稿人放弃复现 | 提供 run 脚本对应图表 |
| 材料泄露身份 | 破坏双盲 | 匿名托管、清 .git |

## 小结

可复现不是投稿前的包装，而是采集期就要建立的工程纪律。为《计算机研究与发展》(Journal of
Computer Research and Development, JCRD) 稿件固定环境依赖、控制随机性、钉死数据与模型来源、
缓存大模型输出，并提供一份让外审在不联系作者时也能独立跑通主结果的匿名可运行材料，能有效回应
双盲评审中最常见的「结果能否重复」质疑，也为录用后材料实名永久化打好基础。

## 输出格式

```text
[JCRD 可复现状态] 就绪 / 待补
[层级] 目标：可复现（审稿人可独立重跑）
[环境] 依赖冻结 + 硬件/系统记录？
[随机性] 种子固定 + 多次统计量 + 显著性？
[来源] 数据版本/日期 + 模型标识/日期 + API 缓存？
[匿名材料] README 可独立跑通、脚本对应图表？
[可用性说明] 诚实、口径一致？
```
