跳转至

ChemWorld 系统模型

本页是内部架构、数据字段和论文表述的规范性来源。 当前证据状态以 configs/current.json 为准;实现存在不等于科学结论已经成立。

ChemWorld 通过统一的物理因果世界基座、实验交互运行时和任务与评测契约,把材料搜索、实验执行、 规律识别和动态适应组织为同一个实验智能问题。Agent、训练器、模型权重和 Agent 私有记忆位于这三层 之外。

训练器 / 预训练数据 / 微调
             │
             ▼
           Agent
             │  公开任务、动作、观测和历史
             ▼
┌────────────────────────────────────┐
│ Task and Evaluation Contract       │  要完成什么、允许看什么、怎样评价
├────────────────────────────────────┤
│ Experimental Interaction Runtime   │  实验怎样执行、测量、失败和结束
├────────────────────────────────────┤
│ Physical Causal World Substrate    │  什么物理世界存在、演化并产生结果
└────────────────────────────────────┘

ChemWorld 可以向外部训练器提供交互数据,也可以承载训练过程,但环境本身不更新 Agent 权重、不维护 Agent 信念,也不替 Agent 选择下一步实验。

三层职责

负责 不负责
Physical Causal World Substrate 状态、动力学、构成律、设备、仪器生成规律、约束和受控世界干预 任务目标、排行榜权重、Agent 信念和训练
Experimental Interaction Runtime 动作合法性、事务、生命周期、测量调用、可见反馈、失败、资源账本和轨迹 选择 Agent 动作、替 Agent 收尾、定义跨任务排名
Task and Evaluation Contract 公开目标、动作/观测权限、预算、终止、评分和 scenario 分布 修改运行时物理、向 Agent 泄露 hidden truth

当前源码中的评分编译器仍位于 chemworld.world.scoring,但目标与权重的定义权属于 Task Contract; 运行时只执行任务提供的 scoring contract。源码命名不应被解释为物理世界自行定义研究目标。

第一层:物理因果世界基座

一个世界族可抽象为:

[ W=(\mathcal X,\mathcal U,T_\omega,O_\omega,C_\omega,\Delta_\omega) ]

  • (\mathcal X):物料、相、温度、反应进度、设备和过程账本组成的 typed state;
  • (\mathcal U):可施加的物理操作;
  • (T_\omega):隐藏状态转移规律;
  • (O_\omega):仪器与观测生成规律;
  • (C_\omega):物理、设备和安全约束;
  • (\Delta_\omega):对参数、函数形式、拓扑、材料映射或设备边界的受控干预。

世界输出物理后果、传感器结果、成本和风险,但不判断什么结果“更值得在排行榜上获胜”。当前已经 实现参数、速率律、拓扑、构成律、材料映射和部分设备边界变化;观测噪声可配置,但独立的完整 sensor-law family 尚不能作为已验证能力主张。

相同 world 配置、seed、动作序列和干预计划应能够回放。换 seed 主要检查实例随机性;切换 world/mechanism family 才能检查预先定义的规律变化。

第二层:实验交互运行时

一次 Experiment 是从明确初始化的样品或过程状态开始,经过一系列 Operation 与 Measurement,并以 终检、显式终止、失败或预算截断结束的一次物理运行。只有满足任务合同的 final assay 才形成可比较 的正式实验结果;失败和未完成运行仍保留在自主性分母中。

Campaign
└── Experiment
    └── Operation / Measurement

运行时同时保留两个循环:

  • 实验内:投料 → 操作 → 取样 → 测量 → 调整 → 终止/终检;
  • 实验间:读取结果 → 更新判断 → 设计下一实验 → 比较并积累证据。

三个交互尺度共享同一运行时:

尺度 决策单位 当前边界
Campaign Design 一套完整 recipe 或 Experiment 支持 BO、主动学习和 recipe-level Agent
Procedure Execution 一个实验 Operation 支持逐操作闭环、合法性和生命周期审计
Process Control 设备设定值或过程控制动作 当前是有界 setpoint/process-control 抽象,不声称通用高频连续控制

运行时负责暴露、校验和记录 closeout 语义,但在自主评测中不会替 Agent 选择 terminate 或 final assay。 如协议允许辅助收尾,必须把 Autonomous scoreAssisted scientific score 分开报告。

第三层:任务与评测契约

任务可抽象为:

[ \tau=(G,\mathcal A_\tau,\mathcal O_\tau,B_\tau,S_\tau,\Gamma_\tau) ]

  • (G):公开目标;
  • (\mathcal A_\tau):允许的动作抽象;
  • (\mathcal O_\tau):允许释放的信息;
  • (B_\tau):实验、操作、测量、时间和成本预算;
  • (S_\tau):评分和约束规则;
  • (\Gamma_\tau):世界、干预和 reset 分布。

不同任务保留各自主指标和单位,不压成一个跨物理域总分。在线 shaping reward、正式终点、风险、成本、 信息效率、方法资源和程序自治分别记录。

规范性对象和字段

对象 规范定义 轨迹标识
Task 稳定且公开的目标、权限、预算和评分合同 task_idtask_contract_hash
World 某个隐藏物理规律实例 world_idmechanism_hash
Scenario Task 与 World 的组合,加上初态、干预、reset、反馈条件和 seed scenario_id
Campaign 一个 Agent 在一个 Task × Scenario × Seed 上的实际研究运行 campaign_id
Experiment Campaign 内从初始化到终检、终止、失败或截断的一次运行 experiment_index
Operation 改变状态、调用测量或结束实验的一步 operation_idaction
Run 一份具体执行实例的可追踪标识 run_id

规范 benchmark cell 是:

[ \text{Task}\times\text{Scenario}\times\text{Agent}\times\text{Seed} ]

Trajectory v0.1 曾把带 split/objective/seed 的运行标识写入 task_id,把真正任务名写入 benchmark_task_id。v0.2 起 task_id 恢复为稳定任务合同标识,run_id 保存运行标识; benchmark_task_id 暂时作为兼容别名保留;v0.2 writer 对五个 v0.1 别名的双写将在 chemworld-trajectory-0.3 移除,旧 trajectory 的只读支持不受该 writer 截止版本影响。

三类结果必须分开

Trajectory v0.2 固定三个顶层字段:

字段 含义 是否可被反馈消融改变
environment_outcome 世界和运行时实际产生的事务、物理结果、原始观测和资源后果
agent_visible_observation 此条件下真正释放给 Agent 的观测、视图和反馈 是,可延迟、删除或置换
evaluation_outcome 评价器使用的真实 reward/终点和 scoring contract 绑定

旧字段 observationrewardagent_viewleaderboard_score 在 v0.2 中继续作为兼容别名,但新分析 必须使用三层结果字段;连同 benchmark_task_id 的兼容双写将在 chemworld-trajectory-0.3 停止。 不得把它们混称为一个 outcome。历史 v0.1 轨迹仍可读取;新写出的轨迹统一使用 v0.2。

完整性怎样表述

ChemWorld 不声称穷尽化学空间、精确模拟全部材料体系或替代真实实验。完整性分为三个可审计目标:

完整性 定义 当前状态
结构完整性 隐藏世界—行动—状态演化—测量—反馈—下一实验链条闭合 按设计实现,并持续接受运行时控制
评测完整性 结果、约束、资源、适应和自主性均有分开的评价合同 固定世界两任务已有正式比较,机制适应跨方法实证尚未闭合
归因完整性 能区分不可识别、实验选择、反馈利用、行动恢复和生命周期失败 历史 RC28 Gate A 在冻结源码上通过;当前绑定 stale,Participant-Agent Gates B–E 待冻结执行

因此规范边界句是:

ChemWorld 面向选定物理化学原型追求实验交互栈的结构完整性;化学覆盖与数值保真度均为有界、 显式声明,而非穷尽。

Core、Diagnostic 与 Extended

这三个名字只表示评测角色,不表示三个不同引擎:

  • Core:六个 serious task 的 Agent 比较环境;环境合同已就绪,其中两个旗舰任务已有冻结的 正式描述性 Participant 结果,其余任务和跨任务方法矩阵尚未冻结;
  • Diagnostic:可识别性、no-change、反馈分支、反事实、适应分解和自治归因协议;当前机制 v0.3 首先覆盖 reaction-to-crystallization 与 electrochemical-conversion,并拆分静态世界识别、 有基线变化、无校准压力和性能恢复四条轨道;
  • Extended:其余已注册任务、训练用途和 demos,用于说明环境覆盖,不自动承担正式排名结论。

平衡、结晶、电化学和流动都是当前比较或诊断范围内的物理原型。Core 的任务范围由当前 evaluation contract 决定;改变范围需要新的协议版本和重新验证,不能沿用旧结果。

机制理解的三级证据

  1. Declared:Agent 报告机制或 change probability;这是可审计声明,不等于内部真实信念。
  2. Predictive:Agent 对未执行干预给出可检验的反事实预测。
  3. Actionable:判断实际改变下一实验,并在固定预算内改善恢复或 regret。

当前机制协议要求先建立并认证旧世界参考,再评价变化检测与 family attribution。never 是一等 真值;reference 使用关系闭合与 campaign 内 pre-change cross-fitting,并向策略隐藏稳定前缀、 changepoint support 与证书状态。环境认证、Participant 评测和 private confirmation 使用互不重叠的 cohort。初始化即处于候选 family 的世界只进入静态识别;早期无校准变化进入非控制性压力轨。 独立 Agent predictive probe 仍是后续结果,不能追溯性写成已完成证据。

代码职责映射

职责
chemworld.foundation / physchem / world typed state、物理模型、世界律、场景和干预
chemworld.runtime / envs 事务、操作服务、生命周期、Gymnasium 编排和公开观测
chemworld.tasks / task_design 任务合同、研究问题、准入和成熟度
chemworld.data 三层结果、trajectory、dataset 和 replay metadata
chemworld.eval 只读重放、指标、约束、资源、统计和诊断协议

当前主张边界

可以声称 不应声称
提供统一的世界、实验运行时和任务契约 覆盖所有化学与材料
支持 campaign、procedure 和有界 process-control 交互 已实现通用高频连续控制
支持优化、预注册识别与适应研究 已实现开放式机制发现
支持受控隐藏规律变化和回放 是真实实验室的通用数字孪生
能把结果、反馈、评价和自治拆开 自报机制概率等于模型内部理解
可被外部训练器使用 ChemWorld 本身是一种训练算法

当前候选后端和回放控制可运行;两个旗舰任务已有正式描述性 Participant 结果。历史环境 Gate A 的当前源码绑定已过期,Participant Gates B–E、private confirmation 和外部 Bridge 尚未完成, 所以 benchmark_ready=false。所有状态句都必须服从 configs/current.json;精确进展见 证据与当前状态