定位
本工具的目标是在一个隔离工作目录内完成“检索 → 去重 → 评分 → 选文 → 写作 → 校验 → PDF/Word 导出”的完整综述流水线。适用于用户明确要求系统综述、文献综述、related work、文献调研,并希望得到 LaTeX + BibTeX + PDF/Word 产物的场景。不适用于只想补单条参考文献、只想润色已有正文、只想写普通摘要或与综述无关的文章。最高原则是以最佳可用证据和写作质量完成综述;不确定时说明处理方式,不为赶进度牺牲可信度。
输入
最少需要提供一句话主题。可选范围包括时间、语言、研究类型、数据库偏好等。档位分为 Premium / Standard / Basic,未指定时读取 config.yaml 默认值。目标字数与参考文献范围未指定时按 config.yaml.scoring.default_*_range 处理。输出目录或安全化前缀未指定时使用安全化主题名。
输出
默认交付以下核心文件:{主题}_工作条件.md(输入、检索、评分、选文、结构与校验记录)、{主题}_review.tex(正文唯一 LaTeX 源文件)、{主题}_参考文献.bib(选中文献 BibTeX)、word_budget_run{1,2,3}.csv、word_budget_final.csv、non_cited_budget.csv(综/述字数预算)、{主题}_验证报告.md(字数、章节、引用一致性等验证结果)、{主题}_review.pdf、{主题}review.docx。必要的中间产物包括 papers*.jsonl、scored_papers.jsonl、selected_papers.jsonl、selection_rationale.yaml,以及可选的 evidence_cards{主题}.jsonl。
硬约束
强制导出 PDF 与 Word,只有明确失败并记录原因时才允许缺失。正文字数与参考文献数必须落在当前档位范围内,可由用户覆盖,默认值以 config.yaml 为准。正文固定包含摘要、引言、至少 1 个子主题段、讨论、展望、结论。\cite{key} 必须与 BibTeX key 一致,缺失即报错。正文禁止泄露 AI 工作流,例如“检索/去重/评分/选文/字数预算”等元叙事只能写入 {主题}_工作条件.md。摘要必须为单段,避免方法学流水账;表格宽度与样式约束见 references/review-tex-section-templates.md。不为凑引用而堆砌低分文献;无法确认时优先不改、不引。
主流程
-
准备:记录主题、档位、字数/参考范围与输出目录。开始前优先阅读 references/ai_query_generation_prompt.md、references/ai_scoring_prompt.md、references/expert-review-writing.md、references/review-tex-section-templates.md,涉及翻译时再读 references/multilingual-guide.md。
-
多查询检索:AI 为主题自主规划查询变体,通常 5-15 组。优先用 OpenAlex,必要时按 config.yaml.search.provider_priority 自动降级。检索结果写 Search Log;resume 时若 papers 路径失效,应清理后重检。
-
去重:用 dedupe_papers.py 生成去重结果与映射。所有后续流程只读取去重后的候选集。
-
AI 评分与数据抽取:AI 按 references/ai_scoring_prompt.md 逐篇阅读标题与摘要,输出 scored_papers.jsonl。每篇至少包含 score、subtopic、rationale、alignment、extraction。评分范围固定为 1-10 分;仅对 >=5 分文献分配子主题,避免弱相关论文污染子主题规划。自检分布是否健康:高分约 20-40%,中分 40-60%,低分 10-30%。
-
选文与 Bib 生成:select_references.py 按目标参考范围和高分优先比例选出最终集合,生成 selected_papers.jsonl、references.bib、selection_rationale.yaml。Bib 清洗必须保留:大小写无关去重 key、LaTeX 特殊字符转义、缺失字段警告。摘要缺失或过短的条目标记 do_not_cite,并在报告中提示摘要覆盖率风险。
-
子主题与配额规划:AI 基于评分结果规划 3-7 个子主题,并给出段落配额。默认思路:引言约 1.5k、讨论/展望各约 1k、结论约 0.6k,其余分给子主题段。结果写入工作条件与数据抽取表,作为写作锚点。
-
字数预算:用 plan_word_budget.py 生成 3 份预算 CSV,再汇总为 word_budget_final.csv。引用段与无引用段预算均需覆盖;总字数误差必须控制在 config.yaml.word_budget.tolerance 内。
-
写作:正文章节固定为摘要、引言、子主题段、讨论、展望、结论。写作前读取 word_budget_final.csv,按文献综/述预算组织证据。默认采用单篇引用优先;引用要紧跟所支撑的观点,避免段末堆砌。如需详细写作规范,直接遵循 references/expert-review-writing.md 与 references/review-tex-section-templates.md。
-
有机扩写与验证:若字数不足,只允许在最短或证据不足的子主题段内做增量扩写,不新增子主题,不改原主张和引用。依次运行 validate_counts.py、validate_review_tex.py,可选 validate_word_budget.py,最后运行 generate_validation_report.py。
-
导出与多语言:通过 compile_latex_with_bibtex.py 生成 PDF,通过 convert_latex_to_word.py 生成 Word。如用户要求多语言版本,使用 multi_language.py 翻译正文并智能编译;失败时保留错误报告与 broken 文件,并优先支持恢复备份。
工作目录与文件隔离
所有中间文件必须写入 {work_dir}/.systematic-literature-review/。最终交付物放在工作目录根部。AI 临时脚本必须放到 {work_dir}/.systematic-literature-review/scripts/。不要把临时文件写到工作目录根部,不要用绝对路径写 /tmp/*,也不要读写其他 run 目录。以环境变量 SYSTEMATIC_LITERATURE_REVIEW_SCOPE_ROOT 和 SYSTEMATIC_LITERATURE_REVIEW_SCRIPTS_DIR 为准。
关键命令
推荐主入口:python3 scripts/run_pipeline.py --topic "{主题}" --runs-root runs
旧入口 / resume:python3 scripts/pipeline_runner.py --topic "{主题}" --domain general --work-dir runs/{safe_topic};python3 scripts/pipeline_runner.py --resume runs/{safe_topic}
阶段 3 评分后,从第 4 阶段继续:python3 scripts/pipeline_runner.py --resume runs/{safe_topic} --resume-from 4
环境与脚本
运行环境:Python 3.9+、LaTeX(xelatex/bibtex)、pandoc。关键脚本包括检索:multi_query_search.py、openalex_search.py;去重:dedupe_papers.py;选文:select_references.py、build_reference_bib_from_papers.py;数据抽取:update_working_conditions_data_extraction.py;字数预算:plan_word_budget.py、validate_word_budget.py;校验:validate_counts.py、validate_review_tex.py、generate_validation_report.py;导出:compile_latex_with_bibtex.py、convert_latex_to_word.py。
可选成本追踪
初始化:python3 systematic-literature-review/scripts/pipeline_cost.py init;抓取定价:python3 systematic-literature-review/scripts/pipeline_cost.py fetch-prices;记录 token:pipeline_cost.py log ...;汇总:pipeline_cost.py summary。所有成本数据写到 .systematic-literature-review/cost/。
参考材料
references/ai_query_generation_prompt.md、references/ai_scoring_prompt.md、references/expert-review-writing.md、references/review-tex-section-templates.md、references/multilingual-guide.md、references/development-validation-guide.md。