# Tree of Thoughts 推理协议

本协议定义 **grounded_workflows** 在 **关键决策点** 上应如何执行 **结构化多路径推理（Tree of Thoughts, ToT）**：在证据约束下并行探索多条思路，再经统一评估与筛选收敛到可执行结论。ToT 不是“多写几段话”，而是 **可审计的流程**：每条路径独立、可比较、可回溯，并与 `protocols/grounding.md` 的标注与优先级一致。

**核心目的**：在架构取舍、根因诊断、方案探索等 **高歧义、高影响** 场景，避免过早单线收敛；同时通过 `[DW]` / `[SRC]` / `[EXT]` 的硬约束，防止多路径推理变成无依据发散。

---

## 四阶段流程

智能体必须 **按顺序** 完成四阶段；不得跳过「评估」直接「筛选」，也不得在「生成」阶段混入过细实现。各阶段产物都应可被下游技能或人类 reviewer 独立阅读与质疑。

### 生成（Generate）

**目标**：为当前问题建立 **不少于 3 条** 在认知上可区分的求解方向（候选路径）。

**智能体指令（必须遵守）**：

1. **数量**：至少输出 **3 个方向**（Direction）。若问题天然只有两条强路径，第三条必须是 **显式反例/基线/不做** 等仍具决策价值的选项，并在展开阶段说明其适用边界。
2. **长度**：每个方向用 **1–2 句中文** 给出 **核心想法总览**（做什么、解决什么矛盾、与问题陈述的直接对应关系）。
3. **差异性（硬性）**：方向之间必须在 **至少一个** 以下维度上 **实质不同**：目标函数（延迟/成本/风险/可维护性）、依赖假设、数据/控制流切入点、组织协作方式、演进路径（渐进式 vs 一次性）、或证据使用策略（更偏 `[DW]` 合规 vs 更偏 `[SRC]` 验证）。**禁止** 将同一策略改换表述或微调参数当作“新方向”。
4. **与上下文对齐**：生成前必须消化 **上下文构建协议** 产出的结构化上下文（目标、约束、术语表、已知事实）；方向命名应能让人一眼看出 **各自回答的是问题的哪一部分**。
5. **暂不做评分**：本阶段不写优劣判断、不写实现细节清单；细节留给「展开」。

### 展开（Expand）

**目标**：对 **每一个** 方向，展开为可讨论、可验证的 **3–5 条要点**（每条应能单独判断真伪或风险）。

**智能体指令（必须遵守）**：

1. **结构**：每个方向下固定包含三类信息（可用子 bullet 组织，但语义不可缺）：
   - **优势**：相对其他方向或现状，在什么条件下成立、带来什么收益（需可被 `[DW]`/`[SRC]` 支撑或明确为 `[EXT]` 建议）。
   - **风险**：失败模式、耦合点、运维/安全/合规隐患；不得泛泛而谈，应写到 **可触发预案** 的粒度。
   - **前提条件**：资源、权限、数据可得性、团队技能、时间窗、外部系统契约；**不满足则应标记为阻断项**。
2. **知识接地**：展开中的 **每一条独立断言** 必须遵守 `protocols/grounding.md`：
   - 带层级标签：`[DW]`、`[SRC]`、`[EXT]` 或允许的混合标签（如 `[DW+SRC]`）。
   - `[DW]`/`[SRC]` 断言尾随 **可定位引用**；`[EXT]` 断言必须说明 **L1/L2 不足** 或门控结论。
3. **整合知识语境**：在叙述中显式串联「上下文事实 → 证据标签 → 结论」，使读者能复核 **结论是否过度外推**。
4. **剪枝钩子（与后文「剪枝策略」一致）**：展开过程中若已能判定某方向在 **任一关键维度** 上必然劣化（例如与 `[DW]` 架构红线冲突），应 **继续写完最小要点集** 以便审计，但可在该方向首部标注 **待剪枝候选**；是否在「评估」前正式剪枝，按「剪枝策略」执行。

### 评估（Evaluate）

**目标**：在 **统一维度** 上对每条方向打分，使比较结果 **可复算、可解释**。

**智能体指令（必须遵守）**：

1. **统一维度（固定三项）**：
   - **知识契合度**：与 `[DW]` 的一致性、可引用覆盖面、是否需大量 `[EXT]` 补洞；`[DW]` 冲突或未检索即断言应显著拉低分数。
   - **可行性**：技术复杂度、依赖风险、资源与时间约束、组织与流程成本；应结合 `[SRC]` 对实现摩擦力的佐证。
   - **创新性 vs 风险平衡**：是否引入非常规结构/新依赖；创新分高但风险未缓解时，本维度 **不得** 虚高——须在评分理由中写出 **风险缓释** 或 **为何可接受**。
2. **分制**：每项维度使用 **0.1–1.0** 连续刻度（保留一位小数），并在文字理由中解释 **为何不是相邻档位**。
3. **分档语义（解释用，非离散化）**：
   - **0.1–0.3：低（不推荐）**：证据薄弱或与 `[DW]` 明显不一致；或可行性存在硬阻断；或风险不可接受且无缓释。
   - **0.4–0.6：中（可考虑）**：有主要证据但存在缺口；需额外验证或权衡后才能推进。
   - **0.7–0.9：高（推荐）**：`[DW]`/`[SRC]` 支撑充分，风险可控或有明确缓释路径。
   - **1.0：极优（罕见）**：多源交叉验证、边界清晰、反事实检验下仍稳健；**默认不应轻易给出 1.0**，若给出必须在理由中列出 **强证据与反证排除**。
4. **综合分**：由智能体给出 **显式加权规则** 并一次性声明（推荐默认：`知识契合度 0.5 + 可行性 0.35 + 创新/风险 0.15`，若任务明显偏探索可调权重但 **须在评估段首写明**）。综合分同样使用 0.1–1.0，并与分档语义一致。
5. **可审计性**：每个分数附带 **1–3 句理由**，且理由中应出现 **至少一个** 具体证据指向（路径/页码/模块名），避免纯形容词堆砌。

### 筛选（Select）

**目标**：在比较矩阵与文字理由基础上，形成 **单一主路径** 或 **有主有次的组合方案**，并留下未采纳路径的档案价值。

**智能体指令（必须遵守）**：

1. **决策类型**：
   - **择优**：选择综合分最高且 **无硬阻断前提** 的方向作为主方案。
   - **合成**：当没有任何单一路径支配时，允许从多条方向 **抽取经评估验证的子模块** 组合；必须说明 **接口/责任边界/回滚策略**，避免“弗兰肯斯坦式拼接”。
2. **选择理由（显性）**：用独立小节写清：**选中谁**、**因为什么证据与权衡**、**放弃了什么以及放弃成本是否可接受**。
3. **未采纳路径的处理**：所有曾生成且完成评估（或按剪枝策略标记）的方向，若最终不采用，必须在输出中保留条目，并统一标记为 **`已评估，未采纳`**；每条附 **一句否决原因**（证据/风险/成本/与 `[DW]` 冲突等）。
4. **与下游衔接**：主方案应能自然流入后续协议（如实现规划、测试策略、变更评审），不得停留在口号层。

---

## 输出格式

智能体在启用 ToT 时，对外输出 **必须** 使用以下 Markdown 骨架（标题文字可微调，但 **层级结构与区块不得缺失**）。中文为主；代码与路径保持原样。

### 1. 问题重述与决策点

- **当前问题**（1–3 句）
- **决策点定义**：本次 ToT 要解决的 **具体分叉**（例如“同步 vs 异步”“自建 vs 托管”）

### 2. 方向总览（生成）

- **方向 1**：……（1–2 句）
- **方向 2**：……（1–2 句）
- **方向 3**：……（1–2 句）
- （如有方向 4+，继续编号）

### 3. 分向展开（展开）

对每个方向使用四级标题：

#### 方向 N：〈短标题〉

- **要点 1**（含 优势/风险/前提 子结构之一或组合，且带 `[DW]`/`[SRC]`/`[EXT]` 标签与引用）
- **要点 2**
- **要点 3**
- （3–5 条）

若该方向已被剪枝，在标题行末追加：`（已剪枝）`

### 4. 思维树结构图（Mermaid）

必须包含与下述 **语义等价** 的 Mermaid `graph TD` 模板（节点文案可按问题替换，但拓扑保持一致）：

```mermaid
graph TD
    Problem[当前问题] --> D1[方向 1]
    Problem --> D2[方向 2]
    Problem --> D3[方向 3]
    D1 --> E1[展开: 3-5 要点]
    D2 --> E2[展开: 3-5 要点]
    D3 --> E3[展开: 3-5 要点]
    E1 --> Eval[统一评估]
    E2 --> Eval
    E3 --> Eval
    Eval --> Sel[筛选最优]
```

> 若实际方向多于 3，应扩展 `D4/E4` 等节点并保持汇聚到 `Eval`。

### 5. 评估矩阵（Evaluate）

必须使用下表 **表头不变**；列数随方向数扩展；单元格内写 **分数 + 极短理由关键词**（例如 `0.8 / DW 充分`）。

```
| 维度 | 方向 1 | 方向 2 | 方向 3 |
|------|--------|--------|--------|
| 知识契合度 | ... | ... | ... |
| 可行性 | ... | ... | ... |
| 创新性/风险 | ... | ... | ... |
| **综合** | ... | ... | ... |
```

### 6. 筛选结论（Select）

- **主选方案**：……
- **选择理由**：……
- **备选/回退**：……（若无写 `无`）
- **已评估，未采纳**：
  - 方向 X：……（一句否决原因）`已评估，未采纳`
  - 方向 Y：…… `已评估，未采纳`

### 7. 证据与待办

- **关键引用清单**（按 `[DW]` / `[SRC]` / `[EXT]` 分组）
- **为降低不确定性需补充的材料**（若有）

---

## 触发条件

### 应使用 ToT（YES）

在以下情形，**默认启用** 本协议（除非人类明确要求单线简答且承担风险）：

- **设计决策**：架构风格、数据模型、接口边界、容错与一致性策略、安全模型等存在 **多合理解** 且影响面大。
- **问题诊断**：现象背后可能存在 **多条竞争假设**（配置、代码路径、基础设施、上游契约），需要系统性排除。
- **创造性探索**：产品形态、算法策略、工作流编排、用户体验路径等需要 **多样化备选** 再收敛。

### 不应使用 ToT（NO）

以下情形使用 ToT **浪费上下文且降低信噪比**，应改用线性推理或检索—引用—结论：

- **事实查询**：单一答案可查（文档/源码/日志）且无实质分叉。
- **简单选择**：选项已在规范中固定（例如既定枚举、已合并的团队决议），仅需执行。
- **实现细节落地**：在方案已冻结的前提下填写函数名、字段名、具体补丁（除非细节本身又引发新的架构分叉）。

**边界判断**：若不确定 YES/NO，先问 **“是否存在多个合理解且证据不足以立即排除？”** —— 若为是，用 ToT；若为否，不用。

---

## 与其他协议的集成

1. **接地协议（强制）**：所有「展开」要点与「筛选」中的断言，必须遵守 `protocols/grounding.md` 的标签、引用与扩展门控；ToT **不豁免** 任何 grounding 义务。
2. **评估权重**：统一评估中 **`知识契合度` 对 `[DW]` 对齐的权重默认最高**；当 `[DW]` 与 `[EXT]` 冲突时，**不得以创新为由**抬高冲突方向的综合分——除非人类明确授权偏离基线并记录风险接受。
3. **上下文构建协议**：`Generate` 阶段的输入应以 **上下文构建协议** 的结构化输出为主：问题陈述、硬约束、术语、已确认事实、禁止项；禁止在缺少上下文时虚构组织约束。
4. **一致性**：若其他协议（如评审、规划）要求单结论，ToT 的 **最终对外结论仍只能有一条主叙事**；多路径信息保留在「已评估，未采纳」区以供审计。

---

## 剪枝策略

为控制长上下文成本，本协议引入 **深度优先搜索（DFS）式剪枝** 的 **弱等价** 操作准则：在 **展开（Expand）** 过程中，若已能判定某方向在 **任一关键维度** 上 **必然低于 0.3**（与评估阶段同一语义：知识契合度、可行性、创新性/风险之一），智能体 **可以** 提前结束该方向的进一步延展，并进入剪枝状态。

**剪枝规则（必须同时满足）**：

1. **关键维度定义**：至少包含 **知识契合度** 与 **可行性**；若任务为强合规/强架构约束场景，**知识契合度缺失或与 `[DW]` 冲突** 视为自动触发剪枝候选。
2. **阈值**：在展开阶段以 **定性等价** 于评分 `<0.3` 为准（例如：缺少 `[DW]` 支撑且 `[SRC]` 亦无法补齐关键事实；或存在明确资源硬上限不可满足）。
3. **标记**：被剪枝方向须在 **方向标题** 与 **未采纳区** 显示 **`已剪枝`**（可与 `已评估，未采纳` 并存：`已剪枝；已评估，未采纳`）。
4. **最小审计包**：即使剪枝，也需保留 **至少 2 条** 要点说明 **为何不可行**（证据/阻断前提），避免“神秘剪枝”。
5. **不回灌**：剪枝方向 **不得** 在无新证据的情况下于后续轮次复活；若人类补充材料推翻前提，应开启 **新一轮 ToT** 并声明版本。

**与完整评估的关系**：未被剪枝的方向仍须走完整「评估矩阵 + 筛选理由」；剪枝仅节省 **低价值方向的展开篇幅**，不替代对幸存路径的严格评分。

---

## 质量自检清单（智能体在输出前内部执行）

- [ ] 方向数 ≥3，且实质不同
- [ ] 每方向展开 3–5 要点，且含 优势/风险/前提 语义覆盖
- [ ] 每条断言符合 `grounding.md`（标签 + 引用/门控说明）
- [ ] 评估矩阵使用统一维度与 0.1–1.0 分制，综合分权重已声明
- [ ] Mermaid 拓扑正确，评估汇聚后指向筛选
- [ ] 未采纳路径均标注 `已评估，未采纳`；剪枝路径标注 `已剪枝`
- [ ] 主选方案具备可执行下一步，而非口号

---

**版本说明**：本文件为 **grounded_workflows** 的 ToT 根协议；与其冲突的旧叙述以本文件为准。
