从检索到 research gap:AI Agent 辅助文献综述工作流
本手册说明如何用指定文献库、PRISMA-lite 流程和多 Agent 分工,生成一版可检查、可回溯的初步文献综述,并把结论收束到 research gap。
使用说明:从检索到 research gap
这份手册处理一个具体问题:如何把一批检索到的文献,整理成一条有依据的 research gap 判断链。
交付物
| 交付物 | 作用 | 检查重点 |
|---|---|---|
criteria.md | 记录研究问题、纳入标准、排除标准 | 问题是否具体,标准是否可执行 |
literature_inventory.md | 说明文献库数量、字段和材料边界 | 是否只基于指定文献库作判断 |
screening_table.md | 记录每篇文献的纳入 / 排除理由 | 理由是否能回到 RQ 和标准 |
synthesis_matrix.md | 整理主题、方法、数据、结论和局限 | 是否已经做跨文献比较 |
research_gaps.md | 提出 gap 候选及其证据依据 | 每个 gap 是否能回到文献矩阵 |
mini_review.md | 形成初步综述和后续研究问题 | 结论是否克制,边界是否清楚 |
文献综述概述:为什么需要流程
文献综述围绕一个问题、概念、理论或方法,对已有研究进行识别、筛选、评价、综合和解释。合格的综述需要跨文献比较,不能停留在逐篇摘要。
不同综述类型的差异,主要体现在问题类型、检索强度、纳入标准、质量评价、合成方式和结果形态。先判断“要回答什么问题”,再选择合适的综述类型。类型选错,后面的检索、筛选和写作都会变形。
常见综述类型及适用场景
| 类型 | 主要目的 | 适合的问题 | 方法要求 | 常见结果形态 |
|---|---|---|---|---|
| 系统综述(systematic review) | 用预先设定的方法回答聚焦问题,尽量降低选择偏倚 | 某种干预是否有效、某类因素是否相关、某种方法是否可靠 | 明确 RQ、检索式、数据库、纳入 / 排除标准、筛选流程和质量评价 | PRISMA 流程图、研究特征表、偏倚风险表、叙述综合或统计合成 |
| 元分析(meta-analysis) | 在研究可比时,对量化结果进行统计合并 | 多个研究是否可以合并出总体效应量 | 需要可比结局、统一效应指标、异质性处理和发表偏倚检查 | 森林图、漏斗图、敏感性分析、亚组分析 |
| 快速综述(rapid review) | 在时间受限下形成相对可靠的证据摘要 | 政策、管理或实践场景中需要较快判断的问题 | 可以简化数据库数量、筛选方式或灰色文献检索,但需要说明简化步骤和可能偏倚 | 证据摘要、简化流程表、限制说明 |
| 范围综述(scoping review) | 描绘研究范围、概念边界、研究类型和缺口 | 主题较新、概念不清、研究分散,还不适合直接回答效果问题 | 问题通常较宽,检索可迭代,纳入文献类型可更广;质量评价不一定是必需步骤 | 证据地图、分类表、主题分布、研究空白清单 |
| 叙述性综述(narrative review) | 围绕主题、机制、争议或发展脉络解释已有研究 | 需要理解一个领域如何发展、有哪些主要争论 | 不一定追求穷尽检索,但应说明主题边界、资料来源、选择逻辑和综合框架 | 主题段落、理论脉络、概念框架 |
| 理论综述(theoretical review) | 比较、整合、修正或生成理论解释 | 同一现象存在多种理论解释,或概念关系尚不清楚 | 纳入对象可能包括理论文本、经典论文和跨学科文献;重点在概念路径可追溯 | 理论比较表、概念模型、命题体系 |
| 方法综述(methodological review) | 审视研究设计、测量、抽样、分析和报告实践 | 需要了解某领域通常怎样做研究,方法上有哪些缺陷 | 需要清楚的编码规则、变量定义、方法类别和可复核表格 | 方法矩阵、编码表、规范建议 |
| 批判性综述(critical review) | 评价并挑战已有假设,提出新的解释或命题 | 领域已有共识需要重新审视,或主流解释存在明显限制 | 需要公平呈现相反证据,批评应建立在文献比较上 | 批判矩阵、论证链、概念模型或新命题 |
容易混淆的几组概念
| 概念 | 容易混淆的地方 | 本手册采用的处理方式 |
|---|---|---|
| 系统综述与元分析 | 系统综述是一套证据综合设计;元分析只是可能使用的统计合成方法。没有统计合并,也可以是系统综述。 | 保留系统综述的筛选记录思路,不做元分析。 |
| 系统综述与范围综述 | 系统综述通常回答聚焦问题;范围综述用于摸清概念、范围、类型和缺口。范围综述有独立功能,不能当作系统综述的简化版。 | 先用系统综述的透明流程整理材料,再用范围综述的思路理解 gap。 |
| 快速综述与随意简化 | 快速综述可以压缩步骤,但要说明压缩了什么,以及可能带来什么偏倚。 | 所有简化都写进材料边界和 review check。 |
| 叙述性综述与资料堆积 | 叙述性综述不等于随意选文献。它仍需要主题边界、选择逻辑和综合框架。 | 初步综述可以采用叙述性表达,但每个判断仍要回到文献 ID。 |
| gap 与泛泛建议 | “未来应加强研究”这类笼统表述不足以构成 research gap。gap 应说明缺什么、为什么缺、依据是什么。 | 每条 gap 都要对应文献矩阵中的对象、场景、方法、数据、理论或结论字段。 |
写作结构与评价要点
多数综述都需要交代研究背景、问题、方法、结果或综合、讨论和局限。不同类型的侧重点不同:系统综述看方法透明度,范围综述看分类和边界,叙述性综述看论证连贯性,理论综述看概念整合,方法综述看编码规则,批判性综述看证据是否支持批评。
| 评价维度 | 检查问题 | 常见问题 |
|---|---|---|
| 研究问题与类型匹配 | 题目、研究对象、问题和综述类型是否一致 | 题目像系统综述,实际只是叙述性总结 |
| 检索与纳入边界 | 数据库、关键词、时间范围、纳入 / 排除标准是否可审查 | 只写“检索相关文献”,没有具体过程 |
| 评价标准 | 是否使用合适的质量评价或批判标准;若不做正式评价,是否说明理由 | 生搬硬套评价工具,或完全没有评价口径 |
| 综合深度 | 是否形成主题、比较、分歧和局限,是否超越逐篇摘要 | 结果部分变成文献清单 |
| 结论边界 | 结论是否与材料范围一致,是否说明局限 | 把少量文献写成整个领域的趋势 |
| 可复核性 | 是否保留筛选表、矩阵、检索记录和排除理由 | 只留下最终文字,无法回看判断过程 |
这里使用的 PRISMA-lite
PRISMA-lite 是本手册采用的简化训练方案。它借用 PRISMA 的流程记录方式,保存文献来源、筛选过程、排除理由和纳入结果。更准确的成果表述是:基于指定文献库的 PRISMA-lite 初步综述训练。它可以训练过程意识和证据边界,但不能写成完整系统综述,也不替代投稿时需要遵循的 PRISMA 2020。
research gap 从哪里来
| gap 类型 | 判断问题 | 需要回到什么材料 |
|---|---|---|
| 对象 gap | 哪些研究对象很少被讨论? | 文献对象字段、样本描述 |
| 场景 gap | 哪些地区、行业、教学平台或使用情境缺少研究? | 研究情境、数据来源、案例区域 |
| 方法 gap | 现有研究是否集中使用少数方法? | 方法字段、数据类型、分析技术 |
| 数据 gap | 是否缺少长期数据、实证数据或对比数据? | 数据字段、样本规模、研究设计 |
| 理论 gap | 现有研究是否只是描述现象,缺少解释框架? | 理论框架、概念模型、机制解释 |
| 结论 gap | 文献之间是否存在明显分歧? | 主要发现、局限、讨论部分 |
| 实践 gap | 研究结论是否难以转化为教学、政策或工具设计? | 应用建议、实践场景、实施条件 |
AI Agent 概述:把判断过程拆开
Agent 的作用是把任务分解、保存过程、写清理由。研究判断仍然需要人工复核。
普通聊天窗口的问题
普通聊天可以解释概念、改写段落和总结材料,但它通常不会自动保存文献来源、处理步骤、筛选理由和人工确认记录。
Agent 工作流的目标
Agent 工作流把输入、规则、工具、输出和人工确认放在同一个项目中。这样做的目的,是让综述过程可以回看、可以检查、可以修订。
本手册中的 Agent 构成
Agent = 对话模型 + 项目文件 + 可用工具 + 任务规则 + 人工确认
多 Agent 分工
| 角色 | 主要任务 | 不能替代人的部分 |
|---|---|---|
| Orchestrator | 调度流程,确保不跳过筛选、复核和综合 | 不能自行决定研究目标 |
| Screener | 根据 RQ 和标准做初步纳入 / 排除判断 | 不能把低相关文献强行纳入 |
| Critic | 质疑筛选结果,检查方法、相关性和过度结论 | 不能为了反对而机械反对 |
| Arbiter | 综合 Screener 和 Critic 意见,做最终裁决 | 需要保留不确定性说明 |
| Synthesizer | 形成主题结构、共识、争议和 gap 候选 | 不能逐篇摘要代替综合 |
| PRISMA 统计 Agent | 统计 identified、screened、excluded、included | 数字要与筛选表一致 |
AI Agent 辅助文献综述工作流
这一部分是主线:从检索结果进入文献库,再通过筛选、抽取和比较,最后收束到 research gap。
七步流程
| 步骤 | 人工任务 | Agent 任务 | 输出 | 确认点 |
|---|---|---|---|---|
| 1. 明确问题 | 写 RQ、纳入标准、排除标准 | 帮助收窄问题,检查标准是否可执行 | criteria.md | RQ 是否具体,标准是否能用于筛选 |
| 2. 整理文献库 | 准备题名、摘要、关键词和元数据 | 检查字段完整性,生成材料概览 | literature_inventory.md | 文献数量和字段是否支持当前任务 |
| 3. 筛选文献 | 确认纳入 / 排除判断 | Screener 初筛,Critic 质疑,Arbiter 裁决 | screening_table.md | 排除理由是否清楚,误纳入是否被发现 |
| 4. 抽取信息 | 确认抽取字段和表格口径 | 提取对象、方法、数据、结论、理论和局限 | synthesis_matrix.md | 字段是否一致,是否遗漏关键证据 |
| 5. 主题聚类 | 判断主题命名是否合理 | 归纳 3–5 个主题,比较共识和分歧 | theme_structure.md | 主题是否过宽,文献是否错分 |
| 6. 形成 gap | 检查 gap 与证据的对应关系 | 生成 gap 候选,标注文献依据和不确定性 | research_gaps.md | gap 是否能回到文献矩阵 |
| 7. 写初稿 | 审查表达边界和引用依据 | 生成 mini review、abstract 和后续问题 | mini_review.md | 是否避免把本次文献库写成整个领域 |
从矩阵到 gap 的判断方式
| 矩阵中看到的现象 | 可以推导的 gap 候选 | 不能直接写成什么 |
|---|---|---|
| 多数文献集中在同一类对象 | 其他对象研究不足 | 整个领域完全忽视其他对象 |
| 研究方法高度集中 | 方法多样性不足,缺少对比研究 | 现有研究方法都不可靠 |
| 多篇文献承认数据时间短 | 长期数据和追踪研究不足 | 所有结论都没有价值 |
| 主题之间结论不一致 | 存在解释分歧,需要更细分情境 | 领域没有共识 |
| 应用建议多,但实证检验少 | 实践转化证据不足 | 这些建议都不可行 |
OpenCode 入门:进入项目与常用指令
初次使用 Agent 时,先不用记全部命令。先把三个动作做对:进入正确项目、连接模型、让 Agent 先读项目并给出计划。
第一次启动:按顺序检查
| 顺序 | 操作 | 检查点 |
|---|---|---|
| 1 | 在 VS Code 中打开本组项目文件夹 | 左侧能看到 AGENTS.md、literature_library/、outputs/ |
| 2 | 打开 VS Code 内置终端 | 终端路径位于当前项目文件夹,不在桌面或其他目录 |
| 3 | 运行 opencode --version | 能显示版本号;如果无法识别命令,说明 OpenCode 尚未安装或环境变量未生效 |
| 4 | 运行 opencode | 终端进入 OpenCode 对话界面 |
| 5 | 输入 /connect | 选择 DeepSeek 等模型服务商,并粘贴 API Key |
| 6 | 输入 /models | 选择课程指定模型 |
| 7 | 先发只读任务 | 要求 Agent 只读取项目结构、复述文件内容,不修改文件 |
opencode --version
opencode
/help
/connect
/models
Plan、Build 与 Review
使用 OpenCode 时,先让它分析材料、列计划、指出风险;确认后,再让它生成文件或修改内容。完成后检查输出文件和表达边界。
| 阶段 | 适合做什么 | 操作提醒 |
|---|---|---|
| Plan | 读取项目结构、分析任务、列步骤、指出风险 | 先看计划是否理解了材料范围,不急着让它动手 |
| Build | 生成 md 文件、整理表格、运行脚本、修改 HTML | 只有确认范围后再执行;完成后检查输出文件和改动内容 |
| Review | 查看输出、检查证据边界、收窄过强判断 | 所有结论都要回到本次文献库,不写成整个领域结论 |
常用斜杠指令
斜杠指令用于控制 OpenCode 本身。文献综述任务仍写成普通 prompt。常用指令先记下面这些,遇到问题再用 /help 查看完整说明。
| 指令 | 用途 | 什么时候用 |
|---|---|---|
/help | 查看 OpenCode 可用命令 | 不知道下一步能做什么时先输入 |
/connect | 连接模型服务商和 API Key | 第一次配置 DeepSeek 或更换服务商时使用 |
/models | 查看或切换模型 | 连接成功后选择课程指定模型 |
/init | 创建或更新 AGENTS.md | 项目还没有规则文件,或需要补充项目规则时使用 |
/new | 开启新会话 | 换任务、旧上下文太乱,或开始新阶段时使用 |
/sessions | 查看并切换历史会话 | 需要回到之前的任务记录时使用 |
/compact | 压缩长对话,生成阶段摘要 | 对话很长、模型开始遗漏前文时使用 |
/details | 查看 Agent 做过哪些步骤或调用了哪些工具 | 想知道它是否读了文件、运行了命令时使用 |
/undo | 回退上一轮改动 | 发现 Agent 改错文件或输出方向明显不对时使用 |
/redo | 恢复刚才撤销的改动 | 误撤销后使用 |
/export | 导出当前会话过程 | 需要保存操作记录或课后复盘时使用 |
/exit | 退出 OpenCode | 完成本轮操作后退出 |
本手册建议的安全说法
| 场景 | 推荐说法 | 不建议的说法 |
|---|---|---|
| 刚进入项目 | 请只读取项目结构并复述,不要修改文件。 | 请直接完成整个综述。 |
| 生成过程文件 | 请生成 literature_inventory.md,并说明依据来自哪些字段。 | 帮我写一个领域综述。 |
| 需要修改输出 | 请基于当前矩阵改写 research gap,只保留能回到文献编号的判断。 | 请直接润色 gap,不用管文献编号。 |
| 发现错误 | 先查看输出文件和 /details,必要时用 /undo。 | 连续追问,让错误沿着流程继续扩大。 |
操作流程:生成一版可检查成果
操作重点是保留过程记录。每一步都要看清输入、输出和需要人工确认的地方。
准备材料
- 每组准备 15–25 篇相关文献,优先使用题名、摘要、关键词和基本元数据。
- 统一文献 ID,例如
P01、P02、P03。 - 初步写出 1 个研究问题、3–5 条纳入标准和 3–5 条排除标准。
- PDF 可作为备查材料,不建议作为现场操作的唯一输入。
实操流程
| 顺序 | 内容 | 产出 |
|---|---|---|
| 1 | 确认从检索到 research gap 的完整路径 | 任务理解 |
| 2 | 文献综述类型与 PRISMA-lite 边界 | RQ 和标准初稿 |
| 3 | AI Agent 与多 Agent 分工 | Agent 角色理解 |
| 4 | 文献库摸查与 Screener 初筛 | screening_table.md |
| 5 | Critic 复核与 Arbiter 裁决 | included_studies.md |
| 6 | 文献矩阵与主题聚类 | synthesis_matrix.md、theme_structure.md |
| 7 | 生成 research gap 和初步综述 | research_gaps.md、mini_review.md |
| 8 | 检查与展示 | review_check.md |
项目文件夹建议
literature-review-workshop/
├── AGENTS.md
├── literature_library/
│ ├── metadata.csv
│ ├── abstracts.md
│ └── pdfs/
├── prompts/
├── outputs/
│ ├── criteria.md
│ ├── literature_inventory.md
│ ├── screening_table.md
│ ├── included_studies.md
│ ├── synthesis_matrix.md
│ ├── theme_structure.md
│ ├── research_gaps.md
│ ├── mini_review.md
│ └── review_check.md
└── scripts/
工具配置提示
可使用 OpenCode、Codex 或 Claude Code。工具只是执行环境。关键是让 Agent 在同一个项目文件夹中读取材料、保存输出,并在关键节点暂停等待确认。OpenCode 的启动、模式和常用指令见上一节。
Prompt 模板与成果检查
Prompt 放在最后使用。先准备问题、标准和材料,再调用 Agent。边界不清时,不要让 AI 直接写综述。
统一输入模板
研究问题(RQ):
纳入标准:
1.
2.
3.
排除标准:
1.
2.
3.
文献字段:
- 文献 ID
- 作者和年份
- 标题
- 摘要
- 关键词
- 方法
- 数据或案例
限制:
- 只基于本次指定文献库作判断。
- 不把初步发现写成本领域总体结论。
- 每个主要判断都要能回到文献 ID。
Orchestrator Prompt
你是系统综述工作流调度器。请协调多个 Agent 完成一版 PRISMA-lite 初步综述。
请按以下顺序执行:
1. 读取研究问题、纳入标准、排除标准和文献库。
2. 调用 Screener 对每篇文献做初步纳入 / 排除判断。
3. 调用 Critic 检查筛选结果,指出可能的误纳入、误排除和方法问题。
4. 调用 Arbiter 综合前两步意见,形成最终纳入清单。
5. 调用 Synthesizer 对纳入文献做主题归类和综合。
6. 输出 PRISMA-lite 统计、主题结构、research gap 候选和初步综述大纲。
要求:
- 不允许直接跳到最终结论。
- 每一步都要保存输出文件。
- 不确定的判断单独标注。
Screener Prompt
你是系统综述的文献筛选 Agent。
任务:
根据研究问题、纳入标准和排除标准,判断每篇文献是否应该进入本次 PRISMA-lite 初步综述。
输出字段:
- 文献 ID
- 纳入 / 排除 / 不确定
- 判断理由 1–3 条
- 与 RQ 的匹配度:高 / 中 / 低
- 初步主题标签
要求:
- 只做初步筛选,不写综述结论。
- 排除理由要具体,不能只写“不相关”。
- 如果信息不足,标为“不确定”,不要强行判断。
Critic Prompt
你是系统综述的批判性复核 Agent。
任务:
复核 Screener 的筛选结果,检查是否存在误纳入、误排除、方法学弱点或与 RQ 不匹配的问题。
输出字段:
- 文献 ID
- 对 Screener 判断的意见
- 可能问题:相关性 / 方法 / 数据 / 理论 / 结论边界
- 是否建议修改判断:是 / 否 / 不确定
- 修改理由
要求:
- 保持严格,但不要为了反对而反对。
- 如果没有发现关键问题,也要说明“暂未发现推翻理由”。
- 所有质疑都要基于文献字段和本次标准。
Arbiter Prompt
你是系统综述的裁决 Agent。
任务:
综合 Screener 和 Critic 的意见,对每篇文献做最终纳入、排除或暂缓判断。
裁决原则:
1. 与 RQ 的匹配度优先。
2. 纳入标准和排除标准优先于文字表面相关。
3. 方法或数据缺陷会影响使用方式,但不一定直接排除。
4. 保留不确定性。
输出字段:
- 文献 ID
- 最终决定:纳入 / 排除 / 暂缓
- 裁决理由
- 可用于哪些主题
- 不确定性说明
Synthesizer Prompt
你是文献综述主题综合 Agent。
任务:
只基于最终纳入文献,归纳 3–5 个主题,并形成 research gap 候选。
每个主题需要包含:
- 主题名称
- 主题定义
- 对应文献 ID
- 共识
- 分歧
- 方法或数据局限
- 可推导的 gap 候选
要求:
- 不逐篇摘要。
- 需要做跨文献比较。
- 每个 research gap 都要标注文献依据。
- 不能把本次文献库发现写成整个领域的最终判断。
research gap 检查 Prompt
请检查以下 research gap 候选是否成立。
检查标准:
1. 是否有文献矩阵依据,是否存在凭空生成的内容。
2. 是否能对应具体文献 ID。
3. 是否说明了 gap 类型:对象、场景、方法、数据、理论、结论或实践。
4. 是否避免过度概括。
5. 是否可以转化为后续研究问题。
请输出:
- 保留的 gap
- 需要改写的 gap
- 应删除的 gap
- 每条修改理由
最终成果检查清单
- RQ 是否足够具体。
- 纳入标准和排除标准是否能执行。
- 筛选表是否记录每篇文献的理由。
- PRISMA-lite 数字是否与表格一致。
- 文献矩阵是否包含方法、数据、发现和局限。
- 主题是否来自多篇文献比较。
- research gap 是否能回到文献 ID。
- 初步综述是否避免过度概括。
- 每个后续研究问题是否对应至少一个 gap。
- 最终展示是否说明本次材料边界。