first commit

This commit is contained in:
Hermes Agent
2026-05-10 13:52:46 +08:00
commit ccc63d1e70
4583 changed files with 584341 additions and 0 deletions

View File

@@ -0,0 +1,103 @@
---
name: sn-research-synthesis
description: "[sn-deep-research 子阶段] 基于多个 sub_reports 产出 synthesis.md主线判断、证据强弱、跨维度共识、关键冲突。用于先想清楚结论再写报告。通常由 sn-deep-research 自动调用。"
---
# Research Synthesis
产出 `{report_dir}/synthesis.md`。它负责把分散的子报告变成**可写终稿的判断层**,不是子报告摘要合集,也不是最终面向读者的报告。
## 任务边界
做:
- 回到原始问题,判断哪些发现真正回答用户要判断的事。
- 提炼 2-5 条主线判断。
- 判断每条主线的证据强弱和适用条件。
- 汇总跨维度共识。
- 标出关键冲突,并解释冲突来源。
- 明确保留不确定性、信息缺口和可能推翻结论的条件。
- 说明这些判断对用户原始问题意味着什么。
- 给终稿提供写作主线和章节分配建议。
不做:
- 不重写子报告。
- 不按维度逐段摘要。
- 不直接生成 `report.md`
- 不把缺口包装成结论。
- 不新增未被子报告支撑的关键判断。
## 输入
- `{report_dir}/request.md`
- `{report_dir}/plan.json`
- 全部 `{report_dir}/sub_reports/*.md`
## 综合判断要回答的内容
至少明确这 7 件事:
1. **主结论**:最终最重要的判断是什么。
2. **证据强弱**:每条判断的把握度如何。
3. **跨维度共识**:哪些结论被多个维度共同支持。
4. **关键冲突**:哪些事实、口径、时间点或立场彼此矛盾。
5. **冲突解释**:冲突来自时间差、统计口径、样本差异、利益相关方立场还是事实未定。
6. **不确定性与缺口**:哪些问题还不能稳健回答。
7. **对原始问题的回答**:这些发现对用户最初的问题意味着什么。
## 执行流程
1. **回到原始问题**:从 `request.md``plan.json.research_goal` 提取最终要回答的判断。
2. **读取全部子报告**:只抓每个维度中真正影响结论的发现、限制和风险。
3. **提炼主线判断**:压缩成 2-5 条能支撑终稿摘要的主线。
4. **判断证据强弱**:给每条主线标注 `高 / 中 / 低` 把握度,并说明原因。
5. **汇总共识与冲突**:区分“稳定结论”和“存在争议的结论”。
6. **解释冲突来源**:不要只写矛盾本身,要解释为什么矛盾。
7. **保留不确定性**:写清哪些结论成立要附带条件,哪些还需要补查。
8. **落到用户问题**:明确这些判断对用户决策、选择、理解或后续动作的含义。
9. **给终稿布线**:说明哪些判断进入摘要、核心发现、风险与不确定性等章节。
如果发现关键缺口导致主线无法成立,先回到对应维度补研究,再重新综合。
## 输出
写入 `{report_dir}/synthesis.md`
```markdown
# Synthesis
## 原始问题
## 主线判断
## 证据强弱
## 跨维度共识
## 关键冲突与解释
## 不确定性与信息缺口
## 对原始问题的回答
## 对终稿的结构建议
```
## 质量门槛
- `主线判断` 必须能支撑终稿摘要,而不是泛泛总结。
- `证据强弱` 不能只给标签,必须说明为什么强或弱。
- `跨维度共识` 只写真正被多个维度支持的结论。
- `关键冲突与解释` 必须解释冲突来源,不能只并列两种说法。
- `不确定性与信息缺口` 不能省略,也不能被美化成“待进一步观察”。
- `对原始问题的回答` 必须直接回应用户最初要判断的事。
- `对终稿的结构建议` 只做章节分配建议,不代写终稿正文。
## 常见失败
- 把每个子报告复制成一段摘要。
- 只有结论,没有证据强弱判断。
- 看见冲突就回避,不解释原因。
- 提前写成面向读者的成稿。
- 忘了回到用户的原始问题。