> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comet.rpamis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 澄清模式与共享理解

> 配置 Sequential 或 Batch 澄清，理解问题依赖、结构化提问、正式产物持久化与跨会话恢复。

Native 只把会改变用户可见结果的决定交给用户。仓库结构、依赖行为和运行环境等可查事实由 Agent 调查；实现方式由 Agent 根据风险选择。`native.clarification_mode` 只决定这些用户问题如何分轮，不改变 Shape、Build、Verify、Archive，也不降低进入 Build 前的要求。

## 选择澄清模式

在 `.comet/config.yaml` 中配置：

```yaml theme={null}
native:
  artifact_root: docs
  language: zh-CN
  clarification_mode: sequential
```

| 模式           | 每轮行为                | 适合场景                      |
| ------------ | ------------------- | ------------------------- |
| `sequential` | 询问一个最上游问题，回答后再计算下一题 | 需求仍在快速变化，或每个答案会明显改变后续问题   |
| `batch`      | 一次提出本轮所有前置条件已经确定的问题 | 用户希望减少往返，并且同一轮存在多个彼此独立的决定 |

字段缺失时使用 `sequential`。切换模式不会清除 brief 中已有的 `[blocking]` 项，也不会把未回答问题自动按推荐项补全。先处理当前持久化问题，再按新模式组织下一轮。

## 本轮可回答问题集

Batch 不是把所有未知项一次性列成问卷。Native 会为每个问题检查三个条件：

1. 它依赖的用户决定已经确定；
2. 回答所需的仓库或环境事实已经查清；
3. 它的答案不依赖本轮另一道尚未回答的问题。

同时满足三个条件的问题组成“本轮可回答问题集”。仍依赖其他决定或调查结果的问题留到下一轮。这样可以减少往返，同时避免要求用户在缺少前置信息时猜测。

<p align="center">
  <img src="https://mintcdn.com/comet-bb5f5294/7jNUkQ90KjmwXcBK/assets/native-illustrations/05-clarification-modes.png?fit=max&auto=format&n=7jNUkQ90KjmwXcBK&q=85&s=f58fea186451d3b7328102ab2829e11d" alt="小鱼在折页台阶上夹住本轮问题卡，已确定的前提在下方，下一轮问题在上方等待" width="1672" height="941" data-path="assets/native-illustrations/05-clarification-modes.png" />
</p>

每道问题仍应分别给出：

* **问题**：需要确定的用户可见行为；
* **推荐**：基于当前目标和权衡给出的建议；
* **影响**：不同选项会如何改变范围、结果或风险。

## Claude Code 中的结构化提问

当前工具列表提供 `AskUserQuestion` 时，Native 优先使用 Claude Code 的结构化问题界面。Sequential 每轮提交一道问题；Batch 只有在整轮问题能满足当前工具的问题数、选项数和字段限制时，才把整组问题放进同一次调用。

同一轮不会拆成多次阻塞式工具调用。若整轮无法完整放入一次调用，Native 会把整轮统一降级为编号文本，保留相同的问题、选项、推荐和影响，再等待用户按编号回答。

单选和多选按决定本身的语义使用：

* 选项互斥时使用单选；
* 只有一个决定允许同时选择多个彼此兼容的选项时才使用多选；
* 不使用一道多选题压缩多个独立决定。

如果本会话第一次结构化提问调用失败，后续轮次直接使用文本形式，不重复触发同一宿主错误。工具调用成功后也不会再输出一套重复的文本问题。

## 问题如何保存与恢复

对话不是恢复依据。Batch 会把本轮问题按固定编号保存到 `brief.md`：

```markdown theme={null}
## Open questions

- [blocking] Q1: 头像上传失败时保留原头像还是清空？
- [blocking] Q2: 是否允许用户删除现有头像？
```

用户回答后，已确认内容写入 Decisions 和完整目标规格，对应阻塞项才会移除。未回答或含糊的项目继续保留 `[blocking]`。

当所有问题解决后，Batch 还会生成一次目标、范围、关键决定、验收标准和非目标的共享理解摘要，并保存最终确认：

```markdown theme={null}
- [blocking] CONFIRM: 确认按当前摘要进入 Build
```

只有用户明确确认后才移除该项并进入 Build。Sequential 不增加通用最终确认；没有用户决定时直接继续。

## 跨会话继续一轮澄清

恢复时先读取项目配置，再读取 brief 中已经保存的编号：

```bash theme={null}
comet native show <change-name>
comet native status <change-name> --details
```

不要根据聊天记忆重建问题，也不要因为配置模式已经改变而重新编号当前轮次。先把用户答案对应到已保存的 Q1、Q2，再计算后续问题。

继续阅读：[用户决定与需求澄清协议](/zh/native/decision-ownership)、[Native 配置](/zh/native/configuration) 和 [恢复与故障处理](/zh/native/recovery-playbook)。
