> For the complete documentation index, see [llms.txt](https://getsquish.gitbook.io/squish/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://getsquish.gitbook.io/squish/zh/primitive/video-as-address-space.md).

# 把视频看作一个地址空间

**让 AI 可以随机访问视频。** 这就是这个产品用一句话概括的版本。本页解释其背后的概念：把视频时间线当作一个 **地址空间** ——一种模型可以指向并解引用的坐标系——而不是一个它必须从头看到尾的流。

## 原始视频是一个流

你可以播放一个流，但不能 *引用到其中* 。你没有办法把模型带到视频中的某个位置，也没有办法让模型说“再给我看看 *那个*”，并且没有任何它能回指的内容让别人去核查。线性消费视频的模型会为每一秒付费，不管那一秒是否重要——而大多数秒都不重要。

## 每个单元格都有时间码，就让时间变得可寻址

联系表——一张在片段中采样出的帧网格，每个单元格都标注了自己的绝对时间码——不是拼贴画。它是一个 **坐标系**。模型读取这张表，获得地址（`1:07`），然后现在可以 *解引用* 一个更高密度的地址范围：只对 `1:00–1:15` 这一段再运行一次 Squish，得到这个时间窗更密集的表，其中的单元格带有更精细的地址。每次缩放都会产生更精细的地址，而且每个地址都始终对应源视频中的绝对位置，所以任何层级的任何时间码都可以被直接引用或复用。

```
squish(video)                          → 概览表（索引）
读取这张表，选一个范围           → “下落大约在 1:07”
squish(video, start=1:00, end=1:15)    → 该时间窗的密集表
读取、细化、重复                   → 深到答案需要为止
```

联系表是 *页面格式*，不是产品。产品是让只能看静态帧的模型对时间进行随机访问。

## 时间轴上的 Read 工具

每个 agent harness 都有一个用于文件的 Read 工具—— `Read(file, offset, limit)` ——因为文件太大，装不进上下文，而且没有哪个 agent 会从头到尾读完整本书。Squish 是时间轴上的 Read 工具：

| 文件      | 视频                 |
| ------- | ------------------ |
| 文件的一页   | 一张联系表              |
| 行号      | 时间码                |
| 读取更窄的范围 | 使用……进行缩放 `开始`/`结束` |
| 整文件读取   | 一次性的视频→表格转换        |

一次性转换——把整个片段变成一张表——只是退化情况：也就是整文件读取。通用的原语是带窗口、可重复的，而且可以根据问题需要深入到任意层级。没有哪个 agent 应该被迫“观看”完整视频，就像它不应该被迫读完整本书一样。

## 检索胜过回放

视频是连续的；推理是稀疏的。大多数问题只涉及时间线中极小的一部分——一个场景切换、错误出现的瞬间、装配出错的那一步。正确的操作是 **检索** （取回答案所需的帧），而不是 **回放** （把所有内容都解码出来，然后希望注意力能撑住）。在一次真实的 agent 会话中，一个场景切换被定位到了 **0.2 秒** 通过检索 **34 帧，而不是 3,088 帧** ——完整演示在 [导航循环](/squish/zh/primitive/the-navigation-loop.md)中。成本随问题规模而变化，而不是随素材长度而变化。

## 边界：模型 = 语义，Squish = 机制

Squish 映射 *时间 → 帧*，并且是确定性的。它从不映射 *语义 → 时间*。引擎内部没有 embedding、没有语义搜索、也没有“找到目标”这样的调用——这是一项设计原则，而不是缺失。语义层已经存在：它就是调用模型读取概览表。“找到守门员扑救的那个时刻”是一种 *组合* ，也就是 agent 执行的流程——读取概览、选择范围、放大——而不是引擎功能。

其中的理由很稳固：工具构建出的任何语义能力，在前沿模型升级时都会贬值；而确定性的寻址永远不会。把引擎放在边界的机械一侧，才能让它保持小巧、可预测，并对每个模型都好用——包括那些尚不存在的模型。

## 下一步去哪里

* [联系表](/squish/zh/primitive/the-contact-sheet.md) ——页面格式在物理上是什么
* [导航循环](/squish/zh/primitive/the-navigation-loop.md) ——端到端驱动“概览 → 放大 → 引用”
* [表格格式规范](/squish/zh/can-kao/sheet-format.md) ——规范化格式
* [快速开始：CLI](/squish/zh/ru-men/quickstart-cli.md) · [快速开始：MCP](/squish/zh/ru-men/quickstart-mcp.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://getsquish.gitbook.io/squish/zh/primitive/video-as-address-space.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
