Community研究与数据分析github.com

mleswell-ai/research-synthesis

将多个来源的证据综合成一份可供决策使用且完全可追溯的报告。它框架化问题、评估每个来源、在声明级分类账中记录证据、跨来源构建声明,并检验结论。

research-synthesis 是什么?

该技能将研究综合(证据综合、文献综述、系统性综述等)转化为一个严格的、结构化的过程。它超越了简单的摘要,通过创建一个单一的JSON分类账来跟踪所有来源和证据,确保每个陈述都锚定在可验证的来源中。该技能支持多种模式(快速、标准、系统),以适应从快速回答到可重现学术研究的任务。工作流程包括框架化问题、收集和评估来源、提取证据、构建声明以及根据严格的标准评定确定性。关键是,它包括通过“压力测试”结论、检查关键来源以及自动验证每个引用来确保完整性的内置检查。对于为决策寻找平衡、可追溯和可靠证据综合的开发人员和AI代理来说,这是一种必要的工具。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mleswell-ai/research-synthesis-skill/tree/HEAD/skills/research-synthesis

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

研究综合

综合回答的是单个来源无法回答的问题:证据整体支持什么,人们能有多确定,来源之间存在什么分歧及其原因,以及当前决策的下一步是什么。一系列摘要不是综合。

三个问题

输出中的每个陈述都必须经受住三个问题的考验。整个方法以及 ledger.py 工具的存在,正是为了使得答案可被核查。

  1. 这具体来自哪里? 已读来源中的一个命名位置。答案是定位符。
  2. 它被独立观察到多少次? 重复一项研究的十篇文章算作一次观察。答案是谱系计数。
  3. 这一点能让我们有多确定? 证据的结构设定了一个确定性的上限;判断只能更低。

不可变更的规则

  • 仅引用已读的内容。记录其阅读方式(全文、仅摘要、二次引用);低于全文的内容无法支持确凿的声明。
  • 任何参考文献、作者、年份、图表或引文均不得出自记忆。如果找不到,则不引用。
  • 每个图表和引文都必须有定位符,并在阅读时捕获。
  • 源报告的内容(发现)、其被理解的含义(解释)以及应如何行动(建议)必须分开,后两者的确定性绝不能超过其下的发现。
  • 反对某个声明的证据要与支持它的证据一起记录。
  • “证据不足”是一个合法的答案。没有证据不等于证据缺失。

选择模式

当不确定时,选择较轻的模式并说明原因。

模式使用场景来源数量搜索输出
快速有边界的答案,主要来自提供的材料约3至10个无或极少简短报告,通常在对话中发出 (assets/brief-template.md)
标准有真正的决策依据约10至30个结构化,已记录完整报告 (assets/report-template.md)
系统性方法必须可重现按方案执行详尽、已记录、已计数完整报告、方案和表格

两种变体:

  • 主要定性数据(访谈、开放式调查回复、反馈、工单):相同的工作流程;先阅读 references/qualitative-data.md。
  • 评估现有的综合报告:跳至下方的“审计他人的综合报告”。

工作流程

将此复制到工作笔记中并逐项勾选。顺序很重要:每个步骤产生下一步所需的内容,跳过一步会导致已知的失败模式 (references/failure-modes.md)。

- [ ] 1 框架化       在阅读前确定问题、决策、范围、标准
- [ ] 2 收集         启动分类账;记录搜索,或清点提供的语料
- [ ] 3 评估         筛选、评价每个来源,并分配谱系
- [ ] 4 提取         将带有定位符的证据提取到分类账中
- [ ] 5 构建         跨来源构建声明;解决或标记未解释的矛盾
- [ ] 6 评定         确定性等于或低于每个上限,并附理由
- [ ] 7 检验         检查关键证据,尝试竞争性解释,修订声明
- [ ] 8 撰写         先写答案,并与决策相关联
- [ ] 9 复核         确认工作表;`check` 和 `report` 检查干净;通过质量标准

1 框架化

分别用一两行确定:问题(以可以回答“否”或“视情况而定”的形式);它服务于的决策及其使用者;范围(人群或背景、时间、地点、来源类型);以及纳入和排除标准。

在阅读前确定标准。根据结果调整标准是导致综合报告证实其作者预期的方式。如果必须更改,请记录更改及其原因。

最多向用户提出两到三个问题,仅限答案会改变工作的那些(通常是决策、范围边界、模式)。如果他们不想回答,请继续并在输出的顶部列出假设。

问题框架、审查类型和方案大纲:references/scoping-and-protocol.md。

2 收集

启动分类账。这也将固定今天的日期,该日期绝不能假设:

python scripts/ledger.py new ledger.json --question "..." --purpose "..." --mode standard --corpus searched

--corpus 是 supplied、searched 或 mixed。分类账是一个JSON文件,包含方案、每个考虑过的来源以及每个带有证据的声明。它是综合的工作记忆:保存在磁盘上并保持最新。字段和填充示例:references/evidence-ledger.md 和 examples/flexible-start/。

提供的语料:为每个项目赋予一个来源ID(S1、S2……),并在报告中说明该综合仅涵盖所提供的内容。

搜索:

  • 从简短、宽泛的查询开始,以了解该领域的词汇,然后缩小范围。
  • 将每个查询记录在分类账中:地点、查询内容、日期、结果数量。
  • 追溯原始来源。当一篇文章报告了一项研究时,找到并引用该研究;如果无法获得,则引用该文章并记录 二次引用。
  • 有意搜索空结果、相反发现以及未发表或灰色资料。已发表的证据过度代表了积极结果。
  • 向后追溯参考文献列表,向前追踪引文。
  • 当新搜索返回大部分已知来源,或模式的预算耗尽时停止。说明原因。

对于需要子代理的大型或可分离任务:references/parallel-research.md。

3 评估

对每个候选来源应用标准。被排除的来源保留在分类账中并附有理由。

对于每个纳入的来源,记录:

  • 评价(高、中、低、非常低),并附带具体的担忧。根据此问题的适用性来评估,而非声望:references/source-appraisal.md;
  • 谱系(L1、L2……)。当多个来源追溯到一个共同起源时,它们共享一个谱系:一项研究及其预印本、媒体报道和后续报道;基于同一数据集的几篇论文;重申一份报告的页面。确定性取决于谱系,而非引用数量。

4 提取

对于每个来源,记录与问题相关的证据项:来源ID、定位符、种类(引文、释义、数据)和文本。包括人群和背景,以及任何限制其适用性的因素。默认进行释义;仅引用关键措辞。记录来源报告的内容,而不是方便的内容。

5 构建

跨来源工作,绝不要一次只处理一个来源。

  1. 选择方法以契合问题和证据:定性或混合证据使用主题综合法;多样化的定量证据使用带有结构化效果摘要的叙事综合法;仅在研究足够相似以至于平均值有意义时才使用元分析。references/synthesis-methods.md
  2. 根据证据所说内容进行分组,而不是根据来源或共享的词汇。
  3. 将每个组写成一个声明:一个可能错误的句子。“反馈时机”是一个主题。“延迟反馈在保留任务上优于即时反馈,但在程序性任务上则不然”是一个声明。
  4. 双向附加证据:支持它的证据项,以及反驳它的证据项。
  5. 解决每个矛盾在项目的 reconciled 字段中:人群、度量、剂量、时间跨度、比较、设计质量或利益方面的差异。如果没有任何东西可以解释它,则写入 unexplained。未解决的矛盾会降低确定性上限。
  6. 绝不要统计显著与不显著的研究数量。 报告方向、大小和范围。在报告或比较任何效应之前,阅读 references/quantitative-evidence.md。
  7. 诚实地计数:“14名参与者中的9名”,“5项试验中的3项”,而不是“大多数”。

根据需要有多少声明就声明多少,不要更多。如果读者无法全部记住,那么分组尚未完成。

6 评定

python scripts/ledger.py ceilings ledger.json

这会打印每个声明在其记录证据下可以达到的最高确定性,以及限制条件:一个谱系、没有完整阅读的有效内容、未解决的矛盾,或建议下的薄弱声明。

然后进行判断。将每个声明的 certainty 设置等于或低于其上限,并根据偏倚风险、不一致性、间接性、不精确性和可能的证据缺失而降低,并给出一个句子作为 rationale,说明是什么设定了它。用词来匹配声明:

确定性措辞
高“X 增加了 Y”
中“X 可能增加了 Y”
低“X 也许会增加 Y”
非常低“目前尚不清楚 X 是否会增加 Y”

规则、定性证据和非研究证据、工作示例:references/certainty.md。

7 检验

尝试在读者之前打破结论。

python scripts/ledger.py keystones ledger.json

关键证据 是一个声明无法缺少的谱系:移除它,声明将失去其证据或无法按所述方式评定。然后,对于底线所依赖的每个声明:

  • 关键证据:完整重新阅读每个关键来源。如果它是对的,那么还有什么其他事情会是真实的,并且在其他地方能看到吗?
  • 竞争性解释:写出相同证据的最佳替代解释(偶然性、选择性、混杂因素、测量偏差、反向因果关系、有利益冲突的来源)。指出能够区分两者的观察结果,并查找它。
  • 反向论述:仅从分类账中,草拟一个期望相反结果的人会写的底线。只要该草稿是合理的,声明就是夸大其词的。
  • 迁移性:证据是否来自与决策场景相似的设置?如果不是,将其视为间接证据并降低评定等级。
  • 沉默:如果声明是真的,应该存在什么证据,并且是否搜索过?

将发现的这些东西放入分类账(新的反驳项目、更改的评定等级、更狭窄的声明)。如果没发现什么,也是一个可接受的结果,前提是这是真实的。在存在子代理的情况下,将此步骤交给仅持有分类账的新读者。

8 撰写

先写答案。报告有七个部分(快速简报可以省略方法部分):

  1. 底线:用两到四个句子给出答案,措辞要体现其确定性。
  2. 这对决策意味着什么:标签化的解释和建议,包括诚实的“不要行动”和“证据无法就此做出决定”,以及什么会改变结论。
  3. 发现:每个声明一个副标题,写为声明本身,带有其ID([C1])、Certainty: 行(含理由)、证据和引文([S3, S7]),以及它适用于谁。
  4. 证据不一致之处及其原因。
  5. 空白与局限性:证据的,以及本综合本身的。
  6. 研究方法:问题、标准、搜索、计数、评估、方法。
  7. 来源:按ID列出的每个被引来源。

在证据允许的地方要肯定,在证据不支持的地方要坦诚。对每个句子均等地使用模棱两可的措辞,会掩盖强发现和弱发现之间的区别,而这正是读者最需要的信息。

9 复核

python scripts/ledger.py worksheet ledger.json

工作表列出了必须在其定位符处重新阅读的证据:每个图表、每个引文以及来自关键证据的所有内容。打开每个来源并进行比较。然后记录结果:

python scripts/ledger.py mark ledger.json confirmed C1.s1 C1.s2
python scripts/ledger.py mark ledger.json mismatch C2.s1 --note "表3显示的是0.03,而不是0.30"

在确认之前,纠正分类账和报告中的任何不匹配。在不重新阅读的情况下将项目标记为已确认,会破坏唯一能捕获错误引文的检查。

然后运行检查,修复报告的问题,并重复直到两者都干净:

python scripts/ledger.py check ledger.json
python scripts/ledger.py report report.md ledger.json

python scripts/ledger.py explain <CODE> 说明任何规则存在的原因。在快速模式之外,当必要的证据未被确认时,report 会失败。对于附录,python scripts/ledger.py tables ledger.json 渲染证据表格,trace ledger.json C1 显示任何声明的回溯路径到其来源。

最后,根据 references/quality-rubric.md 对草稿进行评分,并修复任何低于通过标准的内容。

更新综合报告

当新证据出现时,将来源添加到现有分类账中,将 as_of 设置为新日期,提取,然后再次运行 ceilings 和 keystones:一个新的谱系可能会提高上限,一个新的矛盾可能会降低它。在 protocol.deviations 下注意更改了什么,并在报告中说明哪些结论发生了变化及其原因。

审计他人的综合报告

  1. 重建其隐含的问题、标准和方法。
  2. 对照来源检查其引文,从结论所依据的那些开始。不要断言未读来源“真正”说了什么;将其报告为未经检查。
  3. 使用 references/quality-rubric.md 评分,并使用 references/failure-modes.md 进行测试。
  4. 先报告裁决,然后说明什么是正确的、什么是不受支持的,以及按重要性顺序进行特定更改以修复它。

参考文件

文件何时阅读
references/scoping-and-protocol.md框架化问题、选择审查类型、撰写方案
references/source-appraisal.md评价来源或分配谱系
references/evidence-ledger.md编辑分类账或添加来源
references/synthesis-methods.md选择综合方法
references/certainty.md评定确定性或识别上限
references/failure-modes.md任何检查失败或结果似乎不令人信服时
references/quality-rubric.md完成草稿后
references/quantitative-evidence.md对任何定量证据进行排序
references/qualitative-data.md综合访谈、回复或反馈
references/parallel-research.md使用子代理进行大型或可分离的工作

相关技能