跳到主要内容
空间记忆与具身智能基础

第7章 评测体系——测到了什么、漏掉了什么

把当前空间智能 benchmark 系统化梳理为四类(静态/视频/记忆-具身/世界模型功能);指出空间记忆评测的真正盲区——跨会话状态维护、负观测、temporal-stratified calibration、证据回溯;给出可挂在工程评审上的六类核心评测指标

空间记忆 benchmark 评测 calibration negative-observation goodhart

1. 评测决定研究社区在优化什么

在做完前 6 章的”为什么”和”怎么设计”之后,这一章要回答的是一个工程上同样关键、但常被忽视的问题:

怎么知道一个空间记忆系统做得好不好?

这不是一个修辞性问题——它有非常具体的工程意义:

  • 没有评测,就没有迭代方向:你不知道下一个 sprint 该优化哪一层
  • 没有评测,就没有团队对齐:算法、工程、产品三边对”好”的定义会不一致
  • 没有评测,就无法回答监管/客户的”安全性问题”:一个不能被定量评估的系统,在医疗/驾驶/机器人等高风险场景里根本不能上线

但空间智能领域当前的评测体系很特殊——大量看起来很合理的 benchmark,实际上测的不是真正决定生产可用性的能力。这一章要把这件事说清。

这一章要做的事:

把 2024-2026 年这一波空间智能 benchmark 系统化梳理为四类,指出每一类测到了什么、漏掉了什么;展开三个最关键的评测盲区——负观测、temporal-stratified calibration、证据回溯;给出一份可以直接挂在工程评审上的”六类核心指标 cheat sheet”。

2. 现有 benchmark 的四类切片

把 2024-2026 这一波空间智能 benchmark 整理为四类,每一类有明确的能力边界和盲区。

2.1 第一类:静态 / 多图空间推理

代表 benchmark

  • VSI-Bench [12]、SITE [22]、3DSRBench [24]、MMSI-Bench [20]
  • OmniSpatial [63]、HiSpatial [52]、SpaCE-10 [55]

核心评测形态:给一张图或一组多视角图像,问空间关系 / 朝向 / 深度 / 度量估计 / 跨视角一致性。

测到了什么

  • VLM 在单帧或少量帧上的空间感知能力
  • 从静态视觉输入推断三维结构、关系、距离的能力
  • 跨视角一致性(同一场景从不同角度看是否能对齐)

漏掉了什么

  • 完全没测跨时间状态维护:所有问题都基于”当前给定输入”
  • 不测置信度衰减:没有”3 天前看到过的对象现在还在吗”这种问题
  • 不测局部更新:没有”用户告诉系统状态变了,系统能不能正确接受”
  • 不测证据回溯:答案对错就是分数,不要求能说”为什么”

这一类 benchmark 的价值非常清楚——它们测感知到认知的边界。但它们不该被用来论证”空间记忆能力”——这是错位的评测。

2.2 第二类:视频 / 在线时空推理

代表 benchmark

  • V-STaR [25]、SpatialBench [26]、Spatial4D-Bench [27]
  • OST-Bench [28]、DSI-Bench [44]

核心评测形态:在视频流或在线探索过程中,问时序关系、跨帧对象身份、运动中的空间关系等。

测到了什么

  • 视频内的工作记忆(在一段连续轨迹内能不能维持对象身份)
  • 在线探索过程中的空间关系推断
  • 对运动 / 速度 / 路径的理解

这一类比第一类更进一步——它至少把时间维度引入了评测。OST-Bench 的核心发现 [28] 尤其值得记住:

MLLM 准确率随探索时间和记忆负载的增长系统性下降。

这是非常硬的工程信号——它直接对应第 3 章里”长任务把记忆变成必需品”的论点。但即便如此,第二类 benchmark 也有明确的盲区:

  • 多数仍是”单次连续轨迹”:不测跨会话(关机重启、跨设备)
  • 不测负观测:没有”应该看到却没看到”的形式
  • 不测置信度的时间衰减:没有”距上次观测多久”这一变量
  • 不测证据回溯:答案的可解释性不被考核

Spatial4D-Bench [27] 是这一类里第一个明确把”spatial memory”作为任务名命名的 benchmark——但它仍然限于视频内的工作记忆(跟踪被遮挡对象),不是跨会话的持久记忆。

2.3 第三类:记忆 / 具身任务

代表 benchmark

  • S3-Bench [39]、EMemBench [41]、3DMem-Bench [46]、Mind Palace [49]

核心评测形态:在长程具身任务中,问情景记忆 / 流式问答 / 跨时间空间推理。

测到了什么

  • 这一类最接近空间记忆的真正问题
  • S3-Bench [39] 把空间问答锚定到时间戳——只能用截至该时刻的观测回答,是当前最贴近 last-seen 查询的设计
  • EMemBench [41] 从 agent 自身轨迹生成情景记忆问题,并明确指出”空间推理在视觉设定中是持续瓶颈”
  • 3DMem-Bench [46] 提出 dual-memory 架构(working + episodic memory)的评测基础

漏掉了什么

  • 跨会话仍然不是核心评测点——多数任务在单一连续 session 内完成
  • 负观测作为独立评测项几乎缺席
  • temporal-stratified calibration 没有被纳入指标体系
  • 证据链只在最近的工作里开始被关注,远未成为评测标配

这一类 benchmark 在 2025-2026 年的进步最快——它们正在快速向”空间记忆真正应该被测的样子”逼近。但和真正”生产级评测”还有差距。

2.4 第四类:World Model 功能评测

代表 benchmark

  • WorldArena [80]

核心评测形态:评估 embodied world model 在下游具身任务中的功能效用——是否能服务 synthetic data engine、policy evaluator、action planner。

这一类的方法论价值

WorldArena 的关键贡献是把世界模型评测从”视觉保真度”推向”功能效用”。它给出 16 个指标(视觉质量、运动质量、内容一致性、物理合理性、3D 准确性、可控性等),同时把世界模型放进具身决策流程里考核。

关键发现(直接抄自 [80] 的核心结论):

高视觉质量并不必然转化为强具身任务能力。

这件事和第 5 章 “Genie 这一波生成式世界模型的盲点”、第 6 章 “NeRF / 3DGS 不等于空间智能”是同一个观察的多个版本——它们在不同评测上反复给出同一个信号:视觉好 ≠ 状态对

这一类的盲区

  • 不直接测试对象级、跨会话、可查询的空间记忆
  • 多数指标仍然在视觉 / 物理 / 几何层面,不在状态 / 信念 / 证据层面

但这一类 benchmark 是最重要的”思路演化”——它们把评测重心从”模型生成得像不像”转向”模型对下游任务能力的真实贡献”。这正是空间记忆评测应该走的方向。

2.5 四类切片汇总

把上面四类整理成一张表:

类别代表 benchmark核心测点主要盲区
静态 / 多图VSI / MMSI / 3DSR / SpaCE-10单帧到多帧的空间感知跨时间状态、负观测、证据
视频 / 在线V-STaR / OST / Spatial4D视频内工作记忆 + 时序关系跨会话、温度衰减、负观测
记忆 / 具身S3-Bench / EMemBench / 3DMem长程任务中的情景记忆跨会话、temporal calibration、证据链
World Model 功能WorldArena世界模型对下游任务的效用不直接测对象级空间记忆

四类共同的最大盲区是:跨会话状态维护、负观测、temporal-stratified calibration、证据回溯——这正是接下来要展开的三个核心评测原则。

3. 评测盲区 1:负观测必须被独立度量

3.1 一件最容易被吞掉的工程事实

第 4 章已经详细讲过:“没有看到”本身就是一种证据。但当前几乎所有 benchmark 都把这件事当成”模型答错了”来扣分——不区分”答错”是因为漏检,还是因为模型把”没看到”当成”不存在”。

这两件事的工程含义完全不同:

情形表面表现真实问题修复方向
漏检漏报对象感知层不够准改感知模型
把”没看到”当”不存在”漏报对象记忆层没处理负观测改记忆层逻辑

如果 benchmark 不区分这两种情形,团队就会误判修复方向——以为是感知不够,结果做了一堆 detection augmentation;但真正的问题是记忆层没把”我应该看到却没看到”和”我本来就看不到”分开。

3.2 负观测的独立评测怎么做

要把负观测作为独立评测项,至少需要三件事:

1. 显式构造”应该看到却没看到”的场景

  • 让 agent 主动扫描某个区域
  • 在该区域里确认没有目标对象
  • 让系统在被询问时,能正确推断对象不在该区域(而不是”我不知道”或”我没看到所以肯定没了”)

2. 显式构造”本来就看不到”的场景

  • 把目标放进容器,关上容器
  • 让 agent 进入扫描时看不到目标
  • 让系统在被询问时,保持原有信念(容器关着 → belief protection)

3. 同一对象同时考核两类场景

  • 不只看单题正确率
  • 看的是”系统能不能区分两种情形”——只在第一种情形下降低信念,在第二种情形下保持信念

这种评测设计直接对应第 4 章 §4.3 的”自洽性四种典型情形”——它把”系统是否真的具备这个能力”变成了可测的指标

3.3 负观测评测的相关工作

学界已经有一些萌芽:

  • Belief Scene Graphs [35]、unobserved object detection [37]、World Scene Graph Generation [38] 都开始把”未观测但应该存在的对象”作为一类显式建模和评测对象
  • EMemBench [41] 在 episodic 记忆任务里包含部分”无法直接看到的对象状态”问题

但完整的、独立的”负观测 benchmark”还不存在——这是当前空间记忆评测最大的具体缺口之一。

4. 评测盲区 2:Calibration 必须按时间分层

4.1 当前 calibration 评测的问题

机器学习里最常用的 calibration 指标是 ECE(Expected Calibration Error)——把所有样本按预测置信度分桶,看每个桶的实际正确率是否和预测置信度对齐。

但这个指标用在空间记忆上有一个根本问题:

它把”刚观测过 5 秒的对象”和”3 天没观测过的对象”混在同一个桶里评估。

这两类样本的信念可信度完全不同:

  • 刚观测过的对象,置信度 95% 应当对应实际正确率 ≈ 95%
  • 3 天没观测的对象,即使系统报告置信度 95%,实际正确率可能只有 30%——因为对象大概率被移动了

把它们混在一起评估,calibration 看起来”还行”,但实际部署时会在两个极端都翻车——刚观测过的过保守,长期没观测的过自信。

4.2 Temporal-Stratified Calibration

正确做法是按时间分层做 calibration,称为 Temporal-Stratified Calibration

def temporal_stratified_ece(predictions, intervals=[0, 1, 60, 3600, 86400, 604800]):
    """
    intervals: time-since-last-observation buckets in seconds
        [0-1s, 1-60s, 1m-1h, 1h-1d, 1d-1w, 1w+]
    """
    results = {}
    for i, (low, high) in enumerate(zip(intervals[:-1], intervals[1:])):
        bucket = [p for p in predictions
                  if low <= p.time_since_last_obs < high]
        results[f"{low}s-{high}s"] = compute_ece(bucket)
    return results

这套指标的工程意义:

  • 让团队清楚看到系统在不同时间尺度上的可信度分布
  • 让”长期记忆”和”短时记忆”分别迭代——它们是两件需要不同策略的事
  • 让监管 / 安全审查可以指定”我们的系统在 24h 时间尺度上必须有 ≤ 10% ECE”——这才是有约束力的可用性标准

4.3 相关工作的旁证

天气预报和时间序列预测领域早就在做类似的事:

  • Kurki et al. [33] 在降水预报里提出 Expected Thresholded Calibration Error (ETCE) + lead time encoding——同样观察到”calibration 必须按时间跨度分层”
  • Chen et al. [34] 在时序预测里提出 temporal segment-based calibration + context-driven distribution shift——把时间和上下文都纳入 calibration

这些做法都可以直接借鉴到空间记忆评测——只是把”lead time”换成”time since last observation”,把”weather context”换成”object class / container state”。

5. 评测盲区 3:证据回溯是终极判据

5.1 答对不等于答得好

一个空间记忆系统可能”答对”,但答对的方式可能完全不能信任:

  • 靠数据集偏差答对:训练集里钥匙总是在桌上,问”钥匙在哪”答”在桌上”碰巧对了
  • 靠词袋答对:Udandarao 等 [29] 已经实证显示,部分空间 benchmark 可以被 NoSense bag-of-words 基线碾压——在 VSR 上 95% 准确率
  • 靠语言先验答对:模型记住”大概率的物理常识”,刚好和当前场景吻合

这些”答对”在生产环境里毫无用处——它们不能保证下一次也对、不能在错误时给出可调试的线索。

5.2 证据回溯作为补充判据

要避免这种”伪答对”,必须把证据回溯作为一类独立评测项:

系统给出的每一个答案,都必须能指回时间戳、观测来源、不确定性来源——并且这条证据本身要可被验证。

具体评测形态:

评测项描述不达标的样子
Evidence presence答案是否附带 evidence_pointer只给答案不给来源
Evidence validityevidence_pointer 是否真的支持该答案指向了无关帧
Evidence sufficiencyevidence 数量是否足以支持声称的置信度单次观测就报告 99%
Evidence freshnessevidence 是否足够新用 3 天前的观测回答”现在”

把这四项加到 benchmark 里,相当于让系统的答案接受双重检验——既看答案对不对,也看支持答案的证据链是否成立。

5.3 Goodhart 的警告

最后必须提一个评测设计本身的注意点:Goodhart 定律——当一个指标变成目标,它就不再是好指标。

具体到空间记忆评测,常见的 Goodhart 失败模式:

  • 团队为了刷 last-seen 准确率,把所有”不太确定”的回答都默认填”最近一次看到的位置”——准确率上去了,但可解释性降到了 0
  • 团队为了刷 calibration,让模型对所有回答都报告中间置信度(50-70%)——calibration 看起来还行,但答案毫无决策价值
  • 团队为了刷 evidence presence,给每个回答都附带一个任意的证据指针——指向最新观测但其实和回答无关

防范这些 Goodhart 失败的最有效方式是:

  1. 多指标:单一指标永远会被刷穿,多指标互相约束
  2. 场景化测试:固定场景的端到端测试,看系统行为是否符合”对的样子”,而不是看分数
  3. 基于证据可回溯的问答回放:每个答案必须能被回放——回放过程本身就是检验

6. 一份”六类核心指标”Cheat Sheet

把前面所有讨论汇总成一份可以直接挂在 Spatial Memory 工程评审上的指标 cheat sheet。这六类指标共同覆盖了”空间记忆系统是否真正可用”的关键维度。

类别指标含义可接受目标(家用 robot 量级)
响应能力time-to-find用户问”对象在哪”到系统给出可信回答的耗时< 2 秒(已知信息) / < 30 秒(需主动搜索)
修正成本correction cost用户提供修正后,系统状态收敛到正确的所需观测 / 互动次数≤ 1 次修正应当永久生效
过度自信false confidence rate系统报告 ≥ 90% 置信度但实际答错的比例< 5%
校准temporal-stratified ECE按”距上次观测时间”分层的 calibration 误差≤ 10% in each bucket
证据evidence sufficiency系统答案是否被足够数量、足够新的观测支持100% 答案带证据
遗忘 / 衰减decay behavior信念随时间下降的曲线是否符合”该衰减的衰减、不该衰减的不衰减”容器内对象 7 天衰减 < 20%;自由对象 1 天衰减 > 50%

这六类指标的设计原则:

  • 每一类都对应一个第 1-6 章里的核心能力:响应(last-seen 查询)/ 修正(在线更新)/ 过度自信(不确定性表达)/ 校准(temporal)/ 证据(可审计)/ 衰减(自洽性)
  • 彼此可以独立优化、又可以互相约束:一个团队不能通过牺牲其中之一来刷另一个分数——这就是防 Goodhart 的设计
  • 每一项都有”家用 robot 量级”的目标值:可以根据具体应用调整,但不能不设——没有数字目标就没有真正的工程对齐

7. 评测体系小结:三层判据

如果非要把”空间记忆系统该怎么评”压缩到一段话:

三层判据:

第一层(基础题):四类查询(last-seen / containment / change / state-audit)能不能答;

第二层(能力题):负观测能不能独立处理、calibration 能不能按时间分层、证据能不能回溯;

第三层(生产题):跨会话稳定性、跨设备协作、用户修正的局部生效。

任何一层不达标,都意味着系统在生产环境会以可预测的方式失败——而且这种失败往往是沉默的,因为单独看任何一条 benchmark 它似乎都”还行”。

8. 章节小结

本章核心结论:

  1. 当前 benchmark 大致分为四类:静态 / 视频 / 记忆-具身 / world model 功能。它们各自在能力边界上推进,但集体盲区仍然在跨会话、负观测、temporal calibration、证据回溯这四件事上。
  2. 负观测必须被独立度量——它是 chat memory 与 spatial memory 工程区别最尖锐的体现。当前几乎所有 benchmark 把它和”漏检”混为一谈,这会让团队误判修复方向
  3. Calibration 必须按时间分层——把”刚观测过 5 秒”和”3 天没观测过”的样本混在同一个 ECE 桶里没有意义。Temporal-stratified calibration 是空间记忆评测的核心新指标。
  4. 证据回溯是终极判据——答对不等于答得好。靠数据集偏差 / 词袋 / 语言先验得出的”答对”在生产环境里不可信。证据 presence / validity / sufficiency / freshness 必须作为独立评测项。
  5. 六类核心指标 cheat sheet:time-to-find / correction cost / false confidence rate / temporal-stratified ECE / evidence sufficiency / decay behavior——可以直接挂在工程评审上。
  6. Goodhart 警告:多指标 + 场景化端到端测试 + 证据回放是防止”刷指标 → 真实能力倒退”的三个具体对策。
  7. 下一章预告:把前 7 章建立的所有理论 + 架构 + 工程纪律 + 评测体系综合到一个”工程落地与开放问题”的总章——五大工程挑战、多尺度(房间 / 道路 / 城市 / 全球)的工程取舍、柔性 / 流体 / 烟雾这类”非对象本体”的处理、未来开放方向。

思考题

  1. 拿你目前的系统,把第 6 节的”六类指标 cheat sheet”全部跑一遍——哪一项是你的实际短板?哪一项是你团队迄今为止根本没量化过的?后者通常是你”突然崩溃”的暗物质来源。
  2. 设计一个最小的”负观测独立评测”实验:构造 10 个场景,5 个”应该看到却没看到”,5 个”本来就看不到”——看你的系统能不能正确区分两类。如果不能,先去看记忆层的更新规则,再看感知层有没有把 visibility 信号传上来。
  3. 把你的系统在过去一周的回答全部归档,按 time_since_last_observation 分桶,看每个桶的实际正确率分布。你会发现哪个时间桶上的”过度自信”最严重——这就是你下一次迭代的优先项。
  4. Goodhart 的三个防范对策(多指标 / 场景化测试 / 证据回放)里,你的团队哪一条做得最差?为什么?这往往不是技术问题,是评测体系设计早期就该被想清楚的事。

下一章我们做整模块的总章——把前 7 章建立的理论 / 架构 / 工程纪律 / 评测体系综合到”工程落地与开放问题”,给出五大工程挑战、多尺度取舍、非对象本体的处理,以及”具身 OS / Agentic Spatial OS”的未来方向。