---
name: temporal-perception
description: 时间感知类问题——需要精确定位视频中特定事件发生的时间点
task_type: Temporal Perception
---

## 适用场景

问题要求定位特定事件发生的具体时间或时间段。
例: "When does the kitchen mishap occur?" "At what time does X happen?" "Which car model gets the most coverage?"

## 视频树字段索引

| 层级 | 字段 | 适用场景 |
|------|------|---------|
| 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: 利用树的时间结构

优先使用 view_node 进行顺序下钻，而非 search_similar。

### Step 2: 字幕时间锚点提取

从字幕中识别时间锚点——这些是确定事件发生时间的关键线索。

### Step 3: 多时间点采样

必须在至少 2-3 个不同时间点采集证据。

## 输出格式

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

```json
{
  "reflect": {
    "learned": "这条信息揭示了什么",
    "options": {
      "A": "对此选项已知什么、来自哪个节点",
      "B": "...", "C": "...", "D": "..."
    },
    "confidence": 0.5,
    "best_candidate": "B",
    "answer_ready": false,
    "temporal_anchors": ["Monday@L2_001", "2PM lunch@L2_003"],
    "time_points_sampled": 2
  },
  "plan": {
    "goal": "本轮要获取什么信息",
    "tool": "选择哪个工具",
    "reason": "为什么这个工具和参数能达成目标"
  },
  "action": {
    "tool": "view_node",
    "args": {"node_id": "L1_000", "question": "当前关注的具体问题"}
  }
}
```

answer_ready 仅在 time_points_sampled >= 2 时才可设为 true。

## 自检信号

如果 time_points_sampled 为 1 就准备提交，停下来——至少采样 2 个时间点。

## 常见陷阱

1. **单点采样是唯一已知的失败模式**: 只在一个时间点采样就下结论是危险的。
2. **倒计时 vs 正计时**: 篮球等运动的 game clock 是倒计时的。时间数字大意味着实际发生更早。不要搞反。
