创建人员:Codex
文件职责:定义通用实验体系的文档结构、实验设计流程、实验执行流程、审计入口和模板使用规则。
管理规范/模板:项目通用实验体系架构文档;本文件不是模板文档,模板文档放在 common/exp-doc/*模版.md。
引用文件:../../管理系统说明.md;../../体系说明.md;../pro-doc/需求规范.md;../dev-doc/编码规范.md;历史实验总纲、实验设计、实验计划、执行约定已去项目化抽象。
统一依赖:本规范必须同时遵守 ../../全局规范.md 和 ../project-doc/项目规范.md;项目本地实验规范可补充流程,但不得违反全局规范、全局项目规范和本体系硬约束。
实验是一种事项类型。
实验不是单纯跑脚本,也不是只看 summary。实验必须把一个问题从“为什么要做”推进到“怎么验证、怎么执行、证据在哪里、结论能读到什么程度、是否通过审核”。
实验体系的目标:
实验审核规范.md。common/exp-doc/实验规范.md 是全局通用实验规范。
所有项目的实验员都必须遵守本文件。每个项目创建实验环境时都必须创建项目本地 exp-doc/实验规范.md。项目本地规范默认可以很短,只引用本文件并声明必须遵守;如果补充项目特化规则,不能违反本文件的硬约束。具体流程可以按 1A.1 设计本地版本。
项目本地 实验规范.md 即使没有额外项目规则,也必须说明本项目核心实验文档的作用和入口,至少覆盖:实验总纲.md、实验设计.md、实验执行日志.md、实验存储体系.md、实验审计报告.md、实验问题记录.md。这样实验员进入项目后,不需要回头翻 common 文档也能知道本项目实验证据链怎么走。
项目本地规范允许补充:
项目本地规范不得削弱:
如果项目本地规范与 common 规范冲突,必须先修项目本地规范;冲突未解决前,不应把对应实验标为完成。
common 实验规范规定底线和默认流程,项目本地 实验规范.md 可以设计更贴合项目的实验流程。
本地流程设计必须先满足 common 硬约束:目标和边界清楚、来源聊天记录可见、设计和执行可追踪、设计和执行有审核闭环、结论不过读。
本地流程可以做两类调整:
如果只是新增流程,只要不违反 common 硬约束即可放行。
如果是修改默认流程,必须在本地 实验规范.md 或对应实验设计中写清楚覆盖范围、替换原因、输入输出、关键证据链和审核点。
本地流程一旦设计完成并通过审核,执行时以本地流程为准;审核员也应按已通过的本地流程审计执行结果。只有发现本地流程违反 common 硬约束时,才回到 common 规范要求整改。
适用于以下事项:
临时探索如果要被后续引用为结论,必须补齐为正式实验记录。
实验体系的正式文档分为核心文档和模板文档。
核心文档用于说明体系和记录具体实验。
模板文档用于创建新项目或新实验时实例化,不是具体实验结论。
实验规范.md 是实验体系架构文档。
它负责说明:
实验环境创建指南.md 是项目启用实验体系时的初始化手册。
它负责说明:
如果一个 AI 要在新项目里创建实验员工作环境,应先读 实验环境创建指南.md,再实例化具体模板。
实验总纲是实验事项入口,对应管理系统里的“事项总纲”。
项目内默认只有一个 exp-doc/实验总纲.md,用于持续记录所有实验事项的背景、目标、边界、状态、结果包入口和结论。不要默认按实验 ID 创建多份 <EXP-ID>_实验总纲.md,否则 AI 和审核员容易漏看版本和上下文。
实验总纲必须采用滚动账本方式维护:新实验、新结论、新修订追加到文件末尾,最新内容在最后。文件开头可以维护“当前总览”和固定入口,但不得把最新实验插到前面,也不得覆盖历史记录。
实验总纲必须包含事项总纲要求的字段:
实验总纲还应补充:
实验设计已经合并原“实验设计”和“实验计划”的职责。
原因:设计回答“如何验证目标”,计划回答“如何分步骤执行”。两者必须绑定,否则容易出现设计和执行脱节。
项目内默认只有一个 exp-doc/实验设计.md,用于持续记录所有实验的设计、步骤、依赖、产物和判定标准。新实验应追加到该文件,不要默认按实验 ID 创建多份设计文件。
实验设计必须采用滚动账本方式维护:新设计、新修订、执行结果回填追加到文件末尾,最新内容在最后。设计可以有顶部“当前设计总览”,但详细设计块必须按时间顺序追加,不能用单实验表单替代长期账本。
实验设计对应管理系统里的“事项计划”,必须包含事项计划要求的字段:
实验设计还应包含:
实验执行日志记录实际执行过程。
项目内默认只有一个 exp-doc/实验执行日志.md,用于持续记录所有实验 run、输入、关键中间过程、中间数据路径、输出、异常、自检和重跑记录。新 run 应追加到该文件,不要默认按实验 ID 创建多份执行日志。
实验执行日志同样采用 append-only 方式维护;每次运行、重跑、失败、暂停、人工操作和复验都追加到文件末尾,最新内容在最后。
它负责回答:
执行日志可以简洁,但不能只写“已跑完”。凡是会影响实验结论的关键节点,都要在执行日志中留下可追踪记录。
最低要求:
如果中间数据是审计员或后续实验复核结论所必需的,应保存到 exp-data/result/<run_id>/intermediate/ 或项目内等价正式结果包目录,并在执行日志中写明路径。exp-data/tmp/ 只适合临时脚本和临时缓存,不能作为正式证据入口。
实验结果包是产物目录,不是必备模板文档。
结果包入口和状态应回写到实验总纲。
预期产物、实际产物、验收标准和关键读法应回写到实验设计。
数据文件、图表、日志、summary 等资产应符合项目内 实验存储体系.md 的规则。
如果某个结果包特别复杂,可以在结果包目录内临时放 readme,但它不是实验体系必备模板。
结果包应能回答:
实验存储体系是项目级数据存储合同,不是单次实验模板。
项目启用实验体系时,应按 实验存储体系创建指南.md 创建项目内 exp-doc/实验存储体系.md。
它负责回答:
实验审核的详细规则见 实验审核规范.md。
实验审计报告覆盖设计审核和执行审核。
设计和执行都必须审核。审核未通过时,不得把实验标为完成。
审核结果必须记录到对应项目的 exp-doc/实验审计报告.md。
实验审计报告采用 append-only 方式维护;每次设计审核、执行审核和复审都追加到文件末尾,最新内容在最后。
实验问题记录用于记录非审计人员在实验过程中发现的问题,也用于登记需要跨轮跟踪的审计问题索引。
审核员在设计审核、执行审核和复审中发现的问题,主记录写入 实验审计报告.md;只有需要跨轮跟踪、跨实验汇总或由执行者长期处理时,才在 实验问题记录.md 中建立索引,不重复全文。
实验员、执行 AI、人工同事或其他非审计角色发现的问题,主记录写入 实验问题记录.md。
实验问题记录采用 append-only 方式维护;新问题、修复、复验和关闭记录都追加到文件末尾,最新内容在最后。
问题必须区分:
结论回写是实验收尾动作,不是必备独立模板文档。
结论回写应记录在实验总纲和实验审计报告里。
常见回写目标:
如果某个实验产生大量跨文档回写动作,可以在项目内临时建立回写清单,但它不属于实验体系必备模板。
common/exp-doc 下应提供以下模板:
实验环境创建指南.md。实验总纲模版.md。实验设计模版.md。实验执行日志模版.md。实验存储体系创建指南.md。实验审核规范.md。实验审计报告模版.md。实验问题记录模版.md。创建新项目或新实验体系时,应按这些模板实例化项目内的实验文档。默认实例化为项目级账本文件:实验总纲.md、实验设计.md、实验执行日志.md,而不是每个实验一份独立文件。
这些项目级账本默认学习长期滚动实验文档的写法:顶部保留当前总览和固定口径,正文按时间追加实验块。字段完整性服务于追踪和审计,不应把文档写成难读的厚重表单。
模板文档开头也必须保留管理系统要求的文件头:
项目内文档引用项目内文件时,应默认使用相对路径,避免写入依赖个人机器的绝对路径。只有跨项目、跨磁盘或引用 common 规范时,才允许使用绝对路径,并应说明原因。
实验状态建议统一使用:
未开始:已登记,未设计。设计中:正在写实验总纲或实验设计。待设计审核:设计完成,等待审核。设计审核未通过:设计存在阻断问题,需要修改。设计审核通过:可以进入执行。执行中:正在跑实验或整理结果。待执行审核:执行完成,等待审核。执行审核未通过:执行或结果存在阻断问题,需要修复或重跑。完成:执行审核通过,结论和结果包已归档。暂停:因数据、方向、资源或上游问题暂停。取消:实验不再执行。实验设计流程必须有审核闭环。
标准流程:
提出实验问题
-> 创建实验总纲
-> 编写实验设计
-> 设计自检
-> 提交设计审核
-> 审核员审核
-> 审核通过:设计完成,进入执行
-> 审核不通过:修改总纲或实验设计,再次提交审核
设计审核的检查项、问题分级、通过条件和记录方式,按 实验审核规范.md 执行。
实验执行流程也必须有审核闭环。
标准流程:
确认设计审核通过
-> 准备输入数据和执行环境
-> 执行实验步骤
-> 记录执行日志
-> 生成结果包
-> 执行自检
-> 提交执行审核
-> 审核员审核
-> 审核通过:实验完成,结论可归档
-> 审核不通过:修复、补证据或重跑,再次提交审核
执行审核的检查项、问题分级、通过条件和记录方式,按 实验审核规范.md 执行。
执行审核通过前,实验不得标记为完成。
每个正式实验必须用统一 ID 串起证据链。
最低要求:
experiment_id:实验事项唯一 ID,必须出现在实验总纲、实验设计、执行日志、审计报告、结果包或 manifest。step_id:实验设计里的步骤 ID,必须能在执行日志和审计报告里被引用。run_id:每次实际执行的运行 ID,必须能从执行日志追到结果包。audit_id:每次审核 ID,必须能追到对应实验、设计版本、执行 run 或复审对象。source_chat_record:关键来源聊天记录,必须在实验总纲背景中保存原文或路径。推荐证据链:
实验总纲 experiment_id + source_chat_record
-> 实验设计 experiment_id + step_id
-> 执行日志 experiment_id + step_id + run_id
-> 结果包 run_id
-> 审计报告 audit_id + experiment_id + step_id/run_id
如果证据链断裂,审核员必须指出断在哪一环。
实验总纲的背景中必须包含最重要的来源聊天记录。
可以保存原文,也可以保存明确路径,但必须能让审核员看到用户原始要求。
最低要求:
实验设计和执行中必须显式考虑以下风险:
不是每个实验都需要防未来函数。
是否必须防未来函数,应根据实验目标判断:
其他偏差如果会影响结论,也必须记录处理方式。
实验产物应尽量形成结果包。
结果包至少应包含:
summary 或结果说明。大文件可以只记录索引、路径和 hash,不要求全部塞进文档。
实验结论必须写清:
禁止把“样本看起来不错”直接写成“规则已成立”。
轻量实验可以减少文档数量,但不能没有目标、边界和结果记录。
轻量实验最低要求:
如果轻量实验结果要进入正式决策,必须补齐实验设计、结果包入口和产物清单、审核报告。
一个正式实验完成的最低标准:
缺少执行审核通过结论时,实验状态只能是 待执行审核、执行审核未通过、暂停 或 HELD,不能标为 完成。