---
name: counting-problem
description: 计数类问题——需要统计视频中特定事物出现的次数或数量
task_type: Counting Problem
---

## 适用场景

问题要求统计某类事物的数量，选项通常为具体数字。
例: "How many goals does X score?" "How many times does Y 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 搜索被计数实体的名称，同时用 view_node 获取所有 L1 节点列表以了解视频的全局结构。

### Step 2: 系统遍历

对每个可能包含目标实体的 L1 段落执行系统化下钻流程。

### Step 3: 汇总确认

在回答前，在 reflect 的 instances 字段中逐一列出所有发现的实例及其来源节点。

## 输出格式

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

```json
{
  "reflect": {
    "learned": "这条信息揭示了什么",
    "options": {
      "A": "对此选项已知什么、来自哪个节点",
      "B": "...", "C": "...", "D": "..."
    },
    "confidence": 0.5,
    "best_candidate": "B",
    "answer_ready": false,
    "l1_coverage": "已遍历 X/Y 个 L1 段落",
    "instances": ["实例1@L3_xxx", "实例2@L3_yyy"]
  },
  "plan": {
    "goal": "本轮要获取什么信息",
    "tool": "选择哪个工具",
    "reason": "为什么这个工具和参数能达成目标"
  },
  "action": {
    "tool": "view_node",
    "args": {"node_id": "L1_000", "question": "当前关注的具体问题"}
  }
}
```

## 自检信号

如果 l1_coverage 尚未达到 100% 就准备提交答案，停下来——必须遍历完所有 L1 段落。

## 常见陷阱

1. **L2 节点数 ≠ 实例数**: 一个 L2 节点可能包含 0 个或多个被计数实例。必须深入 L3 逐一确认。
2. **模糊数量词不可信**: L1/L2 摘要中的"multiple""several""a few"不能替代精确计数。
