Theme
Zephyrus:面向天气科学的可执行智能体与基准
One-Sentence Summary
Zephyrus 把 WeatherBench2/ERA5、地理编码、Stormer 预报、JAX-GCM 模拟和气候态统计封装成可执行 Python 环境,并用 49 类任务、2,230 个测试样本检验 LLM 能否“写代码—调用工具—观察结果—修正答案”;它最值得借鉴的是可复算的模板与异质答案评价体系,最大缺口则是没有正式的数据切分、模板独立性和严格的跨时空外推设计。
0. 先给结论
0.1 这篇论文真正贡献了什么
Zephyrus 不是新的天气预报网络,也没有在该论文中训练一个气象基础模型。它包含三个相互依赖的贡献:
- ZephyrusWorld:统一的数据与科学工具执行环境;
- Zephyrus-Direct / Reflective:一次式和多轮式代码生成智能体;
- ZephyrusBench:由 49 个任务类型实例化得到的 2,230 个可自动核验问题。
论文证明的是:在作者定义的 WeatherBench2 工作流中,能够执行代码和调用领域工具的 LLM,明显优于只凭语言先验回答的 LLM。它没有证明智能体已经具备可靠的天气科学研究能力,也没有证明该结论可直接外推到雷达、站点、业务预报产品和实时预警。
0.2 为什么数据集构造是论文最重要的部分
这个 benchmark 不是“收集一批题目”那么简单,而是把不同科学对象分开构造:
text
WeatherBench2 / ERA5 数值场
├─ 人工任务模板 + 人工程序 → 确定性答案
├─ NOAA 文本 → LLM 抽取 claim → 可替换模板 → 人工核验程序 → 确定性答案
├─ EM-DAT 事件记录 ↔ 日期/地点 ↔ ERA5 → 极端事件任务
├─ NOAA / NWS / WMO 报告 → 描述性参考答案
└─ JAX-GCM 双运行或参数采样 → 反事实/逆问题答案
Natural Earth → 地理实体、区域掩码、面积权重和距离
Stormer → 未来天气场
Climatology → 1979--2000 参考气候态
上述材料 → 49 类模板 → 随机填槽 → 2,230 个 test-only 样本不同任务使用不同真值来源和指标,因此不能把 2,230 个样本理解成同质 QA 数据。
0.3 最重要的独立判断
- 强项:自然语言问题、可执行程序、底层数据切片、结构化答案和评价函数之间存在明确映射。
- 弱项:样本数大部分来自同一模板的随机实例化;论文没有正式 train/dev/test split,也没有跨模板、跨年份、跨区域或跨数据源 holdout。
- 外推边界:数据底座是低分辨率全球再分析,不能代表雷达短临、传感器质量控制或真实业务预警。
- 最值得借鉴:先设计任务契约与确定性 verifier,再扩增样本;描述性任务只占一部分,避免整个 benchmark 被 LLM-as-judge 主导。
- 最不应照搬:把“工具复杂度”直接当难度、把模板实例数当任务多样性、把历史再分析回放当作严格 prospective forecast。
1. 问题、系统与任务表述
1.1 核心问题
天气科学工作流通常要求研究者:
- 解析地点与区域;
- 选择气象变量和时间窗;
- 读取高维网格数据;
- 计算统计量、异常或极值;
- 调用预报器或模拟器;
- 根据执行结果修改分析;
- 最终给出数值、位置、时间、真假判断或报告。
纯文本 LLM 缺少数值证据,纯天气模型又缺少开放式语言交互。Zephyrus 的目标是把二者通过可执行工具连接起来。
1.2 一个更完整的任务表示
论文没有把 benchmark item 统一写成数学元组。根据公开数据格式,可将单个样本显式写成:
其中:
:自然语言问题; :一个或多个 WeatherBench2 数据切片描述; :允许使用的工具集合; :参考答案; :任务元数据,如 question_id、task_id、难度和评价类型;:任务类型对应的 evaluator。
智能体产生代码与观察轨迹
论文主要评价
2. ZephyrusWorld:数据和工具环境
2.1 五类能力
| 能力 | 数据/实现 | 作用 | 构造任务时扮演的角色 |
|---|---|---|---|
| 数据索引 | WeatherBench2 的 xarray.Dataset | 读取全球时空气象场 | 所有数值、位置、异常与报告任务的数值底座 |
| Geolocator | Natural Earth,geopandas,shapely | 地名到坐标、区域掩码、面积权重、反向地理编码、子区域和距离 | 将自然语言区域与网格计算连接起来 |
| Forecaster | Stormer | 从任意初始状态生成短中期预报 | Task 8--9、11、14--45 等未来任务 |
| Simulator | JAX-GCM / JCM,T32、8 个垂直层 | 干预、敏感性和合成模拟 | Task 46--47 |
| Climatology | 预计算的 WeatherBench2 统计 | 均值、极值、标准差、经验分位数 | 异常、阈值与气候态比较任务 |
2.2 Climatology 的参考期与时间尺度
气候态工具使用 1979--2000 作为参考期,提供:
- 全时段;
- 季节;
- 月;
- 日序;
- 6 小时时次;
- 均值、极值、标准差和经验分位数。
这项设计很关键:异常任务的参考答案不是 LLM 生成,而是目标窗口与固定历史基准的程序化比较。
2.3 两种 agent harness
| 模式 | 执行方式 | 最大尝试/轮次 | 适合的任务 | 主要风险 |
|---|---|---|---|---|
| Text-only | 不访问数值数据和工具 | 模型调用预算依实现 | 测量语言先验和潜在记忆 | 不是等信息量对照 |
| Zephyrus-Direct | 一次生成完整程序,执行失败后修复 | 最多 20 次错误修复 | 单步或可一次写完的流水线 | 仍可能通过多次重试得到额外计算 |
| Zephyrus-Reflective | 代码 → 执行 → 观察 → 再规划或回答 | 最多 20 轮 | 多步分析、错误修正和开放式报告 | 轮次多不自动等于科学推理更强 |
两种工具化 agent 都会接收:工具 docstring、变量描述、单位、数据键和坐标说明。WeatherBench2 网格在提示中明确为
3. ZephyrusBench 的底层数据
3.1 WeatherBench2 / ERA5 主数据
论文明确使用:
| 属性 | 取值 |
|---|---|
| 数据源 | ERA5 reanalysis,经 WeatherBench2 提供 |
| 时间范围 | 1979--2022 |
| 空间范围 | 全球 |
| 空间分辨率 | |
| 时间分辨率 | 6 小时 |
| 地面变量 | 4 个 |
| 高空变量 | 5 个变量 × 13 个气压层 |
从论文示例和公开配置可对应为:
- 地面:海平面气压、10 m 纬向风、10 m 经向风、2 m 温度;
- 高空:位势、比湿、温度、纬向风、经向风;
- 高空变量在 13 个 pressure levels 上提供。
这里必须区分论文用的数据版本和仓库下载脚本:README 下载对象名包含 1959-2023,而论文 benchmark 明确表述为 1979--2022。笔记以论文实际 benchmark 范围为准,不能用原始存储的更长覆盖替代发布样本范围。
3.2 补充数据和文本来源
| 来源 | 用途 | 是否直接成为数值真值 |
|---|---|---|
| Natural Earth | 地理实体、区域多边形、面积掩码、地名标准化 | 是,影响区域选择与空间答案 |
| EM-DAT | 风暴、热浪、寒潮等灾害的日期和地点 | 是,作为事件匹配标签 |
| NOAA meteorological reports | 抽取可验证 claim、生成模板、Task 49 | claim 最终仍需 ERA5 或人工核验 |
| NOAA Global Climate Reports | Task 43 的全球气候报告参考 | 描述性参考答案 |
| NOAA/NWS Area Forecast Discussions | Task 44 的美国天气讨论参考 | 描述性参考答案 |
| WMO ENSO Reports | Task 45 的 ENSO 更新与展望参考 | 描述性参考答案 |
| IRI seasonal forecasts/outlooks | 人工设计任务时的专家报告来源之一 | 描述性或任务设计依据 |
| Stormer 输出 | 未来状态访问 | agent 的证据,不是发布答案标签本身 |
| JAX-GCM 输出 | 反事实差值和黑箱参数逆推 | 是 |
3.3 数据集不是完整多模态观测集
尽管论文称环境覆盖多类天气科学能力,ZephyrusBench 的核心物理数据仍是 WeatherBench2/ERA5。它没有:
- 原生雷达体扫或反射率时间序列;
- 雨量站原始观测与站点 QC;
- 卫星图像;
- 业务 NWP ensemble;
- 传感器故障、缺测和跨设备冲突;
- 实时资料的到达延迟与修订时间。
因此,Zephyrus 的“多工具”不等于“多传感器、多分辨率、多到达时间”。
4. 数据集构造总流程
4.1 先设计 task type,再实例化 sample
作者为每一类任务定义自然语言模板,模板含地点、变量、时间窗、阈值等槽位。生成时随机采样槽位,并用人工编写或人工核验的程序在真实 ERA5 上确定答案:
这比先让 LLM 自由写 QA 再筛选更可靠,因为参考答案可以重算。
4.2 总量和构成
| 难度 | 人工任务数 | 人工样本数 | 半合成任务数 | 半合成样本数 | 总任务数 | 总样本数 |
|---|---|---|---|---|---|---|
| Easy | 7 | 793 | 0 | 0 | 7 | 793 |
| Medium | 4 | 182 | 29 | 290 | 33 | 472 |
| Hard | 8 | 765 | 1 | 200 | 9 | 965 |
| 合计 | 19 | 1,740 | 30 | 490 | 49 | 2,230 |
几个容易误读的点:
- “49 tasks” 指 49 个任务类型或模板族,不是 49 个样本;
- 数据集是 test benchmark,论文没有提供训练集;
- Hard 样本多,不意味着覆盖了更多独立困难机制,其中 200 个来自同一半合成 claim verification 任务;
- 30 个半合成任务中,29 个是 Medium,只有 Task 49 是 Hard。
4.3 人工任务构造
19 个人工任务由研究生创建模板并编写答案程序,同时与领域专家共同策划现实气象问题:
- Easy:查值、极值、位置和简单气候态比较;
- Medium:预报后取值、未来极值时间、复杂分析流水线;
- Hard:极端事件识别、区域/全球预报讨论、ENSO、反事实和模拟器逆问题。
报告类任务引用权威机构的文本作为 reference;极端事件任务将 EM-DAT 的日期、地点与 ERA5 匹配。
4.4 半合成模板生成:完整步骤
论文 Figure 3 的流程是:
- 收集 NOAA 气象报告等非结构化文本;
- 使用
gpt-4.1claim extraction agent 抽取可量化的观测 claim; - 优先保留变化、趋势、极值和变量关系等科学上可计算的陈述;
- 将具体 claim 抽象成可复用模板;
- 把地点、时间、变量等实体替换为槽位;
- 由 LLM 为模板编写通用 verification code;
- 对槽位随机采样,生成多个候选实例;
- 在 ERA5 上运行程序得到答案;
- 人工检查科学意义和代码正确性;
- 最终保留 30 类经过人工验证的半合成任务。
这条链路中 LLM 用于抽取、抽象和写 verifier 候选,真实数据执行和人工复核负责压制幻觉。论文没有报告每一阶段的候选数、拒绝率、审核人数、标注一致率和修改轮次。
4.5 Task 49:报告 claim verification
Task 49 单独构造:
- 从 NOAA 1988--2024 的月度气象报告抽取带时间戳的 claim;
- 抽取器为
gpt-4.1-mini; - 选择单条 claim;
- 与报告日期对应的 24 小时 WeatherBench2 切片配对;
- 正样本保留原 claim;
- 负样本由 LLM 系统性否定原 claim;
- 所有实例人工核验清晰度、可验证性以及否定是否正确;
- 模型回答
True或False。
这个任务非常适合迁移到事件报告,但必须注意两个风险:
- 文本中的地理尺度、变量定义和“预期/观测”时态可能无法由单一 24 小时再分析切片充分验证;
- 简单否定容易留下语言线索,负样本应进一步加入数值扰动、地点互换、时段错配和因果关系反转等 hard negatives。
还有一个原文范围矛盾:Task 49 的报告时间写为 1988--2024,而论文对 benchmark 使用的 WeatherBench2 主数据范围写为 1979--2022。论文没有说明 2023--2024 claim 是被过滤、映射到其他数据版本,还是实际使用了比正文更长的数据。没有发布 manifest 前,不能默认所有报告都成功配到论文声明范围内的 24 小时切片。
4.6 公开代码中的生成配置:论文外补充
以下来自代码提交 e58207b,属于实现可见事实,不能自动当成论文发布集的精确采样统计:
- 生成器可设置随机种子,并为每个样本生成 16 位十六进制
task_id; - 样本 JSON 含
prompt、question、response、metadata、data_desc; - 默认一般时间序列长度为 1--28 个 6 小时时次;
- forecast 任务默认展望 1--8 个时间步;
- anomaly reference 为 1979--2000,目标年配置为 2005--2022;
- 极端天气问题可以按 0.6 概率强制采到 EM-DAT 事件窗口,最多尝试 30 次;
- 事件时间无法精确匹配 6 小时索引时,代码会退到最近时次;
- template generation 可限制使用的文本源和 numeric/boolean 模板数;
- 生成失败的半合成样本最多重试三次。
这些配置揭示了一个论文未充分讨论的事实:任务分布可能经过事件富集。富集有助于压力测试,但如果与自然基率混在一起,就不能据此评估校准或真实世界告警频率。
5. 49 类任务:完整清单
| ID | 任务 | 答案类型 | 难度 | 构造类型 |
|---|---|---|---|---|
| 1 | 哪个地理实体的某变量平均值最高/最低 | Location | Easy | Human |
| 2 | 某地变量的 min/max/mean/median | Numerical | Easy | Human |
| 3 | 哪个子区域记录到最高/最低值 | Location | Easy | Human |
| 4 | 从窗口开始多少小时后出现极值 | Temporal | Easy | Human |
| 5 | 某地点、某时刻的变量值 | Numerical | Easy | Human |
| 6 | 哪些地区偏离均值 | Location list | Easy | Human |
| 7 | 哪些地区超出气候态分位数包络 | Location list | Easy | Human |
| 8 | 经过给定时间后某地变量的预报值 | Numerical | Medium | Human |
| 9 | 未来窗口中某地何时出现极值 | Temporal | Medium | Human |
| 10 | 哪些地区正在发生变量超阈值 | Location list | Medium | Human |
| 11 | 未来 | Location list | Hard | Human |
| 12 | 当前是否/哪里正在发生极端天气 | Location list | Hard | Human |
| 13 | 哪些地理实体相对基准出现异常 | Location list | Medium | Human |
| 14 | 两变量最大值是否在相同或相邻网格 | Boolean | Medium | Synthetic |
| 15 | 某区域当前最大值是否低于未来最大值 | Boolean | Medium | Synthetic |
| 16 | 一区域最大值是否比另一区域更偏北 | Boolean | Medium | Synthetic |
| 17 | 两区域均值差是否超过阈值 | Boolean | Medium | Synthetic |
| 18 | 变量 A 均值超阈且变量 B 最大值低于阈值 | Boolean | Medium | Synthetic |
| 19 | 区域内变量均值是否超阈值 | Boolean | Medium | Synthetic |
| 20 | 区域任一点是否出现超阈值 | Boolean | Medium | Synthetic |
| 21 | 一区域超阈网格数是否多于另一区域 | Boolean | Medium | Synthetic |
| 22 | 超阈面积是否超过区域给定比例 | Boolean | Medium | Synthetic |
| 23 | 变量 A 面积均值超阈且变量 B 低于阈值 | Boolean | Medium | Synthetic |
| 24 | 一区域最大值超阈且另一区域低于阈值 | Boolean | Medium | Synthetic |
| 25 | 区域内最大值是否超阈 | Boolean | Medium | Synthetic |
| 26 | 一区域最大值纬度是否比另一区域更北 | Boolean | Medium | Synthetic |
| 27 | 变量 A 最大值保持高于阈值且 B 低于阈值 | Boolean | Medium | Synthetic |
| 28 | 一区域最大值是否比另一区域高出指定量 | Boolean | Medium | Synthetic |
| 29 | 区域内最小值是否仍高于阈值 | Boolean | Medium | Synthetic |
| 30 | 多变量同时超过各自分位数的面积 | Numerical | Medium | Synthetic |
| 31 | 变量超过中位数的面积 | Numerical | Medium | Synthetic |
| 32 | 两个超中位数区域质心的位移 | Numerical | Medium | Synthetic |
| 33 | 两个变量最大值区域质心之间的距离 | Numerical | Medium | Synthetic |
| 34 | 区域内网格间变量最大差值 | Numerical | Medium | Synthetic |
| 35 | 当变量 B 超过中位数时变量 A 的最小值 | Numerical | Medium | Synthetic |
| 36 | 两区域最大值之差 | Numerical | Medium | Synthetic |
| 37 | 两区域面积加权均值之差 | Numerical | Medium | Synthetic |
| 38 | 最小值位置经过未来窗口后的位移 | Numerical | Medium | Synthetic |
| 39 | 两个高值区质心的纬度差 | Numerical | Medium | Synthetic |
| 40 | 两区域变量的最大差异 | Numerical | Medium | Synthetic |
| 41 | 当变量 B 超过中位数时变量 A 的均值 | Numerical | Medium | Synthetic |
| 42 | 变量 B 达最大值处的变量 A 数值 | Numerical | Medium | Synthetic |
| 43 | 未来三个月全球温度和降水气候报告 | Description | Hard | Human |
| 44 | 美国大陆详细天气讨论与预报 | Description | Hard | Human |
| 45 | ENSO 状态更新及未来 3--6 个月展望 | Description | Hard | Human |
| 46 | 局地干预后目标变量如何变化 | Numerical | Hard | Human |
| 47 | 从模拟输出反推黑箱输入参数 | Numerical | Hard | Human |
| 48 | 目标灾害当前发生在哪里 | Location list | Hard | Human |
| 49 | ERA5 是否支持报告中的气象 claim | Boolean | Hard | Synthetic |
6. 特殊任务的构造细节
6.1 极端事件任务:11、12、48
- 外部事件表来自 EM-DAT;
- 只考虑 meteorological events,论文列出 storms、heat waves、cold waves;
- 通过日期和地点与 ERA5 匹配;
- Task 11 面向未来事件,Task 12 面向当前事件,Task 48 问目标灾害位置;
- 代码可对极端事件窗口做富集采样。
论文未报告:
- 日期和空间匹配容差;
- 多国、跨日事件如何与 6 小时网格对齐;
- 同一灾害多条记录的去重;
- EM-DAT 报告延迟、覆盖偏差和小事件漏报;
- 负样本如何匹配季节、地区与天气形势。
6.2 异常任务:6、10、13
异常由近期值与预计算气候态分位数比较得到,再由 Geolocator 将异常网格映射为自然语言区域。这类答案可复算,但区域名称会受 Natural Earth 边界与网格分辨率影响。
6.3 报告任务:43--45
Task 43:全球三个月气候预报
要求:
- 分温度和降水两个部分;
- 给出区域性预测;
- 预测未来三个月。
Task 44:美国大陆预报讨论
要求覆盖:
- 当前天气系统位置和移动;
- 温度趋势及未来变化;
- 降水形势和重大事件概率;
- 气压系统演变;
- 锋面、急流等显著环流特征。
Task 45:ENSO 更新和展望
要求:
- 判断当前 ENSO phase;
- 分析强度和持续性指标;
- 预测未来 3--6 个月演变;
- 讨论全球影响;
- 使用不确定性语言与标准 ENSO 术语。
这三类任务使用权威机构报告作 reference,但单份机构报告不是唯一正确答案。它们评价的是与参考论点的一致和覆盖,不等于预报事实的逐项独立验证。
6.4 Task 46:双模拟反事实
构造步骤:
- 采样被干预变量;
- 采样地点;
- 采样扰动幅度;
- 用 Gaussian mask 在局地施加扰动;
- 从原始初始态运行一次模拟;
- 从扰动初始态再运行一次;
- 在指定终止时间提取目标变量;
- 两次输出之差作为干预影响。
公开默认配置把扰动幅度设为相应变量标准差的 0.2--0.4 倍。该任务测量的是在指定模拟器内部的反事实敏感性,而不是对真实大气因果效应的识别。
6.5 Task 47:黑箱参数逆推
- 输入一段近期全球数据和模拟器输出;
- 在
内随机采样一个模型输入参数; - 运行模拟并保存结果;
- 隐藏参数值,让 agent 仅根据输入—输出映射估计原参数;
- 以预测参数与真实采样参数的误差评分。
它更接近科学机器学习中的 inverse problem,不是传统天气 QA。
7. 样本结构与数据权限
7.1 公开生成样本的逻辑字段
代码中的核心结构为:
text
prompt 上下文和数据描述
question 自然语言问题
response 参考答案
metadata
├─ level
├─ question_id / template_id
├─ task_id
├─ difficulty
├─ eval_type
└─ forced_extreme_window
data_desc 数据类型、变量、time_indices、start_idx 等这个 schema 的优点是问题与数据定位分离。缺点是没有原生记录:数据版本 checksum、报告发布时间、答案生成代码版本、事件匹配置信度、允许工具列表、参考答案 provenance 和逐步骤 canonical trace。
7.2 预测任务的时间语义
Forecasting 题只向 agent 暴露 context window;未来答案通过 Forecaster 访问。生成参考答案时作者使用真实未来 WeatherBench2 状态。这是合理的 hindcast benchmark 设计,但必须明确:
- agent 访问的是历史再分析初始状态;
- Stormer 输出是 forecast evidence;
- reference 是真实未来再分析;
- 这不是当时业务系统实际可获得资料的完整重演。
7.3 没有正式 split
论文把 2,230 个样本作为测试 benchmark。没有:
- train/dev/test;
- event-group split;
- year holdout;
- geography holdout;
- template holdout;
- data-source holdout。
因此它适合评估现成 LLM agent,但如果未来用发布样本调 prompt、路由器或训练 agent,原测试集会迅速成为开发集,必须新增 hidden test。
8. 评价构造
8.1 自然语言答案先结构化
所有回答先由 gpt-4.1-mini 抽取成任务要求的结构。若格式无效,最多重试三次。之后才进入任务特定 evaluator。
这会引入一个中间模型误差:
论文报告 valid output,但没有对抽取器做独立人工准确率审计。
8.2 各答案类型指标
| 答案类型 | 指标 | Correctness 阈值 |
|---|---|---|
| 普通数值 | Standardized Absolute Error | $ |
| 距离、面积、坐标、模拟参数 | Relative Error | $ |
| 时间 | Absolute Error | 必须精确匹配,即误差为 0 |
| Boolean | exact match、F1 | 精确真假 |
| Location | 字符串规范化/模糊匹配、Location Accuracy、EMD | correctness 用 location match;论文另报 EMD |
| Extreme/Anomaly | occurrence F1、国家列表 EMD | EMD |
| Description | claim precision、claim recall、discussion F1 | discussion score |
8.3 Location 的 EMD
作者将预测和参考地区转为球面网格上的面积加权掩码,归一化为概率分布,再以网格点间 geodesic distance 为运输成本计算 Earth Mover's Distance。字符串对错和空间偏差因此可以分开观察。
8.4 描述性答案
- 从模型回答抽取 discussion points;
- 从参考报告抽取 discussion points;
- 对模型 claim 相对 reference 判
SUPPORTED/REFUTED/NEUTRAL; - precision 衡量生成 claim 的有效性;
- recall 衡量参考 claim 的覆盖;
- 二者 F1 为 discussion score。
这比 BLEU/ROUGE 合理,但仍存在:单参考答案偏差、LLM judge 偏差、事实正确但措辞/关注点不同而被低估,以及双方共同遗漏现实事实却不受惩罚。
9. 数据质量、泄漏和复现风险
9.1 论文明确做了什么
- 人工任务的程序由人编写;
- 半合成 verifier 由 LLM 生成后人工核验;
- Task 49 的负 claim 全部人工检查;
- 描述性 reference 来自权威机构;
- 代码、benchmark 与工具实现公开;
- v2 把人工作业与半合成作业分开报告;
- v2 增加工具消融、重复运行和错误纠正统计。
9.2 未报告或不足
| 项目 | 状态 | 风险 |
|---|---|---|
| 候选到最终样本的拒绝率 | 未报告 | 无法判断筛选偏差 |
| 标注者人数和背景 | 仅概括说明 | 无法量化专家强度 |
| 双标/一致性 | 未报告 | 人工核验可信度不可量化 |
| 模板语义去重 | 未报告 | 多模板可能只是相近运算改写 |
| 样本近重复 | 未报告 | 同模板、相邻时次和相邻地区会高度相关 |
| split | 无 | 调参后无法保持独立测试 |
| 事件去重和匹配容差 | 未报告 | EM-DAT 标签可能错配或重复 |
| Task 49 的报告/ERA5 年份覆盖 | 1988--2024 vs. 1979--2022 | 2023--2024 claim 的处理不明 |
| 报告发布时间 | 未进入样本 schema | 无法严格审计事后信息泄漏 |
| 负样本语言伪影 | 仅人工核验语义 | 模型可能从措辞猜标签 |
| 数据版本与 checksum | schema 中缺失 | 重建答案可能随数据版本变化 |
| verifier 单元测试 | 公开代码可审查,但论文未给覆盖率 | 程序错误会系统性污染真值 |
9.3 基准—工具共同设计
任务能够被 ZephyrusWorld API 直接表达。工具消融可以证明这些 API 对本基准有用,但不能证明同样的工具集覆盖真实科学问题。应增加:
- 外部专家独立提供任务;
- 不改变问题、只替换底层数据源;
- 隐藏工具名称和改变 API 形态;
- 新事件、新区域、新变量和新模板 holdout;
- 真实业务日志重放。
9.4 ERA5 与预报泄漏
ERA5 是事后再分析。对于诊断任务可直接作为证据;对于预测任务,只允许使用 issue time 之前的切片,未来 ERA5 只能作为标签。论文的 agent 环境通过数据切片和 Forecaster 形成这种逻辑,但 benchmark manifest 没有使用 available_at / issue_time 的双时间字段,因此不适合直接扩展到到达延迟明显的雷达、站点和报告流。
10. 结果与消融:应如何解释
10.1 主结果
五个 LLM backbone 上,工具化 agent 相对 text-only 提升 27.8--44.2 个百分点。GPT-5-Mini:
| 方法 | Overall Correctness |
|---|---|
| Text-only | 17.0% |
| Direct | 58.5% |
| Reflective | 61.2% |
Reflective 不是稳定胜者:OpenAI 模型上高 0.8--2.7 个百分点,但 Gemini 2.5 Flash 和 Qwen3-30B 上 Direct 更高。
10.2 难度分层
- Easy:76.2--90.9%;
- Medium:49.3--63.5%;
- Hard:14.2--37.7%。
这表明系统最擅长查值、计算和地理映射,最不擅长长时段、大尺度解释与开放式报告。
10.3 Tool ablation
在 gpt-oss-120b、50% 子集上:
| 工具设置 | Overall | Easy | Medium | Hard |
|---|---|---|---|---|
| 全工具 | 56.7% | 86.3% | 62.0% | 28.7% |
| 去 Climatology | 50.8% | 74.1% | 58.6% | 27.2% |
| 去 Forecaster | 44.3% | 84.9% | 28.4% | 16.0% |
| 去 Geolocator | 37.2% | 42.9% | 49.5% | 27.0% |
| 去 Simulator | 55.6% | 87.0% | 62.5% | 25.4% |
| 只保留 Geolocator + Climatology | 18.6% | 13.4% | 37.0% | 15.2% |
去 Simulator 后部分 Easy/Medium 反而提高,说明工具误路由会伤害 agent;“提供更多工具”不是单调收益。
10.4 Ground-truth forecaster ablation
用真实未来 WeatherBench2 替代 Stormer:
| Forecaster | Overall | Easy | Medium | Hard |
|---|---|---|---|---|
| Ground truth | 63.3% | 86.3% | 83.2% | 34.7% |
| Stormer | 61.3% | 88.7% | 60.5% | 37.8% |
Medium 显著提高,Hard 没有提高,说明困难任务瓶颈主要在编排、解释和领域推理,不只是 forecast field 误差。
10.5 多次运行
三次相同设置、50% 随机子集:
- Overall:
; - Easy:
; - Medium:
; - Hard:
。
这只覆盖 LLM sampling variance,不覆盖模板采样、数据采样、工具版本和 judge 变化。
11. Claims → Evidence
| Claim | 证据 | 强度 | 限定 |
|---|---|---|---|
| 工具化 agent 明显优于纯文本 | 五个 backbone 的主实验 | 强 | text-only 不是等数据量对照 |
| Reflective 优于 Direct | 部分模型有小幅提升 | 弱到中 | 两个 backbone 上方向相反 |
| Zephyrus 可处理广泛天气任务 | 49 类模板 | 中 | 同一 ERA5 底座,真实模态有限 |
| 半合成流程可扩展 | 30 类任务、490 样本 | 中 | 审核成本和拒绝率未报告 |
| Hard tasks 仍困难 | 14.2--37.7% | 强 | 难度由作者预先分级,内部仍异质 |
| 工具访问是提升来源 | leave-one-tool-out | 中到强 | 在 50% 子集、单一 backbone 上完成 |
| Forecaster 不是唯一瓶颈 | ground-truth forecaster ablation | 中 | 同样只在 50% 子集与单一 backbone 上 |
12. 对我们数据集构造最有价值的设计原语
12.1 可直接借鉴
- 模板与 verifier 绑定:每个问题模板必须有可执行答案程序和单元测试。
- 答案对象分型:数值、时间、空间、布尔、概率场、对象轨迹和文本报告分别评分。
- 人工作业 + 半合成扩增:先由专家定义少量高价值种子任务,再让 LLM 抽象 claim 或生成候选 verifier,最后执行和人工核验。
- 工具文档随环境提供:变量、单位、坐标、时间语义和 API 契约应成为 benchmark 的一部分。
- 真实未来只作标签:预测任务必须切断未来观测;模型只能通过 forecast tool 得到未来估计。
- 地理工具独立化:区域掩码、面积权重、地名标准化和距离计算不应由 LLM 自己临时实现。
- 报告 claim 化:先把报告拆成可验证原子 claim,再评价支持、反驳和覆盖。
- 工具消融:不仅去掉工具,也要测试错误工具、失真工具和高成本工具。
12.2 必须改进后再借鉴
- 增加 bitemporal metadata:同时保存
valid_time和available_at;否则无法控制报告与迟到观测泄漏。 - 事件级 split:所有同一 event family、相邻时空窗口和跨源记录必须归入同一 split。
- 模板级 hidden test:不能只 hold out 样本,要 hold out 运算图和自然语言表达。
- 自然基率集与事件富集集分开:一个测校准,一个测极端能力。
- 保留原生分辨率:雷达、站点和全球场不能一律降到
。 - 显式缺测:多模态数据不是完整 tensor;必须记录 modality availability 与质量标志。
- 专家双标 Hard tasks:给出一致率、分歧裁决和错误 taxonomy。
- canonical trace:参考答案之外还应保存关键工具、参数、工件 checksum 和中间结果。
13. 与 SIREN、TerraBench、AgentCaster 的组合位置
| 工作 | 最值得借鉴的层 | Zephyrus 未覆盖的部分 |
|---|---|---|
| Zephyrus | 模板化、可执行 verifier、异质答案评价 | 真实业务链、传感器与时间可用性 |
| SIREN | 事件表征 → 预测 → 影响 → 决策的 warning chain | 严格的数据权限和过程 trace |
| TerraBench | heterogeneous tools、artifact provenance、canonical trace | 气象事件自然基率与连续预报流 |
| AgentCaster | 连续窗口、受限工具预算、空间概率多边形、业务 baseline | 多地区、多灾种与跨模态训练/验证 |
最合理的组合不是复制某一篇,而是:
具体落地方案见 多尺度多模态气象智能体数据集蓝图。
14. Critical Assessment
Strengths
- 问题、数据、工具、程序与答案形成闭环;
- 49 类任务覆盖从查值到报告和反事实的多个对象;
- 大多数答案可由确定性程序评分;
- 公开了数据、代码和生成入口;
- v2 用消融、重复运行和失败统计回应了审稿意见;
- 结果没有掩盖 Hard tasks 和 Reflective 的不稳定性。
Major Issues
- 无正式 split:发布后容易成为开发集;
- 模板相关性高:2,230 个样本不能视为 2,230 个独立任务;
- 基准—工具共同适配:生态有效性有限;
- 数据模态窄于表述:主要仍是低分辨率 ERA5;
- 事件与报告对齐细节不足:影响极端天气标签可信度;
- 描述性评价依赖 LLM:缺专家盲评和 judge sensitivity;
- 缺少到达时间:不能严格模拟实时决策;
- Hard difficulty 过于混杂:极端定位、开放报告、反事实与逆问题不应只用一个标签概括。
Reviewer Feedback
OpenReview 有 4 份 Official Review、作者逐条回复、Meta Review 和最终 Accept (Poster)。用户提供的四份评分为 6 / 8 / 6 / 8。主要争议:
- 49 个模板是否具有足够多样性;
- 同模板随机替换槽位是否高估泛化;
- 工具和 benchmark 共同设计是否带来不公平优势;
- Direct 与 Reflective 的预算是否公平;
- 缺逐工具消融、运行方差和失败统计;
- 描述性评价和极端事件类别是否可靠。
v2 增加了工具消融、真实未来 forecaster、三次运行、工具调用和纠错统计,也分开报告人工与半合成子集。这些补强提高了实证解释力,但没有解决正式 split、模板外泛化和真实业务数据权限问题。
Recommendation
作为 ICLR 系统与 benchmark 论文,Accept 是合理的。若按数据集论文的更严格标准评价,我会要求未来版本补充:机器可审计 manifest、事件与模板 group split、双时间字段、跨数据源/跨区域测试以及 Hard tasks 专家审计。
Innovation Score: 7/10
概念与系统整合有明显价值,benchmark 生成方式可复用;算法上不是新模型,数据独立性和外部效度限制了更高评分。
15. Code Verification
对官方仓库提交 e58207b 做静态核验,确认存在:
src/models/Agent.py:Reflective agent;src/models/PAL.py:Direct/PAL;src/data_gen/DatasetFactory.py:数据生成主流程;src/tools/:Forecaster、Simulator、Climatology、DataIndexer;src/geospatial/Geolocator.py:地理编码和区域掩码;src/eval/Evaluator.py:异质答案评价;templates/:人工任务响应与半合成模板结构;- FastAPI 代码执行服务器和资源池;
- README 中的 WeatherBench2 下载、Stormer 和 benchmark 配置。
未全量复现实验。官方环境需要约 550 GB WeatherBench2 数据、Stormer checkpoint、GPU/执行服务和模型 API;Hugging Face 数据卡所列发布 benchmark 本身约 3.34 GB,这与底层 WeatherBench2 依赖不是同一体量。当前核验是论文—代码—配置映射,不是主表重跑。
16. Research Taste
- Novelty:★★★★☆(4/5)
- Rigor:★★★☆☆(3.5/5)
- Impact:★★★★☆(4/5)
17. 最终判断
Zephyrus 是四篇中最适合作为我们“任务工厂”原型的论文:它清楚展示了如何从数值场、文本 claim、外部事件表和模拟器生成可执行问题。但它不应成为我们的完整数据架构。我们真正的优势恰恰是它缺少的部分:全球—区域—设备的多尺度数据、雷达和站点的原生观测、可跨源链接的 event ID、以及报告/预警/影响文本。下一步应保留它的 verifier-first 思路,同时引入事件图、双时间权限、自然基率/挑战集双轨和多源 artifact provenance。
来源与核验记录
- arXiv v2:正文、表 1--2、附录 A.1--A.4、任务和指标定义。
- OpenReview:评审、作者回复、Meta Review 与最终决定。
- 官方代码仓库:数据生成器、工具、模型、评价器和配置;静态核验提交
e58207b。 - ZephyrusBench:发布 benchmark。