# 步骤和环节

一集要经过 5 个环节。每个环节做出一部分、检查它、修好没通过的，最多 3 轮就停下。

一个步骤是一项有自己文件和自己检查的工作，比如这一集的剧本或镜头提示词。一个环节把做出这一集某一部分所需的步骤放在一起。它先做出这一部分，在你的电脑上检查，修好没通过的，再检查一遍。这一部分通过，或者环节到了轮数上限，你的 Agent 就停下，把结果给你看。

## 环节

你的 Agent 按这个顺序运行各个环节。这个顺序只是建议：乱序运行一个环节，会打印一条警告，然后照样运行。

| 环节 | CLI 里的名字 | 你要看什么 |
|---|---|---|
| 剧本 | `script` | 这一集的剧本，`script.md` |
| 分镜表 | `sheet` | [分镜表](/zh-cn/docs/cli/shot-sheet) |
| 预览片 | `mock` | 预览片的图片表和它的视频，在应用的 **剪辑** 标签页里 |
| 视频 | `videos` | 为每个镜头选出的视频版本 |
| 剪辑 | `edit` | 剪辑好的成片，在应用的 **剪辑** 标签页里 |

每个环节做什么，见[概览](/zh-cn/docs/cli/overview)。`minicut loop` 显示每个环节进行到哪里，`minicut loop next` 打印下一条要运行的命令。

## 轮

运行一个环节一次，就是一轮。这一轮检查环节的文件，并把结果存进这一集文件夹里的 `loops.json`。如果一轮发现问题，每个问题打印一行 `FAIL`，修法写在它下面。你的 Agent 做出修改，再运行这个环节。

一轮什么问题都没发现，就打印 `PASSED`。环节接着等你点头。你看过它做出的东西，你的 Agent 用 `minicut loop approve` 记下你的回答。

在剧本、分镜表和预览片环节里，缺少文件会让运行停下。它列出缺了什么，以退出码 3 结束，并且不占用一轮。

## 上限

一个环节在固定的轮数之后停下，所以修不好的问题不会无限重复。

| 环节 | 上限数的是 | 默认 |
|---|---|---|
| 剧本、分镜表、预览片、剪辑 | 轮 | 3 |
| 视频 | 一个镜头的视频版本 | 3 |

要改上限，在 `series.json` 里加 `"loops"`，例如 `"loops": {"mock": 4, "takes": 5}`。视频环节的键是 `takes`。`minicut loop run` 也接受 `--max`。见 [minicut loop](/zh-cn/docs/cli/checks-and-loops#minicut-loop)。

## 环节失败时

没到上限时，你的 Agent 修好那一轮打印的问题，再运行这个环节。如果在一轮失败之后你改了某个文件，`minicut loop next` 会让你的 Agent 再运行一次这个环节。

到了上限，环节打印 `CAP REACHED`，你的 Agent 停下，把还没通过的地方给你看。由你决定：

- 用 `minicut loop approve` 原样通过。
- 用 `minicut loop done` 结束这个环节，并写明原因。
- 提高上限，让你的 Agent 再试。

在视频环节里，只重做失败的那个镜头。到了一个镜头的上限，你的 Agent 选出最好的版本，并告诉你它还有什么问题。不会有任何东西替你保存那个版本。

## 有改动时

一个已通过的环节，在它所用的文件改变之后就过期了。`minicut loop` 这时显示 `out of date, re-run suggested`。你也可以用 `minicut loop stop-at` 让各环节只运行到某一个环节，或者用 `minicut loop pause` 让它们安静下来。

Claude Code 和 Codex 有一个由 `minicut install-skill` 加上的停止钩子。它运行 `minicut loop guard`。环节正在一轮中间，或者项目还有任务在运行时，它会让 Agent 回去继续工作。视频版本在等视频环节时，它也会拦住 Agent。

## 下一步

[检查和环节](/zh-cn/docs/cli/checks-and-loops) [分镜表](/zh-cn/docs/cli/shot-sheet) [项目目录](/zh-cn/docs/cli/project-directory)
