---
name: spatial-perception
description: 空间感知类问题——需要从关键帧中精确判断空间位置和方位关系
task_type: Spatial Perception
---

## 适用场景

问题要求从视觉画面中精确判断物体/人物的空间位置、朝向或方位关系。
例: "In which direction is the red narrator facing?" "Where is the lamp hung?" "At what position does the model appear?"

## 视频树字段索引

| 层级 | 字段 | 适用场景 |
|------|------|---------|
| L1 | scene_summary | 整体概况 |
| L1 | key_entities | 查找人物/物体 |
| L1 | main_actions | 主要动作 |
| L1 | temporal_flow | 时间线概览 |
| L1 | topic_keywords | 主题定位 |
| L2 | event_description | 事件因果 |
| L2 | entities / actions | 实体和动作细节 |
| L2 | state_changes | 状态转变 |
| L2 | spatial_relations | 空间关系变化 |
| L3 | frame_summary | 精确视觉证据 |
| L3 | visible_entities | 具体物体确认 |
| L3 | ongoing_actions | 正在发生的动作 |
| L3 | spatial_layout | 精确空间位置 |
| L3 | visual_attributes | 光照、色调、机位 |
| L2/L3 | subtitle | 字幕转写（L1 无此字段） |
| 全层 | visible_text | 画面文字（OCR） |

## 搜索步骤

### Step 1: 目标定位

用 search_similar 定位包含目标对象的节点。

### Step 2: 多帧采集

对目标场景至少查看 3 个不同的 L3 帧，不要从单张帧推断空间关系。

### Step 3: 空间参照物建立

从 L3 的 spatial_layout 字段中提取可靠的空间参照物。

### Step 4: 保守判断

如果多帧证据之间对空间关系的描述不一致，选择最保守的选项。

## 输出格式

每轮在 content 中输出以下 JSON（第一轮可省略 reflect）：

```json
{
  "reflect": {
    "learned": "这条信息揭示了什么",
    "options": {
      "A": "对此选项已知什么、来自哪个节点",
      "B": "...", "C": "...", "D": "..."
    },
    "confidence": 0.5,
    "best_candidate": "B",
    "answer_ready": false,
    "spatial_anchors": ["桌子在画面左侧", "人物面向右方"],
    "frames_checked": 1,
    "direction_confidence": "low"
  },
  "plan": {
    "goal": "本轮要获取什么信息",
    "tool": "选择哪个工具",
    "reason": "为什么这个工具和参数能达成目标"
  },
  "action": {
    "tool": "observe_frame",
    "args": {"node_ids": ["L3_000_000_000"], "question": "目标对象在画面中的位置和朝向"}
  }
}
```

answer_ready 仅在 frames_checked >= 2 且 direction_confidence 不为 low 时才可设为 true。如果步数用尽仍为 low，基于最佳猜测回答。

## 自检信号

如果你只看了 1 个 L3 帧就判断空间方向，至少看 2 帧。

## 常见陷阱

1. **系统性能力缺陷**: 树摘要重点描述"谁在做什么"，不描述"谁在画面的什么位置面朝什么方向"。对此题型的期望应保持保守。
2. **单帧判断必错**: 左右方向从单一视角极易搞反。不要重蹈覆辙。
