# 进度、结果与恢复

> 查看待办、工具和后台任务，验证真实产物，并在中断或失败后继续工作。

Canonical page: /core/progress-results-and-recovery



<Takeaways>
  <li>
    最后一段回复是交付说明，不是唯一证据
  </li>

  <li>
    用目标、范围、验证和风险四层验收
  </li>

  <li>
    失败后先看已经发生了什么，再缩小修复
  </li>
</Takeaways>

Vetta 的最后一段回复是交付说明，不是唯一证据。任务是否完成，应以实际文件、工具结果、测试和活动记录共同判断。

## 在哪里观察执行 [#在哪里观察执行]

<Panel>
  <PanelGroup title="会话内">
    <PanelItem title="消息流">
      阶段性说明、工具卡片、最终回复。回答：Agent 当前在做什么。
    </PanelItem>

    <PanelItem title="输入区待办">
      待办、进行中、已完成。回答：计划走到哪一步。
    </PanelItem>
  </PanelGroup>

  <PanelGroup title="活动面板">
    <PanelItem title="文件">
      项目文件和产物。回答：实际生成或修改了什么。
    </PanelItem>

    <PanelItem title="后台任务">
      命令、子 Agent 与持续时间。回答：是否仍有工作在运行。
    </PanelItem>

    <PanelItem title="调试">
      工具调用和请求历史。回答：哪个动作失败、参数是什么。
    </PanelItem>

    <PanelItem title="专用标签">
      批量进度、自动化记录、知识加工。
    </PanelItem>
  </PanelGroup>
</Panel>

长任务可以在后台继续。输入区显示待发队列；上一轮中断后，队列会暂停，需明确恢复或选择立即发送。

## 用四层证据验收 [#用四层证据验收]

<EvidenceGrid>
  <div>
    <span>01</span>

    <strong>目标</strong>

    <p>最终行为是否符合任务描述。</p>
  </div>

  <div>
    <span>02</span>

    <strong>范围</strong>

    <p>修改是否留在允许路径和模块内。</p>
  </div>

  <div>
    <span>03</span>

    <strong>验证</strong>

    <p>约定的测试、命令或人工检查是否真实执行。</p>
  </div>

  <div>
    <span>04</span>

    <strong>风险</strong>

    <p>是否有失败工具、未完成待办或需人工收尾事项。</p>
  </div>
</EvidenceGrid>

推荐在任务中提前写出验收条件：

<Plate no="01" title="完成条件">
  ```text
  完成条件：
  1. 无效刷新令牌返回 401；
  2. 原有登录流程保持通过；
  3. 新增一个回归测试；
  4. 实际运行认证测试，并报告命令和结果；
  5. 不修改认证模块之外的文件。
  ```
</Plate>

## 识别常见终止状态 [#识别常见终止状态]

| 状态   | 含义             | 下一步                  |
| ---- | -------------- | -------------------- |
| 成功   | Agent 正常结束当前回合 | 按验收条件检查结果            |
| 失败   | 工具、模型或运行时返回错误  | 查看失败卡片和调试记录，修正后重试    |
| 中止   | 用户停止或宿主终止执行    | 确认是否有部分写入，再决定继续或新建会话 |
| 等待确认 | 动作需要用户授权或选择    | 检查影响范围后允许、拒绝或补充信息    |
| 后台运行 | 前台回复结束但仍有子任务   | 在后台任务面板等待、终止或检查独立结果  |

## 从失败中恢复 [#从失败中恢复]

<Steps>
  <Step>
    ### 先确认已经发生了什么 [#先确认已经发生了什么]

    查看最后一个成功工具调用、当前文件和未完成待办。不要假设失败前没有产生任何修改。
  </Step>

  <Step>
    ### 缩小修复输入 [#缩小修复输入]

    引用错误日志或失败文件，明确只处理剩余问题。避免原样重发一个宽泛任务导致重复工作。
  </Step>

  <Step>
    ### 选择继续、重试或分叉 [#选择继续重试或分叉]

    同一路径继续处理用原会话；想保留现状并验证另一方案时分叉；上下文已经偏离目标时新建会话。
  </Step>

  <Step>
    ### 重新执行验收 [#重新执行验收]

    修复成功后重新运行完整验收，不只运行刚才失败的单一步骤。
  </Step>
</Steps>

<Callout type="info" title="会话历史不是版本控制">
  Vetta 会保存对话与工具记录，但不能替代 Git、项目备份或数据库迁移回滚。对重要项目执行破坏性任务前，先建立可恢复基线。
</Callout>
