用途:为每次已执行的体育建模实验建立一条不可变记录,使其他分析师能重建尝试内容、与声明的基线对比、审计有效性并理解保留、丢弃或后续跟进的原因。失败的运行同样属于证据,应保留在历史中。它记录的是试验历史,不等同于验证章程(定义评估)、模型卡(冻结已晋升模型契约)或结果报告(面向读者解释评估)。
主要能力:在运行前记录唯一 ID、UTC 时间戳、操作者、可证伪假设与预期方向;运动、赛事、行粒度、目标、总体与决策时间 T;不可变数据快照/查询及其来源元数据;特征集引用与可用性、变换规则;基线/候选配置、验证章程与锁定的主指标;代码版本、环境引用、随机种子与精确命令;预先声明的成功、完整性、校准、稳定性与复杂度限制。结果观察后不得改写这些字段,纠正与偏差以追加方式记录。
记录结构包含 experiment_id、created_at_utc、operator、hypothesis、sport/competition/grain/target、prediction_timestamp_rule、data_sources/immutable_snapshot、feature_set_ref、validation_charter_ref、primary_metric、model_family/config_ref/code_version、random_seeds、commands、status、fold_metrics、calibration、leakage_audit_status、decision、artifacts/checksums 等字段。
使用方式:先检索既有日志、分配新 ID 并在运行前建记录;冻结假设、主指标、基线与成功规则;链接不可变数据、特征、验证、配置、代码与环境产物;记录非交互命令;在相同合格行与折上运行基线与候选;追加折级指标、运行时间、警告与产物校验和;记录校准、泄漏、切片与失败诊断;标记偏差与无效运行;按预先声明的规则决策。示例命令:python /path/to/experiment-log/scripts/new_experiment.py --slug home-form-logit --sport nfl。辅助脚本创建带时间戳、用户所有的 Markdown 产物并校验 slug,创建是排他的,并发调用会重试序列且不覆盖或复用已有 ID;生成的是计划记录,执行前需补全运行前字段,之后追加结果与偏差而不改写已冻结契约。
适用场景:需要后续可比较的建模实验、需要决策历史、在锁定验证设计下晋升/拒绝候选、记录失败与偏差及其原因。
限制:仅当目标、T、总体、数据快照、行、折、指标与基线定义一致时比较才有效,否则须记录差异且不得将指标变化单独归因于模型。终局指标须标注为事后分析,不能暗中驱动主决策;更改指标、总体或假设需要新 ID。发现泄漏或验证违规时,向所有受影响实验及下游产物追加无效条目,不覆盖原记录。不得删除失败运行、静默更改主指标、覆盖被引用产物或在无基线与时间审计的情况下晋升。