# Template 1: 开放问题多 agent 头脑风暴

> 三阶段发散性研究路线图生成器

## 研究模式（必读）

本模板默认走 **Mode A：实质研究**（追求可证伪新贡献）。
仅当用户请求显式落在 "综述 / survey / 学习 X / 什么是 X / 最新进展" 等触发短语时，切到 **Mode B：综述**。

详见 [`MODES.md`](MODES.md)。Stage 0 必须显式记录 mode 到 `decision_log.md`，所有 Phase 的 agent prompt 都要带 `mode=A|B` 标记。

模式影响 Template 1 的两处：
- Phase 1 角度 prompt 中"文献未充分追究的新角度"段（A: 必填可证伪推测，B: 可改为"该领域学习者最该关注的入门角度"）
- Phase 4 最终综合的"§N.5 高优先级可攻小命题"（A: 列可证伪小命题，B: 列学习路径 + 综述 reading list）

## 用途

当你面对一个**开放数学/科学问题**且**没有明确攻克入口**时，本模板用多 agent 并行思考来产出一份**研究路线图**（不是证明）。

输出物是 HTML 章节，结构为：10 个发散角度速览 → 5 个题对协同 → 2 个跨主题大综合 → 重定义 → 高优先级可攻命题清单 → 局限性声明。

## 何时用 vs 不用

**用**：
- 命题尚未明确，问题处于"无入口"状态（如 Mersenne 素数无穷、Collatz、$\zeta(2k+1)$ 无理）。
- 想生成 5–10 个具体可攻的子命题候选。
- 想发现跨学科类比、等价重述、跨猜想杠杆。

**不用**：
- 你已经有一个明确命题想证 → 改用 **Template 2**（命题深入研究）。
- 问题已被现有文献完全解决 → 直接读综述。
- 只想一句话总结 → 直接问一个 LLM。

## 已完成示例

- `../mersenne.html` §13 — Mersenne 素数无穷性的 10 角度 × 4 阶段（18 agent，约 12 分钟）。

## 架构

### 4 阶段流水线

```
 N 个发散角度 (Q1..QN)
       │
       ▼
 ┌─────────────────────┐
 │ Phase 1：N 个 agent │  每人 1 个角度，深挖
 │ → phase1_qNN.md     │
 └────────┬────────────┘
          ▼
 ┌─────────────────────┐
 │ Phase 2：N/2 agent  │  每人 2 角度，找协同与张力
 │ → phase2_aXX.md     │
 └────────┬────────────┘
          ▼
 ┌─────────────────────┐
 │ Phase 3：N/5 agent  │  每人 5 角度，跨主题大综合
 │ → phase3_aX.md      │
 └────────┬────────────┘
          ▼
 ┌─────────────────────┐
 │ Phase 4：1 agent    │  读全部，写最终 HTML 章节
 │ → final_section.html│
 └─────────────────────┘
```

### 推荐参数

| N（角度数） | Phase 1 agent | Phase 2 agent | Phase 3 agent | Total | 适用 |
|---|---|---|---|---|---|
| 6 | 6 | 3 | 1 | 11 | 快速探索 |
| 10 | 10 | 5 | 2 | 18 | **推荐**（默认） |
| 15 | 15 | 7 | 3 | 26 | 深度探索 |

**模型选择**：发散阶段强烈推荐全部使用 **Opus 4.7**（默认）。Sonnet 4.6 倾向给"教科书清单"；Opus 在跨领域联想和非平凡角度上明显更密。成本估计（Opus 4.7）：18 agent × ~5K tokens ≈ 90K tokens，约 \$3–6。Sonnet 4.6 约 \$0.5–1，作为预算紧张时的降级选项。

## 角度设计原则

每个角度应回答一个**截然不同的方法论问题**。Mersenne 例子的 10 角度可作模板：

| ID | 角度类型 | 模板提问 |
|---|---|---|
| Q1 | 历史方法重用 | 历史上证此类问题的 5 大手法（X, Y, Z）哪些可改造？ |
| Q2 | 跨学科类比 | 物理 / 生物 / CS 中有无结构同形的对应物？ |
| Q3 | 算法迁移 | ML / 量子 / 谱 / SAT 等算法能否用于"算法式证明"？ |
| Q4 | 经典启示 | Euler / Dirichlet 类经典证法能否变形？ |
| Q5 | 等价重述 | 翻成动力系统 / 几何 / 拓扑 / 范畴语言哪个易攻？ |
| Q6 | 拆分逼近 | 像 Goldbach 1+1 → 1+2 → ... 的阶梯式拆分？ |
| Q7 | 新框架 | 跳出现有体系需发明什么对象？ |
| Q8 | 信息论 | Kolmogorov / 随机性 / PRF 假设视角？ |
| Q9 | 跨猜想杠杆 | 哪个其他大猜想成立可蕴含？哪个最弱、最近？ |
| Q10 | 反证 | 假设否定推矛盾？借助哪些已证事实？ |

## 实施步骤

### 步骤 0：准备

```bash
mkdir -p /tmp/myproject_brainstorm
mkdir -p ./output_dir   # 最终 HTML 写入位置
```

### 步骤 0.5（v1.5 Phase 2 新增）：L0 Novelty Sentinel — arXiv + LMFDB + OEIS 早期 kill

**触发**：每次 Template 1 启动 Phase 1 之前（即写完背景包、列出 N 个角度之后）。

**目标**：用 ≤ 30 秒 / ≤ \$0.5 的 arxiv MCP 搜索，回答"这个命题在最近 5 年内是不是已经被证或被实质覆盖了"。如果 yes，省下后面 ~80 agent 的工作。

**启动 1 个 `general-purpose` agent，Sonnet 4.6 即可**（这是搜索 + 摘要任务，opus 浪费）：

```
你是 L0 Novelty Sentinel agent。任务：用 arxiv MCP / arxiv skill + OEIS / LMFDB
查命题在最近 5 年内是否已被实质覆盖。

【命题】[完整陈述]
【已知现状】[背景包]
【N 个候选角度】[Q1..QN 一句话]

【任务】
1. arxiv 搜索（用 mcp__arxiv__* 工具或 arxiv skill；详见 CLAUDE.md，禁止 curl）：
   - 主关键词 3-5 组（命题核心对象 + 主要技术）
   - 限近 5 年（2021-2026）
   - 每组取前 10 条结果
   - 标记每篇与命题的相关度：covered / partial / orthogonal
2. OEIS 查（如涉及整数序列）：把命题里的关键序列前 20 项 curl 到 oeis.org/search?fmt=text
3. LMFDB 查（如涉及 L 函数 / 椭圆曲线 / 模形式 / 数域）：访问 lmfdb.org 对应数据库
4. 写 verdict 之一：
   - **fully-covered**：≥ 1 篇近 5 年论文已证此命题或加强版 → 强烈建议 KILL，换方向
   - **partially-covered**：已有部分进展，本研究的 incremental gap < 30%
     → 标 [tier-ceiling=C]（顶多综述 + 小改进）；继续 Phase 1 但下游 agent 知道不要 over-claim
   - **substantially-novel**：5 年内无直接覆盖，部分技术可借
     → 正常进 Phase 1
   - **completely-novel**：检索基本无结果（多见于 ad hoc 命题）
     → 红旗：可能是因为问题不重要 / 错误命题。继续但 ranker 提高门槛

【输出】
- /tmp/<project>_brainstorm/L0_novelty_report.md，含：
  - 5 篇最相关 arXiv 的 id + title + 1 行 relevance（covered / partial / orthogonal）
  - OEIS / LMFDB 命中（编号 + 备注）
  - SOTA gap：现有最强结果的精确陈述
  - 本研究的 incremental gap 估计
  - verdict（4 选 1）
  - **建议 tier ceiling**（S/A/B/C/D 之一）—— 后续 Template 2/3 据此调整期刊期望

decision_log: [L0.novelty] timestamp <verdict> tier_ceiling=<>
```

**Kill 决策**：
- verdict = `fully-covered` → main thread 跟用户确认后**直接退出 Template 1**（省 18 agent）
- verdict = `partially-covered` → 在 Coordinator 的 mode line 后追加 `[tier-ceiling] C`，让下游 agent 据此自我调节
- verdict = `substantially-novel` 或 `completely-novel` → 正常继续

**为什么放在 L0 而不是 L2.reader 阶段**：L2 在 Template 2 的中段，已经投了 60+ agent 之后才查文献，太晚。L0 是 30 秒 arxiv search 的事，应该最早做。

### 步骤 0.75（v1.7 新增）：Innovation Scanner — 历史范式转换 schema 类比

**触发**：L0 Novelty Sentinel 通过（verdict ≠ fully-covered）后，Phase 1 之前。
**目标**：让 LLM 不靠自己想"发明什么"，而靠**调用历史 schema 库** 类比已成功的范式转换。

**为什么必要**：LLM 默认产"平均数学"，倾向用现有工具搜索而非发明新对象。Tier A/S 级原创理论几乎全来自范式转换（Euler 引入 i / Riemann 内禀流形 / Grothendieck schemes / Connes NCG / Furstenberg correspondence）。给 LLM 显式 schema 库 + 强制类比，比抽象 "发明新对象" 指令有效得多。

**素材**：[`historical_innovations.md`](historical_innovations.md) —— 15 个范式转换 case + 10 个元 schema，每条 case 含**可机械迁移**的抽象规则。

**启动 1 个 `general-purpose` agent，Opus 4.7**（这是类比 + 创造性映射任务，需要全局把握）：

```
你是 Innovation Scanner agent。任务：扫描历史范式转换 schema 库，挑 3-5 个最
promising 的 schema 应用到本命题上。**不靠自己想，靠类比成功范式**。

【命题】[完整陈述]
【已知现状】[背景包]
【L0.novelty 输出】verdict=<>, tier_ceiling=<>

【素材】用 Read 工具读 multi-agent-research/historical_innovations.md 全文
（约 5K 字，15 个 case + 10 元 schema）

【任务】

阶段 A —— 全部扫描（不输出）：读 15 个 case 的 Schema 段 + 适用条件段。
对每个 case 内心打分：match 本命题的可能性（高 / 中 / 低 / 完全不适用）。

阶段 B —— 挑 3 个 high-match case：
对每个 case，回答：
1. **为什么这个 schema 可能应用到本命题**（≤ 80 字，要精确，不要肤浅类比）
2. **具体怎么应用**：把 schema 的抽象变量替换为本命题的具体对象，
   写出"如果照搬这个 case 的招数到本命题，会得到什么样的新对象 / 新假设 / 新框架？"
   （≤ 200 字，要具体到"要发明什么对象、它有什么性质、为什么这让原命题变 natural"）
3. **要补什么 / 缺什么**：这个类比要 work 还需要哪些目前没有的工具或假设（≤ 100 字）
4. **1 个月内 falsification 思想实验**：怎么知道这条路不通？（≤ 80 字）

阶段 C —— 挑 1 个 wild card：
从 low-match case 里挑一个**特别非显然但若 work 则 transformative** 的。
同样回答以上 4 项，但更短（每项 ≤ 50 字）。

阶段 D —— 元 schema 复用：
看 historical_innovations.md 末尾的 "元 schema（高阶模式）" 10 条。
挑 ≤ 2 条不属于上面 4 个 case 的元 schema，但你认为本命题潜在适用。
每条用 ≤ 100 字说明。

【输出】中文 ≤ 1500 字，结构：

## 已扫描的 15 个 case（match 评分表）

| Case | Schema 摘要（1 行） | match 本命题概率 |
| 1 Bombelli i | 形式 impossible 对象当 first-class | 高/中/低/不适用 |
| ...（15 行） |

## Top 3 候选 schema（每个 ≤ 500 字）

### 候选 1：[CASE 名]
（按 阶段 B 的 4 项格式回答）

### 候选 2：...
### 候选 3：...

## Wild card 候选

[CASE 名] + 4 项回答（短版）

## 元 schema 补充候选

- 元 schema 名 + 应用一句话
- 元 schema 名 + 应用一句话

## 给后续 Phase 1 的建议

哪些 Q (Q1-Q10) 应该额外参考上述 schema？哪些 Q 与本扫描发现冲突 / 重叠？

【硬约束】
- 不要"发明"不在素材库里的 case，只用 historical_innovations.md 现有的
- 不要写"X 可能 work" 这种 vague 语句，必须**具体到对象 + 性质 + 应用方式**
- 不要援引外部文献（这阶段只做 schema 类比）

Write 到 /tmp/<project>_brainstorm/L0.75_innovation_scanner.md

decision_log: [L0.75.innovation] timestamp ok n_high_match=<> top_schema=<case_name>
```

**输出物使用**：
- Phase 1 各角度 agent 的 prompt 在 "你的角度" 块下方加一行：`参考 /tmp/<project>_brainstorm/L0.75_innovation_scanner.md 的 Top 3 候选`
- 这样每个角度 agent 都看到 schema 类比的"种子"，自然把发明导向引入它的思路
- Phase 4 综合 agent 必读此报告，决定是否把 Top 3 候选写进 §13.5 "高优先级可攻命题" 清单

### 步骤 1：写出 N 个角度

把问题陈述 + 已知背景 + N 个角度写到一个素材文件，准备分发给各 agent。

### 步骤 2：Phase 1（并行）

对每个角度 Q_k 启动一个 `general-purpose` agent，**默认 Opus 4.7**（Sonnet 4.6 为降级选项），提示模板：

```
你正在探索 [PROBLEM_NAME] 的可能攻克路径。

【研究模式】mode=[A|B]（详见 MODES.md）
- Mode A（实质研究）：你的目标是发现可证伪的攻克入口，不是综述
- Mode B（综述）：你的目标是为学习者梳理该角度上的核心已知结果

【问题】[完整陈述]

【已知现状】
- [关键事实 1]
- [关键事实 2]
- [失效的工具]
- [已知周边结果]

【你的探索角度】Q[k]：[完整角度描述 + 子方向提示]

【范式 schema 参考】（v1.7 新增，必读）
用 Read 工具读 /tmp/myproject_brainstorm/L0.75_innovation_scanner.md。看 Top 3 候选 schema。
如果你的角度 Q[k] 与其中一个 schema match，**在"## 具体策略"段显式调用该 schema**
（不只是提一句，按 schema 抽象规则机械应用）。

【输出要求】中文 ≤ 400 字，结构：
## 具体策略
（这个角度暗示的 2-3 条具体可操作路径，要援引已知数学。
若调用了某 schema，明示"按 Bombelli i / Dedekind ideals / Riemann surfaces / ..."）
## 主要障碍
（为什么难）
## 文献未充分追究的新角度（Mode A）/ 学习者最该关注的入门角度（Mode B）
（A: 1-2 个尚未在文献中系统探索且可证伪的方向；B: 1-2 个最适合作为入门切入点的子题）
## 起点参考
（1-3 个论文/定理/人物）

不要使用任何工具。Write 输出到 /tmp/myproject_brainstorm/phase1_q[k].md（覆盖）。然后一句话确认。
```

并行启动全部 N 个 agent（一个 Agent 工具调用块包含 N 次 invoke）。

### 步骤 3：Phase 2（并行配对）

把 N 个角度配成 N/2 对（语义相邻的放一起），每对启动一个 agent：

```
你是第二阶段题对 agent。任务：找两题间的协同点 + 张力。

【研究模式】mode=[A|B]（详见 MODES.md，从 Phase 1 继承）

【问题】[精简版]
【你的两个题】
Q[a]：[...]
Q[b]：[...]

【你的任务】
1. 协同点：A 暗示的策略能否被 B 加强？
2. 张力点：A 的某条件是否阻碍 B？
3. 综合路线图：两题合一的攻略
   - Mode A：必须能落到具体可证伪小命题
   - Mode B：必须能给读者一条学习路径

【输出要求】中文 ≤ 500 字：
## 协同点
## 张力点
## 综合路线图
## 起点参考

Write 到 /tmp/myproject_brainstorm/phase2_a[XX].md。一句话确认。
```

### 步骤 4：Phase 3（少量大综合）

把 N 题分成 N/5 组，每组 5 题，每组一个 agent：

```
你是第三阶段大综合 agent。读 5 题的前序产出，找跨题大主题。

【研究模式】mode=[A|B]（详见 MODES.md，从 Phase 1/2 继承）

【你的 5 题】Q_a, Q_b, Q_c, Q_d, Q_e

【素材】可读 /tmp/myproject_brainstorm/phase1_q[abcde].md, phase2_a*.md（用 Read tool）

【任务】
1. 找出 3 个跨题大主题
2. 评估可行性：哪些工具有？哪些缺？文献距离？
3. 主线策略：
   - Mode A：5-10 年内可能产生**新结果**的研究路径
   - Mode B：可写成 textbook chapter / survey 的统一叙事
4. 2-3 个可写的子论文级小命题
   - Mode A：必须可证伪（含支持区间 + 反例搜索范围）
   - Mode B：拆成"已知结果 + 例子 + 习题"形式

【输出要求】中文 ≤ 800 字，结构：
## 跨题大主题
## 主题可行性评估
## 主线策略
## 可写的子论文小命题
## 起点参考

Write 到 /tmp/myproject_brainstorm/phase3_a[X].md。
```

### 步骤 5：Phase 4（最终综合）

一个 agent 读全部 17 份产出，写最终 HTML：

```
你是最终综合者。读全部前序产出，写 HTML 章节作为 [DOC_NAME] 的第 N 节。

【研究模式】mode=[A|B]（详见 MODES.md）

【素材】
- /tmp/myproject_brainstorm/phase1_q01.md ~ q[N].md
- /tmp/myproject_brainstorm/phase2_a*.md
- /tmp/myproject_brainstorm/phase3_a*.md

【你的任务】
读全部，综合提炼，写 HTML，**只写第 N 节正文**。结构：
1. §N.0 引子（方法说明 + 价值定位 = 路线图非证明）
2. §N.1 N 个发散角度速览（表格：角度 / 核心策略 / 主要障碍）
3. §N.2 第二阶段题对协同（每对 1-2 段）
4. §N.3 第三阶段大综合（识别 3-5 个真正跨题大主题）
5. §N.4 重定义：原命题应作为什么样的研究问题（短期/中期/长期分级）
6. §N.5（**Mode A**）高优先级可攻小命题（3-5 个，每条须**可证伪**：明确陈述 + 测得的最大支持区间 + 反例搜索范围）
   §N.5（**Mode B**）学习路径 + 核心 reading list（按难度排序的 5-10 条入门资料 + 对应预备知识）
7. §N.6 局限性与诚实告示（LLM 头脑风暴的风险）

【格式】用 [DOC_NAME] 已有的 CSS class（box, box.warn, box.info, box.good 等）。
公式用 KaTeX：$...$ 行内, $$...$$ 行间。中文。

Write 到 /tmp/myproject_brainstorm/phase4_section.html。
```

### 步骤 6：插入到主文档

读 phase4_section.html，用 Edit 工具插入到目标 HTML 的指定位置。

## 输出物清单

每次运行会产出：

```
/tmp/myproject_brainstorm/
  phase1_q01.md ... phase1_qN.md     (N 份单题深探)
  phase2_a01.md ... phase2_a(N/2).md (N/2 份题对)
  phase3_a1.md, phase3_a2.md         (~N/5 份大综合)
  phase4_section.html                (最终 HTML 章节)
```

## 局限性

**这个模板擅长**：生成宽泛的研究路线图、识别文献空白候选、跨学科类比启发。

**这个模板不擅长**：严格证明、数值验证、文献核实。这些应该放在 **Template 2** 里。

**已知失败模式**：
- LLM 容易生成"听起来深刻但实际错"的类比（如把 Kolmogorov 复杂度类比 L 函数）
- 量级估计常出错（$\log\log M_p$ vs $\log\log p$ 这种）—— 需要后续 Template 2 数值哨兵
- 文献引用的精确条目（期刊年份）容易混淆，需后续核实

正因如此，Template 1 的输出**只是入口候选**，每个候选必须再用 Template 2 严格验证才能下结论。

## 何时升级到 Template 2

当 Template 1 的高优先级清单中的某条命题需要严格验证 / 想真证它时，把那条命题作为 Template 2 的输入启动深入研究。
