← Multi-Agent Research

Template 2:命题深入研究流水线

5 层 + feedback 循环 + kill switch 的命题验证管线(v2 修订版)

研究模式(必读)

本模板默认 Mode A:实质研究。Mode B(综述)切换条件与具体行为见 MODES.md

模式标记必须在 decision_log.md 第一行写明。模式影响 L3.numerical(多尺度/OEIS/failure search)、L3.conjecture-generator(仅 A)、L3.formal-verifier(仅 A)、L5 §"实质贡献声明" / §Predictions 等 agent 行为。

用途

当你有一个具体可陈述的命题且想确定是否可证 / 缺口在哪 / 下一步怎么走时,本模板调度多 agent 在 5 个层级 × 4 类角色中协作。

输出是一份完整的 HTML 研究笔记,含 5 章对应 5 层,外加完整的代码、PDF、决策日志。

与 Template 1 的关系

可单独使用 Template 2(命题已知时)。

已完成示例(v1,未带 feedback / kill)

../mersenne-proposition1_primitive_factor_density.html(17 agent)— 暴露了 v1 的若干痛点,反馈进 v2。

v2 修订要点

v1 痛点v2 修复
单向流水线,错误传到下游Feedback loop:L4 / L3 可触发 L1 重排
错命题浪费 12 agent 才被发现Kill switch:每层显式终止条件
L1 占预算最大但只是 scaffold预算重分配:L3 占 12/25
量级错误最晚才发现数值 sanity 哨兵前置于 L2
缺乏对手机制Devil's Advocate 实时穿插 L3
没有统一裁决Coordinator 中央调度 + 实时账本

架构

┌──────────────────────────────────────────────────┐ │ Central Coordinator (1 agent) │ │ 路由 status / 触发 rerank / 执行 kill / 写账本 │ └──────┬───────────────────────────────────────────┘ │ ┌───────────▼──────────┐ │ L1 Brainstorm (7) │ │ ‣ 5 角度 → 1 ranker │ │ ‣ + 数值 sanity 哨兵│ ★ 量级错的命题在这里直接死 └───────────┬──────────┘ │ status? ──kill──→ L5 早期否决备忘 ▼ ┌──────────────────────┐ │ L2 Literature (2) │ │ ‣ 搜索 + 下载 │ pip 屏蔽时用 curl + arxiv API │ ‣ 深读 + 引文核实 │ └───────────┬──────────┘ │ kill if "已被证明"/重排 ▼ ┌──────────────────────┐ │ L3 Research (14) ★主体│ │ ‣ Numerical (3) │ 多 log 尺度 + OEIS/LMFDB + failure search │ ‣ Prover (3) │ 带 [REQUEST_NUMERICAL] hook(双向循环) │ ‣ Devil's Advocate(3)│ 实时找漏洞 │ ‣ Lit-integrator (3)│ 每条引理回查 PDF │ ‣ Conjecture-gen (1)│ Mode A:数据 → 可证伪推测 ⭐ NEW │ ‣ Formal-verifier(1)│ Mode A:Lean 4 statement type-check ⭐ NEW └───────────┬──────────┘ │ feedback ↑ if 量级矛盾 → L1 重排 ▼ ┌──────────────────────┐ │ L4 Review (4) │ │ ‣ 解析专家 │ │ ‣ 代数专家 │ │ ‣ 数值专家 │ │ ‣ 对手专家 │ └───────────┬──────────┘ │ kill / rerank / pass ▼ ┌──────────────────────┐ │ L5 Summary (2) │ │ ‣ 4 问题答案 │ │ ‣ 决策建议 │ └──────────────────────┘

单命题总 agent 数(含 prover↔numerical reactive loop):

之前 v1 的 "~25 agent / \$1.5–3" 是 sanity-check 时代的数字,适用真正的 Mode A 研究。

模型选择(按角色分档)

不在乎成本时按下表分配。RECIPE.md 已注明:sonnet 4.6+ 在严苛角色的"诚实性"上是已知弱点,opus 4.7 在该点上明显更稳。

角色推荐模型理由
Coordinator(主线程)Opus 4.7调度判断需要全局把握
L1 ranker / sentinelOpus 4.7找反例、量级把关,诚实性关键
L2 search / readerSonnet 4.6文献抓取与摘要,体力活
L3 numericalSonnet 4.6跑代码、报告数值结果,opus 反而慢
L3 proverOpus 4.7证明草稿,结构能力差异大
L3 advocate(找反例)Opus 4.7对抗角色,诚实性 + 反例敏锐度关键
L3 lit-integratorSonnet 4.6文献整合
L3 conjecture-generator(Mode A)Opus 4.7数据→公式的符号推理质量差异大
L3 formal-verifier(Mode A)Opus 4.7Lean / mathlib 类型推理需要强模型
L4 4 类专家审稿Opus 4.7终审把关 over-claim
L5 summary / decisionOpus 4.7最终决策措辞克制度关键

预算紧张时可全部降级 Sonnet 4.6;纯 IO(PDF 解析、长 log 抓取)的子任务可用 Haiku 4.5。

预算分配

Mode A 真正做研究时 默认值是下限,不要被它锁死。需要时按下面"扩展档位"加 agent。

默认 agent 数角色何时跳过
Coordinator1调度 + 账本
L175 角度 + 1 ranker + 1 sentinel(量级哨兵)角度数 ≤ 3 时合并到 3-4
L221 search + 1 reader命题非数学时
L3 143 numerical + 3 prover + 3 advocate + 3 lit-integrator + 1 conjecture-gen + 1 formal-verifier不可跳;研究主体(mode=B 时 −2)
L444 类专家审稿命题已被 L3 自杀时
L521 summary + 1 decision不可跳

扩展档位(Mode A 命题真的值得深挖时)

L1 角度L3 numericalL3 proverL3 advocateL3 conjecture-genL3 formal-verifierL3 reactive单命题总 agent单命题 \$
standard533311~10~40\$15–30
deep755522~20~70\$35–70
marathon1077533~40+~120+\$80–200+

何时升档

不要节省的角色(这些档位间始终满配):sentinel、advocate、formal-verifier、4 类专家、L5 decision。

决策日志(实时账本)

每个 agent 完成后追加一行到 decision_log.md

[mode]              2026-05-26 10:00   ok      mode=A reason=default          # 第一行必须由 Coordinator 写
[diary.resume]      2026-05-26 10:00   ok      open_count=0                   # 启动时检查跨 session 状态
[L1.ranker]         2026-05-26 12:34   ok      score=18  best=Turán-variance
[L1.sentinel]       2026-05-26 12:36   warn    ratio_loglog=1.83 at x=50
[L2.search]         2026-05-26 12:42   ok      papers_found=8
[L2.reader]         2026-05-26 12:55   ok      no-direct-proof in lit
[L3.numerical]      2026-05-26 13:05   ok      ratio_at_10^6=0.987 oeis=A001620
[L3.prover]         2026-05-26 13:20   ok      rounds=3 verified_lemmas=2
[L3.prover→numerical] 2026-05-26 13:25 ok      lemma=L3 range=[10^4,10^6] result=ok    # v1.3 双向循环 hook
[L3.advocate]       2026-05-26 13:35   accept  no_circular keys="..."
[L3.lit.smith]      2026-05-26 13:40   ok      paper=Smith2018
[L3.conjecture]     2026-05-26 13:50   ok      n_generated=2 top_R2=0.9997    # v1.3 仅 Mode A
[L3.formal]         2026-05-26 14:00   ok      build=ok stmt=MainTheorem.lean # v1.3 仅 Mode A
[L4.analyst]        2026-05-26 14:20   pass
[L4.advocate]       2026-05-26 14:25   reproduction-fail ratio=1.34            # T3 reviewer 独立复现差异 > 1%
[L5.summary]        2026-05-26 14:40   ok      mode=A contributions={a:0,b:1,c:1,d:1} predictions=2
[L5.decision]       2026-05-26 14:45   GO-revision  rec="restrict to q ≡ 1 (mod 4)"

# 失败 / 升级路径示例
[L3.numerical]      2026-05-26 15:00   FAIL    target_order=loglog rejected; observed=log
[L3.→L1]            2026-05-26 15:01   rerank  trigger: numerical contradiction
[stage5.escalate]   2026-05-26 16:00   warn    paper=2 fixup_rounds=2 reason="math_content_issue"
[downgrade]         2026-05-26 16:30   warn    mode_was=A reason=no_substantive_contribution

格式:[layer.role] timestamp status [keys]。Coordinator 实时读这个文件做决策。

Kill Switch 规则

触发条件动作
L1 ranker最高分 < 14kill;写"无可攻候选"备忘
L1 sentinel数值 vs 目标 ratio < 0.2 或 > 5rerank L1(量级修正后再来)
L2 reader找到"已证此命题的论文"kill;写"已被证明"备忘
L2 reader找到"已被反驳"的论文kill;写"已被反驳"备忘
L3 numerical实测 vs 理论偏离 > 1 数量级feedback → L1 重排
L3 prover出现循环论证标记,让 advocate 确认
L3 advocate找到反例kill;写"反例"备忘
L3 advocate确认循环论证feedback → L1 重定义目标
L4 多专家≥ 3 票"重大缺陷不可修复"kill
L4 reviewer(T3)独立复现差异 > 1%(Mode A)[reproducibility-fail],verdict 降到 major-revision
L5.summary§"实质贡献声明" (a)(b)(c) 全空(Mode A)触发 [downgrade];提示用户切 Mode B 或重做
L5.summary§Predictions < 2(Mode A)退回 L5.summary 重写,不进 GO 决策
L5任意 layer kill 后写早期否决备忘 + 总结
Coordinator 启动research_diary.jsonl 末 50 行有 status=open[diary.resume],让用户决定继续 / 重测 / 归档
Stage 5(T3)pdflatex 失败且属"writer 错误"类起独立 reviewer-fixup agent(≤ 2 轮)
Stage 5(T3)第 2 轮 fixup 仍失败[stage5.escalate],停 loop,人工介入

目录约定

work/
  <project>-proposition<N>_<slug>.html         # 主文档
  reference_<project>_research/
    research_diary.jsonl                        # ⭐ v1.3 跨 session 持久化
    prop<N>/
      papers/                                   # arXiv PDF
      data/                                     # ⭐ v1.3 numerical CSV / OEIS 命中
        L3num_<id>.csv
        L3num_<id>_oeis.json
      code/                                     # PEP 723 Python
        L1_sentinel.py
        L3num_<id>.py
        long_jobs/                              # ⭐ v1.3 长任务(> 5 min)
          <job_id>.{py,out,err,pid,status}
        lean/                                   # ⭐ v1.3 formal-verifier
          MainTheorem.lean
      logs/
      decision_log.md                           # 含 [mode] / [diary.resume]
  paper_submission/                             # T3 输出
    paper<K>_<slug>/
      main.tex
      reproduction_note.md                      # ⭐ v1.3 Mode A reviewer 独立复现
      main.pdf                                  # Stage 5 编译产出
    decision_log.md                             # 含 [stage5.escalate]
/tmp/<project>_brainstorm/prop<N>/
  L1_section1.html, L1P1_*.md, L1_sentinel.md, L1P3_synthesis.md
  L2_arxiv_list.md, L2_pdf_analysis.md
  L3_numerical_*.md, L3_prover_*.md
  L3_prover_requests_*.md                       # ⭐ v1.3 [REQUEST_NUMERICAL] hook
  L3_advocate_*.md, L3_litintegr_*.md
  L3_conjectures.md                             # ⭐ v1.3(仅 Mode A)
  L3_formal.md                                  # ⭐ v1.3(仅 Mode A)
  L4_analyst.md, L4_algebraist.md, L4_numerist.md, L4_advocate.md
  L5_summary.md                                 # 含 §"实质贡献声明" + §Predictions
  L5_decision.md
  long_jobs_pending.md                          # ⭐ v1.3 待启动长任务清单

各层 agent 提示模板

详见 .md 源文件 中"各层 agent 提示模板"段。下面只列各角色的关键职责:

角色关键职责触发条件
Coordinator读 decision_log,决定下一步每个 agent 完成后
L1.angle (×5)单角度深探,写 markdown启动时
L1.ranker读 5 份单角度,打分排名,输出 HTML 表L1.angle 完成后
L1.sentinel 数值小测,验证最优候选量级合理L1.ranker 完成后;fail 时触发 rerank
L2.searcharXiv API + curl,下载 PDFL1 通过后
L2.reader读 PDF,提取主定理 + 假设;判定文献中地位L2.search 完成后
L3.numerical (×3) 跑 sympy / numpy 数值实验,验证目标量级L2 通过后
L3.prover (×3) 写形式化证明,逐步严格L3.numerical 通过后
L3.advocate (×3) 反方角色,主动找循环 / 反例 / 隐含假设实时与 prover 交错
L3.lit-integrator (×3)每条引理回查 PDF,确认精确陈述L3.prover 引用文献后
L4.analyst解析专家审稿L3 全部完成后
L4.algebraist代数专家审稿同上
L4.numerist数值专家审稿(程序、统计)同上
L4.advocate对手专家最终评议同上
L5.summary4 问 4 答(解决/gap/新发现/下一步)L4 全部完成后
L5.decisionGO / NO-GO 建议L5.summary 后

输出 HTML 章节结构(5 节对应 5 层)

<h2>1. 发散层:思路探索与排名</h2>
<h3>1.1 思路全景</h3>
<h3>1.2 候选思路打分排名</h3>
<h3>1.3 推荐攻克目标(前 3 名)</h3>
<h3>1.4 数值哨兵警告</h3>     ← 新增

<h2>2. 分析层:arXiv 文献调研</h2>
<h3>2.1 关键论文逐篇分析</h3>
<h3>2.2 次要论文简评</h3>
<h3>2.3 命题在文献中的现状判定</h3>
<h3>2.4 缺口与实际增量</h3>
<h3>2.5 关键非 arXiv 文献</h3>

<h2>3. 执行层:研究主体</h2>     ← 占据最多页面
<h3>3.1 数值实验(多尺度 / OEIS / LMFDB / failure search)</h3>
<h3>3.2 形式化证明草稿(含 prover↔numerical 双向循环记录)</h3>
<h3>3.3 对手反驳记录</h3>      ← 新增
<h3>3.4 文献核实记录</h3>      ← 新增
<h3>3.5 程序与 run log(含 long_jobs/)</h3>
<h3>3.6 数据驱动猜想(Mode A:conjecture-generator 输出)</h3>     ← v1.3 新增
<h3>3.7 形式化验证(Mode A:Lean 4 statement)</h3>                 ← v1.3 新增

<h2>4. 审核层:4 类专家评议</h2>
<h3>4.1 解析数论评议</h3>
<h3>4.2 代数数论评议</h3>
<h3>4.3 数值与代码评议</h3>
<h3>4.4 对手最终评议</h3>
<h3>4.5 综合判定</h3>

<h2>5. 总结层:4 问 4 答 + 决策</h2>
<h3>5.1 是否解决了更宏大目标</h3>
<h3>5.2 Gap 在哪一步</h3>
<h3>5.3 发现的新东西</h3>
<h3>5.4 下一步建议</h3>
<h3>5.5 决策:GO / NO-GO</h3>     ← 新增
<h3>5.6 实质贡献声明((a)/(b)/(c)/(d) 四档)</h3>     ← v1.3 新增(Mode A 必填)
<h3>5.7 Predictions(≥ 2 条可证伪陈述)</h3>          ← v1.3 新增(Mode A 必填)
<h3>5.5 决策:GO / NO-GO</h3>     ← 新增

风险与局限

已知风险

何时该用,何时不该用

不用

何时升级到 Template 3

L5.decision 给出 GO / GO-revision / GO-strong 时,说明该命题的研究笔记里已经有"主定理 + 证明草稿 + 数值验证 + 文献定位",到了写成可投稿 paper 的阶段。把这条命题(或多条 GO 命题打包)作为 Template 3 的输入:

何时不要升级

详见 Template 3 文档