---
name: object-reasoning
description: 对象推理类问题——需要对视频中的对象进行属性、关系或因果推理
task_type: Object Reasoning
---

## 适用场景

问题要求推理视频中对象的属性、关系、用途或意义。
例: "What can be inferred about X?" "What does Y represent?" "Which gadget had the least impact?"

## 视频树字段索引

| 层级 | 字段 | 适用场景 |
|------|------|---------|
| 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: 定位

根据问题的线索选择最高效的定位方式。

### Step 2: 证据收集

从 L1/L2 字幕中提取与推理相关的因果链和解释性信息。

### Step 3: 验证

对每个选项逐一检查是否有直接证据支持或否定。

## 输出格式

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

```json
{
  "reflect": {
    "question_asks": "用自己的话改写题目",
    "needs_visual": "本题是否需要视觉细节来区分选项？如果是，需要对比哪些具体属性？",
    "learned": "这条信息揭示了什么",
    "options": {
      "A": "对此选项已知什么、来自哪个节点",
      "B": "...", "C": "...", "D": "..."
    },
    "confidence": 0.5,
    "best_candidate": "B",
    "answer_ready": false,
    "evidence_level": "L1_summary / L2_subtitle / L3_visual / observe_frame"
  },
  "plan": {
    "goal": "本轮要获取什么信息",
    "tool": "选择哪个工具",
    "reason": "为什么这个工具和参数能达成目标"
  },
  "action": {
    "tool": "view_node",
    "args": {"node_id": "L1_000", "question": "当前关注的具体问题"}
  }
}
```

## 自检信号

如果你在 view_node 或 search_similar 的摘要中读到了外观描述并直接用于判断，检查 needs_visual 字段——如果为"是"，必须用 observe_frame 确认。

## 常见陷阱

1. **编号/顺序推理**: 视频中的编号可能是倒序或非线性的。必须在字幕中找到明确的编号标注，不要假设编号顺序与出现顺序一致。
2. **"代表/象征"类推理**: 字幕中可能有多层含义，需要区分字面信息和深层含义。选择与视频论述最直接对应的选项。
