---
title: HarnessEval-W
description: 六类世界状态评测，复用官方 Python 评分与 WorldFoundry 基础模型。
---

[HarnessEval-W](https://github.com/MirroS-Lab/HarnessEval-W) 覆盖探索、意图、物理三类状态变化，以及漂移抵抗、返回重访一致性和画外演化。
[公开数据集](https://huggingface.co/datasets/MirroS-Lab/HarnessEval-W) 宣布包含 100 个 case。
集成固定在上游版本 `ed4ccc6486b8271723ee8baea60d89b32d0a7518`。

每个 case 的公开分数由核心能力和观察质量各占 50%；`overall_macro` 对六类任务等权平均。
多模型使用各类任务的共同 case；缺少任一类时不会生成总分。导入多模型结果时用 `--result-model-id` 选择模型，保留原有共同 case 范围。

<BenchmarkPageSections id="harnesseval-w" locale="zh" />

## CPU 验证与官方结果导入

合成 fixture 不需要模型、GPU、下载或 token，只验证格式与聚合：

```bash
python -m worldfoundry.evaluation.tasks.execution.runners.harnesseval_w.run_harnesseval_w \
  --run-fixture --strict --output-dir tmp/harnesseval-fixture --json
```

支持官方 `harnesseval.report` JSON、单个/列表形式的 case score，以及含 `rollout_scores/<model>/<family>/*.scores.json` 的评测目录：

```bash
worldfoundry-eval zoo benchmark-run --benchmark-id harnesseval-w \
  --mode official-validation --official-results-path /path/to/evaluation \
  --result-model-id my-model --output-dir tmp/harnesseval-import --json
```

输出 `scorecard.json`、`raw_metric_table.jsonl`、`per_case_metrics.jsonl`、`official_report.json` 和 `benchmark_contract.json`。
仅导入汇总报告时没有逐 case 证据。Fixture 和结果导入不会标为榜单有效。

## 评测生成视频

生成部分继续使用 WorldFoundry。准备官方 manifest、初始观察图、未修改的 skill plans，以及以下输出：

```text
generation/manifest.json
generation/outputs/<axis>/<family>/<model>/<case>/output.mp4
generation/outputs/<axis>/<family>/<model>/<case>/metadata.json
plans/<family>/<case>.skill_plan.json
```

`axis` 为 `transition_correctness` 或 `world_persistence`。Metadata 包含 `case_id`、`model_id`、`taxonomy` 和 `output_video`；视频路径相对 metadata 所在目录或使用绝对路径。
初始观察图相对 `--assets-root` 解析。Backend JSON 沿用[官方配置结构](https://github.com/MirroS-Lab/HarnessEval-W/blob/ed4ccc6486b8271723ee8baea60d89b32d0a7518/examples/backend_config.json)，用 `api_key_env` 指定凭据环境变量。
权重目录必须在源码包外；HPSv3 使用已注册的基础模型资源，AMT/RAFT/CLIP/aesthetic 优先使用配置目录中的权重，缺失时复用已注册资源。

```bash
python -m worldfoundry.evaluation.tasks.execution.runners.harnesseval_w.run_harnesseval_w \
  --run-official --generated-artifact-dir /path/to/generation \
  --manifest /path/to/manifest.json --plan-root /path/to/plans \
  --assets-root /path/to/dataset --model-id my-model \
  --backend-config /path/to/backend_config.json \
  --output-dir tmp/harnesseval-run --strict --json
```

加 `--dry-run` 只检查输入、规划任务。`--limit N` 在检查完整 manifest 后选择 N 个 case，并保留每个 case 的全部 skill。
已有官方 metric bundles 时，使用 `--score-cached --metric-cache-root /path/to/metric_cache`，可执行官方缓存评分而不加载模型。
每个 skill 和分阶段 drift 组件分别在 Python 子进程运行，`--timeout` 限制每个 worker 的时间，日志与审计写入输出目录。

完整推理需要 CUDA、ffmpeg/ffprobe、依赖与权重，以及 VLM judge。CLIP、RAFT、AMT、HPSv3、Depth Anything v1、DINOv2 和 MegaSAM 复用 `worldfoundry/base_models`。
MegaSAM 和 UniDepth 默认复用已有 `base_models`；UniDepth 使用几何先验的共享加载器及注册权重目录 `WORLDFOUNDRY_UNIDEPTH_V2_VITL14_MODEL_DIR`（包含 `config.json`、`model.safetensors`）。MegaSAM 跟踪及 UniDepth 推理源码均已补齐到规范位置；UniDepth 使用与固定 HF 权重匹配的上游兼容解码器，已通过严格加载和真实 GPU 深度、点云、内参推理。Nyström 注意力依赖 `xformers.components.attention`（验证版本为 `xformers==0.0.28.post3`）。在 `worldfoundry/base_models/three_dimensions/slam/mega_sam_runtime/base` 下使用与 PyTorch 兼容的编译器运行 `python -m pip install --no-build-isolation -e .`，构建两个 CUDA 扩展。WBench 与 HarnessEval-W 共用同一个常驻 Python 推理流程。
没有引入 shell 启动器或重复生成模型；尚未验证完整 100-case GPU/API 评测与模型分数一致性。

统一 `official-run` 入口的额外输入可通过 `WORLDFOUNDRY_HARNESSEVAL_MANIFEST`、`WORLDFOUNDRY_HARNESSEVAL_PLAN_ROOT`、`WORLDFOUNDRY_HARNESSEVAL_MODEL_ID`、`WORLDFOUNDRY_HARNESSEVAL_BACKEND_CONFIG` 指定。
需要不同已配置 Python 环境时，使用 `WORLDFOUNDRY_HARNESSEVAL_PYTHON` 指定 skill worker 解释器。
上游 README 声明 Apache-2.0，但固定版本没有独立 LICENSE 文件。
