# World-in-World (/zh/docs/evaluation/benchmark-hub/world-in-world)



## 评测什么 [#评测什么]

World-in-World 用**闭环具身效用**评测 visual world model，而不是 open-loop 视频外观。具身环境中的 task success 是主信号——高视觉质量不等于高任务成功率。

## Benchmark 设计 [#benchmark-设计]

| 任务                            | 主指标                                                              | 测试内容            |
| ----------------------------- | ---------------------------------------------------------------- | --------------- |
| Active Recognition (AR)       | `active_recognition_success_rate`                                | 探索场景并识别目标物体     |
| Image-Goal Navigation (IGNav) | `image_goal_navigation_success_rate`、`image_goal_navigation_spl` | 到达图像指定目标并兼顾路径效率 |
| Active Embodied QA (AEQA)     | `active_embodied_qa_score`、`active_embodied_qa_spl`              | 在导航过程中高效回答问题    |
| Robotic Manipulation          | `robotic_manipulation_success_rate`                              | 闭环操作任务成功率       |

平台提供统一 online planning 策略和标准化 action API。官方项目的关键发现：controllability 比画面质量更重要；action-observation post-training scaling 比升级预训练生成器更有效；更多 inference-time rollout 能提升闭环表现。

## 简介 [#简介]

World-in-World 评测 visual world model 的闭环具身效用，而不只看 open-loop 视频外观。任务族包括 Active Recognition、Image-Goal Navigation、Active Embodied QA 和 Robotic Manipulation。

WorldFoundry 已经把 benchmark adapter 和 metric aggregation code 放在仓内：

```text
worldfoundry/evaluation/tasks/execution/runners/world_in_world/run_world_in_world_official_runner.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/world_in_world_runtime.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/world_in_world_official_runtime.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/world_in_world_metrics.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/runtime/official
worldfoundry/data/benchmarks/assets/world-in-world
```

正常使用 WorldFoundry 评测时，用户不应该 clone official repos。上游 World-in-World README 是生成 rollout 和 task summary 的协议参考。WorldFoundry 当前消费这些 summary 并写出 normalized scorecard；它不会启动 Habitat、VLM、SAM2、world-model 或 manipulation servers。

协议参考：

* Paper: [World-in-World: World Models in a Closed-Loop World](https://arxiv.org/abs/2510.18135)
* Project page: [world-in-world.github.io](https://world-in-world.github.io/)
* Source reference: [github.com/World-In-World/world-in-world](https://github.com/World-In-World/world-in-world)
* Dataset page: [zonszer/WIW\_datasets](https://huggingface.co/datasets/zonszer/WIW_datasets)

## 准备数据和资产 [#准备数据和资产]

从 WorldFoundry 仓库根目录开始：

```bash
cd /path/to/WorldFoundry
export WORLDFOUNDRY_REPO_ROOT="$PWD"
export PYTHONPATH="$WORLDFOUNDRY_REPO_ROOT:${PYTHONPATH:-}"
```

WorldFoundry 为默认 AEQA 路径内置了 OpenEQA prompt assets：

```text
worldfoundry/data/benchmarks/assets/world-in-world/
  subtrees/open-eqa/data/open-eqa-184.json
  subtrees/open-eqa/data/open-eqa-41.json
  sample_results.csv
```

如果需要更完整的 AR、IGNav、AEQA 或 manipulation evidence，准备一个本地 asset root。runner 可以通过 `WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT` 读取 task manifests：

```bash
export WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT=/path/to/world-in-world/assets

hf download zonszer/WIW_datasets \
  eval_datasets/AR/episodes_AR.json.gz \
  eval_datasets/IGNav/episodes_IGNav.json.gz \
  eval_datasets/IGNav/igdataset_goal_imgs.zip \
  eval_datasets/AEQA/episodes_AEQA.json.gz \
  --repo-type dataset \
  --local-dir "${WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT}/data/WIW_datasets"
```

如果使用上游 rollout workflow 生成 summary，还需要准备该 workflow 依赖的 scene 和 policy assets：

```text
${WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT}/data/scene_datasets/hm3d/val/
${WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT}/data/scene_datasets/mp3d/
AR 和 AEQA 使用时需要的 SAM2 或 Grounding SAM2 weights
VLM policy checkpoints 或 hosted VLM credentials
rollout server 使用的 world-model checkpoints
使用 manipulation 时需要的 simulator assets 以及 3D-Diffuser/OpenPI checkpoints
```

设置生成产物和结果 summary：

```bash
export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/world-in-world/generated_artifacts
export WORLDFOUNDRY_WORLD_IN_WORLD_RESULTS_PATH="${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}/world_in_world_metrics.json"
export WORLDFOUNDRY_WORLD_IN_WORLD_TASK=AEQA
```

生成产物目录应包含 `metrics.json` 或 `world_in_world_metrics.json`。可选视频用于 prompt coverage checks，文件名应使用 prompt id：

```text
/path/to/world-in-world/generated_artifacts/
  world_in_world_metrics.json
  f2e82760-5c3c-41b1-88b6-85921b9e7b32.mp4
  traces/
    f2e82760-5c3c-41b1-88b6-85921b9e7b32.json
```

结果 summary 可以是带直接 metric ID 或 task summary 的 JSON object，也可以是包含 `metric_id,score` columns 的 CSV。对于 task summary，runner 会把 `accuracy` 映射到 Active Recognition，把 `sr` 和 `spl` 映射到 IGNav，把 `mean_score` 和 `mean_efficiency` 映射到 AEQA，把 `success_rate` 映射到 Manipulation。

## 运行命令 [#运行命令]

直接仓内 runner 会读取 generated artifact directory 下的 metrics：

```bash
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/world_in_world/run_world_in_world_official_runner.py \
  --run-official \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --task "${WORLDFOUNDRY_WORLD_IN_WORLD_TASK}" \
  --output-dir tmp/world-in-world/direct-official-run \
  --json
```

通过直接 runner 导入显式结果文件：

```bash
PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/world_in_world/run_world_in_world_official_runner.py \
  --official-results-path /path/to/world_in_world_metrics.json \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --task "${WORLDFOUNDRY_WORLD_IN_WORLD_TASK}" \
  --output-dir tmp/world-in-world/direct-official-validation \
  --json
```

使用公开 CLI 的 in-tree run path：

```bash
worldfoundry-eval zoo benchmark-run \
  --benchmark-id world-in-world \
  --mode official-run \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/world-in-world/official-run \
  --json
```

使用公开 CLI 导入已有 result summary：

```bash
worldfoundry-eval zoo benchmark-run \
  --benchmark-id world-in-world \
  --mode official-validation \
  --official-results-path /path/to/world_in_world_metrics.json \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/world-in-world/official-validation \
  --json
```

## 指标 [#指标]

World-in-World 主要指标都是越高越好。rate 和 normalized score 在 WorldFoundry 中按 0 到 1 报告。

| Metric ID                            | 含义                                                     |
| ------------------------------------ | ------------------------------------------------------ |
| `active_recognition_success_rate`    | 探索场景并识别目标物体的成功率。                                       |
| `image_goal_navigation_success_rate` | IGNav episode 到达图像指定目标的比例。                             |
| `image_goal_navigation_spl`          | 按路径效率加权的 IGNav 成功率。                                    |
| `active_embodied_qa_score`           | active embodied QA 的平均回答正确率。                           |
| `active_embodied_qa_spl`             | 按路径效率加权的 active embodied QA 分数。                        |
| `robotic_manipulation_success_rate`  | 从提供的结果 summary 读取的 manipulation task 成功率。              |
| `interaction_trace_consistency`      | 提供该信息时，预测交互轨迹与执行轨迹的一致性。                                |
| `world_in_world_average`             | 可用 utility metrics 的平均值，也是 WorldFoundry primary score。 |

如果 summary 中包含 FVD、SSIM、PSNR、LPIPS 等 video-quality values，仓内 parser 可以把它们放入 component metadata，但它们不属于上表的 primary metric order。

## 输出布局 [#输出布局]

直接 `--run-official` 会写出：

```text
tmp/world-in-world/direct-official-run/
  scorecard.json
  raw_metric_table.jsonl
  world_in_world_metrics.json
```

直接显式结果导入会写出：

```text
tmp/world-in-world/direct-official-validation/
  scorecard.json
  raw_metric_table.jsonl
```

公开 CLI 运行还会在指定输出目录下写出 `runner_runtime_report.json` 和 specialized runner stdout/stderr logs。稳定消费时以 `scorecard.json` 和 `raw_metric_table.jsonl` 为准。

## Runtime 说明 [#runtime-说明]

World-in-World worker 启动配置由环境变量驱动，不包含机器本地 conda 路径。
worker command 默认使用当前 Python 解释器和仓内相对脚本。使用
`WORLDFOUNDRY_WORLD_IN_WORLD_<WORKER>_CMD` 覆盖整个命令，或用
`WORLDFOUNDRY_WORLD_IN_WORLD_<WORKER>_PYTHON` 只覆盖解释器。Checkpoint 变量使用
同一前缀，例如 `WORLDFOUNDRY_WORLD_IN_WORLD_SAM2_WORKER_CKPT_PATH`、
`WORLDFOUNDRY_WORLD_IN_WORLD_SAM2_WORKER_CFG_PATH`、
`WORLDFOUNDRY_WORLD_IN_WORLD_FTWAN21_WORKER_LORA_PATH` 和
`WORLDFOUNDRY_WORLD_IN_WORLD_NWM_WORKER_CKPT_PATH`。

## 限制 [#限制]

* 当前 WorldFoundry runner 是 result-summary adapter。它不会启动 closed-loop rollout servers、VLM policy servers、SAM2 services、Habitat-sim 或 manipulation simulation。
* 仓内只 bundled AEQA OpenEQA prompt lists。需要 AR、IGNav episode files、scene datasets 和 manipulation assets 时必须在本地准备。
* leaderboard parity 需要 AR、IGNav、AEQA、Manipulation 的完整官方 task summaries，以及匹配的 generated videos 或 rollout artifacts。
* 上游 workflow 的 AEQA scoring 可能依赖 LLM judge credential。这里的 WorldFoundry 命令导入已完成的 score summary，而不是调用该 judge。
* `interaction_trace_consistency` 只有在提供的 result summary 包含 trace-consistency evidence 或直接 metric value 时才会报告。

[← 返回 Benchmark Hub](/zh/docs/evaluation/benchmark-hub)
