> ## Documentation Index
> Fetch the complete documentation index at: https://qitor.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 教程：回放并检查失败运行

> 使用 qita 面板、回放、导出和差异对比来理解一次官方 QitOS 运行为什么会失败或发生变化。

这节课从运行已经存在开始。

问题不再是"它跑完了吗"，而是"它为什么会这样运行"，以及"两次运行到底差在哪里"。

## 第一步：打开面板

```bash theme={null}
qita board --logdir ./runs
```

面板是最快的总览入口，你可以先看到：

* 停止原因
* 步数
* 事件数
* token 用量
* 解析器警告
* 官方运行与回放元信息

## 第二步：打开一个失败运行

选择一个 `stop_reason=max_steps`、`exception` 或解析器明显异常的运行，然后执行：

```bash theme={null}
qita replay --run ./runs/<run_id>
```

在运行概览里，先检查这些项：

* `official run`
* `replay mode`
* `git SHA`
* `package`
* `seed`
* `prompt protocol`
* `parser`

这一步会先告诉你：这个运行到底是否可比较。

## 第三步：检查解析器与上下文遥测

在运行页面里优先看：

* 解析器诊断
* 上下文占用时间轴
* 上下文压缩标记
* 模型响应摘要

这通常能快速判断失败来源是：

* 协议不匹配
* 工具选择错误
* 上下文饱和
* 基准测试环境准备失败

## 第四步：比较两个运行

通过面板上的对比控件，或直接打开：

```text theme={null}
/compare?left=RUN_A&right=RUN_B
```

v0.3 的差异视图聚焦在高价值字段：

* 停止原因
* 最终结果
* 步数
* 事件数
* token 用量
* 延迟
* 费用
* 解析器诊断
* 首次失败步骤
* 运行配置差异

这是回答"到底变了什么"的最快路径。

## 第五步：导出产物

当你要把一次失败复盘分享给协作者时：

```bash theme={null}
qit bench export --run ./runs/<run_id> --html ./reports/failed_run.html
```

这样团队讨论会始终围绕同一份追踪记录产物，而不是零散截图。

## 尽力回放提醒

QitOS 当前的回放是**尽力而为**的。

它足够支持：

* 研究调试
* 基准测试审查
* 提示词与解析器回归分析
* 产物分享

但它不承诺远程供应商或外部环境永远给出严格一致的输出。

## 继续阅读

* [官方运行](/zh/concepts/official-runs)
* [追踪](/zh/concepts/tracing)
* [可观测性](/zh/guides/observability)
