com um clique
multi-reviewer
SDP 双模型 6 审稿人 + 交叉审核系统。含拒稿信预演。当用户说"审稿"、"review"、"帮我看看这篇论文写得怎么样"时触发。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
SDP 双模型 6 审稿人 + 交叉审核系统。含拒稿信预演。当用户说"审稿"、"review"、"帮我看看这篇论文写得怎么样"时触发。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Nexus 统一入口。意图识别 + 模式路由 + 首次引导 + Autopilot 模式。当用户提出任何学术研究相关请求时触发(调研、找论文、构思 idea、写论文、审稿、做实验等)。
基于 Evidence Graph + Knowledge Graph 进行学术 idea 构思与评估。双阶段流程:Phase 1 用 ToT 思维树系统性探索,Phase 2 用 SDP 跨模型红队攻击。当用户说"帮我想 idea"、"brainstorm"、"研究方向"、"有什么可以做的"时触发。
Review code changes for correctness, regressions, edge cases, style issues, and unnecessary churn. Use when checking diffs, reviewing pull-request-like changes, or doing independent quality review. Triggers on "review this", "check my changes", "code review", "代码审查".
Perform safe, reviewable refactors. Use when restructuring code, moving responsibilities, renaming across modules, or reducing duplication without intended behavior changes. Triggers on "refactor X", "rename Y across the project", "extract helper", "重构".
typed knowledge-graph 抽象层 (Wave B.3)。把分散在 evidence_graph / corpus_ledger / story_skeleton 的结构升级成 paper / idea / claim / experiment / mechanism / baseline 节点 + supports / contradicts / derives_from / cites / replicates / falsifies 边。通过 4 个 MCP tool 维护 artifacts/research_wiki.json,并用 export_to_evidence_graph 投影回 evidence_graph schema。
Generate a point-by-point reviewer response letter in Nature house style (complements `rebuttal-writer` which targets conference rebuttals).
| name | multi-reviewer |
| description | SDP 双模型 6 审稿人 + 交叉审核系统。含拒稿信预演。当用户说"审稿"、"review"、"帮我看看这篇论文写得怎么样"时触发。 |
模拟顶会审稿流程的 SDP 双模型 6 审稿人 + 交叉审核 系统。
读取 evolution-memory 中的 review_rules(如有)。
启动时注册 TodoWrite 列表:6 venue rubric reviewers + 1 thesis-advisor (T11.5e) + (opt-in) 1 adversarial-AC (T11) = 最多 8 个并行 reviewer task。每个 reviewer 一个 todo,完成一个标一个。
关键:所有 reviewers 在单条消息中通过平台并行 Task 工具一次性分发(T10 规则)。
enable_adversarial_ac)如果 nexus_project.template.json 中 pipeline_overrides.enable_adversarial_ac: true,
在拒稿信预演之后调用 personas/area-chair-rejector.md:
paper-service.venue_archive 拉过往论文(Oral/Spotlight/Poster/Reject 分层)over_attack_rateartifacts/adversarial_ac_calibration.json(internal_only: true)调用 personas/thesis-advisor.md 跑 6 个关注点(机制-实验对应、假设可证伪、诊断器盲区、baseline 完整性、超参选值、理论实用性 + AI 写作痕迹)。
直接消费 quality_engine 的现有 analyzer 输出(不调 LLM 写散文)。输出 artifacts/thesis_advisor_review.json(internal_only: true)。
6 个 venue rubric reviewers 在打分时必须引用 artifacts/venue_deep_reading_profile.json 的 acceptance_threshold_evidence:
reviewer score 必须带数据给出 — 不是"感觉不够"。
在正式审稿前,先做一轮自我攻击:
目的:在别人攻击你之前,先自我攻击。提前暴露弱点并修复。
串行执行多个 reviewer 时,必须遵循以下规则防止意见趋同:
review_A.jsonreview_A.json 和 review_B.jsondialogue/review_{id}.json每个 reviewer 做全面审稿,但各有一个更高标准的维度:
每个 reviewer 的 prompt 必须包含:
"忽略你此前在其他角色中看到或产生的任何审稿意见。你是一个全新的独立审稿人,从零开始形成自己的判断。"
sdp_handoff.json)
不使用通用 persona,而是根据论文 topic 动态生成领域专家 reviewer。
| Reviewer | 角色 | 生成方式 |
|---|---|---|
| A | 该子领域的 senior researcher | 基于高频 senior author 画像 |
| B | 该领域的方法论专家 | 关注数学严谨性 + 算法正确性 |
| C | 应用方向的 practitioner | 关注实用性 + scalability |
| D | 跨领域 reviewer(非核心 area) | 关注 presentation + accessibility |
| E | junior 但 aggressive reviewer | 寻找每一个细节问题 |
| F | Area Chair 视角 | 关注 novelty + significance + fit |
这样做的好处:通用型 reviewer 可能不会想到 "为什么不和 GATv2 比",但 GNN 领域专家一定会问。
协议核心:用两个完全隔离的对话线程对论文进行一次"拒稿压力测试"。线程 A 真心写一份 reject 备忘录,线程 B 在不知道 A 被设定为对抗性的情况下逐条裁决。两线程互不知道彼此存在——这是与本 skill 前面 Step 0.3/0.5 中"6+1 persona"协议的关键区别(那里所有 persona 都知道彼此存在并做交叉审核;这里则严格隔离)。
前面 Step 0.3/0.5 的 6+1 persona 协议有一个隐性缺陷:即便 prompt 里写了"忽略其它 reviewer",由于这些 persona 共享同一个会话历史 + 同一份 system prompt 框架,它们的反对意见往往会向中位数靠拢——很少出现真正的"我看完之后只想 reject"的样本。
Step 0.9 通过物理隔离的两个线程显式 sample 这种极端信号:
A 的"真诚 reject"与 B 的"真诚裁决"叠加,给出的 verdict 比"6 个互相知道彼此的 persona"更有判别力。
Step 0.9 在Step 0.8 之后、Step 1(准备)之前执行。触发条件:
| 条件 | 默认行为 |
|---|---|
nexus_project.template.json 中 pipeline_overrides.enable_kill_argument: true | 默认开启 |
同上字段 false 或不存在 | 跳过 Step 0.9,直接进入 Step 1 |
artifacts/draft*.tex 不存在 | 跳过 Step 0.9 并 warn(没有 draft 无法做 verbatim 比对) |
evidence_graph.json 不存在 | 跳过 Step 0.9 并 warn(没有 evidence_graph 无法核 evidence_refs) |
当前 stage 是 review_round1 或 review_round2 | 触发 |
当前 stage 是 review_round3_meta | 跳过(meta-review 已经是用户最终裁决,不再加噪声) |
跳过 Step 0.9 时,Step 1+ 的聚合器必须在 review_report 中显式标记 kill_argument_skipped: true + 原因,便于后续审计。
Step 0.9 由 omni-orchestrator 用两次独立的 subagent 调用实现,分别派发:
subagent_type = "general-purpose"(或等价的隔离 agent),输入仅含 personas/kill-argument-reviewer.md 的 system prompt + artifacts/draft*.tex + evidence_graph.json + venue rubric。不传任何其它 reviewer 的输出、不传"这是对抗审稿"的提示。该调用产出 dialogue/kill_argument.md + dialogue/kill_argument.json。personas/kill-argument-judge.md 的 system prompt + artifacts/draft*.tex + dialogue/kill_argument.md + dialogue/kill_argument.json + evidence_graph.json + dialogue/reviews_summary.md(去身份化聚合)。不传 persona 文件本身、不传单 reviewer 的原始输出、不传"A 是 adversarial"的提示。该调用产出 dialogue/kill_argument_adjudication.md + dialogue/kill_argument_adjudication.json。两次调用之间不共享会话上下文——这是"互不污染"的物理保证。
| 线程 | 禁止读 |
|---|---|
| A | dialogue/reviews_*.md(单 reviewer 原文)、artifacts/thesis_advisor_review.json、artifacts/adversarial_ac_calibration.json、本 skill 的 SKILL.md 本身、persona 文件 kill-argument-judge.md |
| B | dialogue/reviews_*.md(单 reviewer 原文)、artifacts/thesis_advisor_review.json、artifacts/adversarial_ac_calibration.json、persona 文件 kill-argument-reviewer.md 本身(只读 A 的输出,不读 A 的指令) |
orchestrator 在派发 subagent 时必须在 prompt 中显式列出这些"禁止读"路径并要求 subagent 在 self-audit 中确认未读取。
Step 0.9 之前,必须由 orchestrator(或本 skill 的 helper)将 Step 0.3/0.5 已产出的单 reviewer 文件聚合成 dialogue/reviews_summary.md,格式:
# Reviews Summary (de-identified)
## Consensus Weaknesses (mentioned by ≥2 reviewers)
- <weakness 1, no reviewer ID>
- <weakness 2, no reviewer ID>
## Consensus Strengths (mentioned by ≥2 reviewers)
- <strength 1>
## Key Open Questions
- <question 1>
禁止在 summary 中出现 "Reviewer A said..." / "Reviewer 2 thinks..." 等带身份标签的句子。Thread B 只看 consensus,不看个体立场。
Step 0.9 完成后产生 4 个 artifact:
dialogue/kill_argument.md # Thread A: 拒稿备忘录 (人类可读)
dialogue/kill_argument.json # Thread A: 结构化 sidecar
dialogue/kill_argument_adjudication.md # Thread B: 裁决书 (人类可读)
dialogue/kill_argument_adjudication.json # Thread B: 结构化 sidecar
四个文件均标记 internal_only: true——绝不进入 draft_final.tex,绝不作为给作者看的 review,绝不进入提交包。
Step 1+ 的聚合器(multi-reviewer 后续步骤)按以下规则消费 Step 0.9 的输出:
Thread B 的 surviving_fatal_grounds | 聚合器行为 |
|---|---|
>= 1 | 把每条 surviving fatal ground 作为"必须 address 的 weakness"加入聚合 review_report 的 must_fix 列表;overall score 下调以反映这个信号 |
== 0 且 justified >= 2 | 把 justified grounds 加入 must_fix,但不再额外下调 score(其它 reviewer 应该已经覆盖了这些点) |
== 0 且 unfounded > justified + partially_justified | 把"kill_argument 整体可信度低"作为 meta 信号写入 review_report,降低 kill_argument 在最终评分中的权重至 0.3 以下(aggregator 默认权重 1.0) |
recommendation == "no_grounds_found"(A 找不到拒稿理由) | review_report 加正面信号:"adversarial sample 也未能立住任何 fatal ground,论文鲁棒性指标 +1" |
Step 0.7 (Adversarial AC) / Step 0.8 (Thesis Advisor) / Step 0.9 (Kill-Argument) 都是 internal_only: true 的对抗性信号。三者职责正交:
| Step | 信号来源 | 关注 | 协议形态 |
|---|---|---|---|
| 0.7 | 用同一对抗 persona 对历史论文做 calibration | venue-level over-attack 率 | 单线程 + 校准 |
| 0.8 | 6 维度资深审稿(机制对应/可证伪/诊断器/baseline/超参/理论) | 论文内部一致性 | 单线程 + 检测器 |
| 0.9 | 真心写 reject 备忘录 + 隔离裁决 | 极端拒稿信号是否站得住 | 双线程互不污染 |
三者输出共同进入 Step 1+ 聚合,但 Step 0.9 是唯一采用双线程隔离协议的——这是它的判别力来源。
recommendation: "no_grounds_found" → 继续 Step 1,把这个事实作为正面信号记录step_0_9_unstable 并跳过,进入 Step 1step_0_9_timeout 并跳过所有 fallback 必须在 review_report 中显式标记,便于审计和后续 evolution-memory 学习。
enable_kill_argument 配置已读取,未误判触发条件dialogue/reviews_summary.md 已去身份化(grep 无 "Reviewer [A-F2]" 字样)internal_only: truevenue_rubrics/{venue}.mdevidence_graph.json 中的相关 claims遵循 sdp-protocol 通用规则。模型路由由 .agents/rules/model-routing.md 决定,切换 3 次:generator → reviewer → generator → reviewer (终审)。具体 harness 路径由 omni-orchestrator 解析(本 Step 不硬编码 model name / plugin name)。
# SDP Handoff: Multi-Review Round 1
## Reviewer A(严格型)
重点:Soundness + Reproducibility
[7 维度评分 + strengths + weaknesses + questions]
## Reviewer B(创新型)
重点:Novelty + Significance
[7 维度评分 + strengths + weaknesses + questions]
## Reviewer C(读者型)
重点:Clarity + Related Work
[7 维度评分 + strengths + weaknesses + questions]
输出到 dialogue/reviews_model_a.md(具体文件名按当前 harness 路由配置;常见: reviews_gemini.md / reviews_claude.md)。
| 你的主 harness | 具体操作 | Token 预算 |
|---|---|---|
| Claude Code (running NeXus) | 打开 Codex 插件 → 新建对话 → 粘贴 dialogue/sdp_handoff.json (GPT 5.4 担任 Model B) | Codex pool ~5 次 |
| Codex (running NeXus) | 打开 Claude Code → 新建会话 → 粘贴 dialogue/sdp_handoff.json (Opus 担任 Model B) | Claude pool ~5 次 |
具体 model 按 .agents/rules/model-routing.md 解析。
Model B 先独立审稿,再看到 Model A 的 reviews 做交叉审核:
Part 1: 独立审稿
├── Reviewer D(严格型):独立审稿
├── Reviewer E(创新型):独立审稿
└── Reviewer F(读者型):独立审稿
Part 2: 交叉审核(看到 Gemini 的 A/B/C reviews 后)
├── 标注 GPT 组 vs Gemini 组的共识点
├── 标注分歧点 + GPT 组的立场和理由
├── GPT 觉得 Gemini 遗漏了什么
└── GPT 的综合共识/分歧报告
输出到 dialogue/reviews_gpt.md。
model-routing.md)| 你的主 harness | 具体操作 | Token 预算 |
|---|---|---|
| Claude Code (running NeXus) | 切回 Claude Code 主会话 (Opus 担任 Model A) | Claude pool ~5 次 |
| Codex (running NeXus) | 切回 Codex 主会话 (GPT 5.4 担任 Model A) | Codex pool ~5 次 |
├── 看到 GPT 的 D/E/F reviews + 交叉审核报告
├── 标注 Gemini 组 vs GPT 组的共识/分歧
├── 对分歧点 Gemini 的立场和理由
└── Gemini 的综合共识/分歧报告
输出到 dialogue/cross_review_gemini.md。
├── 审阅 Gemini 的交叉回应
├── 综合双方意见,做最终裁决
├── 最终修改清单(按优先级排序)
│ ├── must_fix:不改就 reject 的问题
│ └── nice_to_have:改了更好的建议
├── revision_roadmap(每项改进的预估工作量)
└── Overall Decision: Accept / Minor Revision / Major Revision
输出到 dialogue/final_review.md。
切换次数:3 次(→GPT →回Gemini →GPT终审)
你是一位顶会的严格审稿人。你的审稿风格以挑硬伤著称。
你正在审稿目标会议: {venue}
评审标准见附件 rubric。
**你的重点关注领域:**
- Soundness: 理论证明是否有漏洞?实验设计是否 fair?baseline 是否过时?
- Reproducibility: 超参数是否完整?代码是否公开?结果是否可复现?
**你必须做到:**
1. 按 rubric 中的 7 个维度逐一打分
2. 列出至少 3 个 strengths 和 3 个 weaknesses
3. 每个 weakness 必须引用论文中的具体位置(section + 原文)
4. 提出至少 1 个需要额外实验才能回答的 question
5. **必须尝试找至少 1 个 failure case**
6. **数学检查清单**(符号定义、公式编号、维度匹配等)
7. 给出 overall score 和 confidence
你是一位重视创新的审稿人。善于发现亮点,也指出创新性不足。
**重点:**
- Novelty: 核心方法/视角是否前所未有?与最近 prior art 差异多大?
- Significance: 能否开辟新方向或解决重要问题?
**额外要求:**
- **交叉验证 novelty claim**:对照 evidence graph
- **推广性分析**:方法能推广到哪些场景?
你是一位从读者角度审稿的审稿人。以非本领域毕业生的视角阅读。
**重点:**
- Clarity: 仅凭论文能否理解方法?
- Related Work: 文献覆盖是否完整?
**额外要求:**
- **first-pass 测试**:第一遍阅读标记每个不理解的地方
- **figure caption 检查**:每个图/表 caption 是否 self-contained
- **术语一致性**:同一概念是否在不同段落用不同名称
| 维度 | 默认权重 | 说明 |
|---|---|---|
| Novelty | 20% | 与 prior art 的差异化 |
| Soundness | 20% | 方法正确性 + 实验严谨性 |
| Significance | 15% | 潜在影响力 |
| Clarity | 15% | 写作质量 + 可读性 |
| Reproducibility | 10% | 能否复现 |
| Related Work | 10% | 文献覆盖完整性 |
| Ethics & Limitations | 10% | 局限性讨论 + 伦理 |
实际权重从
venue_rubrics/{venue}.md加载。
每个 venue_rubrics/*.md 文件内嵌历史统计,用于校准 raw score。
如有被引数据,使用 OpenAlex 验证。
用户对历史 review 标注"偏高/准确/偏低",系统学习偏好。
问题:LLM 有 sycophancy bias,比真实 reviewer 温和得多。
规则:
在 6 个 reviewer 之外,额外触发 1 个 Reviewer-2(学术圈的 "Reviewer 2 nightmare"):
你是 Reviewer 2。你以极度严格著称。
你的标准是:"除非你让我无话可说,否则 reject。"
规则:
1. 找出至少 1 个 FATAL FLAW(能让 AC 直接 reject 的问题,不是小问题)
2. 这个 flaw 必须具体、可验证(不是 "writing could be improved")
3. 如果真的找不到 fatal flaw → 解释为什么这篇论文值得 accept
4. 你的标准:50% 的论文应该被 reject
Reviewer-2 的输出不影响综合 score,但 fatal flaw 必须被显式处理:
从 venue_playbooks/playbooks.json 加载 venue 历史数据校准评分:
{
"acceptance_rate": "25%",
"score_distribution": {
"mean": 5.2, "std": 1.8,
"accept_threshold": 6.5,
"oral_threshold": 8.0
},
"typical_weaknesses": [
"incremental contribution",
"missing important baselines",
"overclaiming without sufficient evidence"
]
}
审稿完成后对比 venue 的 accept_threshold:
当 evolution_memory.json 中积累 ≥2 次真实投稿反馈后:
这实现了一个自校准的审稿系统——越用越准。
Autopilot 硬卡点 — 必须用户确认
展示完整 review 报告后,用户可以:
保存到 artifacts/review_report.json(包含 6 份 review、交叉审核报告、终审裁决、revision_roadmap)。
v2 拆分为 3 轮递进审稿:
review_round1(本 skill 全流程)→ revise_round1 → review_round2(复审+对抗 reviewer)→ revise_round2 → review_round3_meta(AC 终审)
完成 Round 1 后:
pipeline-orchestrator.complete_stage("review_round1") 验证产出revise_round1(修改)→ 然后自动进入 Round 2 和 Meta-Reviewexperiment_run 补实验在生成 reviewer persona 前,必须读取 artifacts/domain_taste_profile.json(由 domain_calibration stage 自动生成)。
读取 domain_taste_profile.json:
structural_norms → 每个 reviewer 的 must_check 中加入违反项staircase_diffs → 校准评分("elite 100% 有 ablation" → 没有则扣分)argumentation_patterns → 设定 reviewer 关注的论证维度must_have_baselines → 检查是否缺少必备 baselinetrending_direction → 评估 timing 和 relevance每个 reviewer persona 必须包含:
SDP Handoff 生成:
pipeline-orchestrator.generate_sdp_handoff_file(project_dir, "review", 3)