PaperOrchestra Outline Agent工作原理:1次LLM调用如何生成驱动全局的outline.json

发布时间:2026/11/2 10:57:10
PaperOrchestra Outline Agent工作原理:1次LLM调用如何生成驱动全局的outline.json

【免费下载链接】PaperOrchestra

An automated AI research-paper writer based off Google's PaperOrchestra paper's implementation through a skills - benchmark + autoraters using any coding agent (Claude Code, Cursor, Antigravity, Cline, Aider). No API keys, no LLM SDKs.

项目地址:https://gitcode.com/gh_mirrors/pa/PaperOrchestra
点击查看免费下载

PaperOrchestra 是一个自动化学术论文写作框架的开源实现,而它的Outline Agent(大纲智能体)正是整条流水线的"总指挥"——仅用1 次 LLM 调用,就把 idea.md、实验日志等原始研究素材,融合成一份严格遵循 JSON Schema 的outline.json,随后驱动绘图、文献综述、章节写作等所有下游智能体协同工作。这篇文章带你完整拆解它的工作原理。

为什么"1次LLM调用"如此重要?

在 PaperOrchestra 的五步流水线中(Outline → Plotting → Literature Review → Section Writing → Content Refinement),Outline Agent 负责 Step 1。原始论文统计的各智能体 LLM 调用成本如下:

智能体LLM 调用次数角色
Outline Agent(Step 1)1一次性产出全局大纲
Plotting Agent(Step 2)~20–30按绘图计划渲染图表
Literature Review Agent(Step 3)~20–30按检索策略搜索文献
Section Writing Agent(Step 4)1单轮多模态写作
Content Refinement Agent(Step 5)~5–7模拟评审与修订

也就是说,大纲是整个流水线中"调用最便宜、影响却最大"的产物:它相当于给后面所有智能体下发施工图纸。Step 2 和 Step 3 之所以能并行运行,正是因为它们各自消费的是outline.json里互不重叠的两个键。流水线全貌可参考 skills/paper-orchestra/references/pipeline.md。

四份输入与"必须综合"的全局指令

Outline Agent 读取工作区中的四个输入文件:

  • workspace/inputs/idea.md—— 方法论与核心贡献摘要
  • workspace/inputs/experimental_log.md—— 实验结果、消融研究、指标
  • workspace/inputs/template.tex—— 会议 LaTeX 模板,提供章节骨架
  • workspace/inputs/conference_guidelines.md—— 页数限制与格式规则

它的 system prompt 逐字复刻自论文附录 F.1(App. F.1, pp. 40–44),见 skills/outline-agent/references/prompt.md。其中最关键的一条全局指令是:

Do not analyze inputs in isolation. You must synthesize information across all provided documents for every step.

这正是"1次调用"能成立的前提:不是分别摘要四份文件,而是在同一上下文里做跨文档综合——从 idea.md 提取机制、从实验日志提取数字证据、从模板取章节骨架、从会议指南推导文献截止时间(cutoff_date),一次推理完成。

outline.json 的三大计划键

输出必须且只能是一个 JSON 对象,包含三个顶层键。人机可读的字段说明在 skills/outline-agent/references/outline-schema.md,机器可读的 JSON Schema 在 skills/outline-agent/references/outline_schema.json。

1️⃣ plotting_plan:绘图计划

一个 FigureSpec 对象数组,每张图 6 个字段,且枚举值被严格锁死(完整清单见 skills/outline-agent/references/allowed-values.md):

字段约束
figure_idsnake_case 语义化命名,如fig_framework_overview,禁止出现单词 "Figure"
plot_type只能是"plot"(统计图)或"diagram"(概念/架构图)
data_source只能是"idea.md"/"experimental_log.md"/"both"
aspect_ratio限定 12 种比例,如"16:9"、"4:3"、"1:1"
objective若为 plot,必须写明具体图表类型(如 Radar Chart)

这一步的意义在于:它把"该画哪些图、用什么数据、什么版式"提前决策好。下游 Plotting Agent 只需照着执行即可,无需再做创作性判断。下面这张架构分层图,正是示例项目中plot_type: "diagram"、data_source: "idea.md"的产物:

2️⃣ intro_related_work_plan:文献检索策略

这一键不写论文内容,而是给下游 Literature Review Agent 下达"搜索指令",并且强制把 Introduction 与 Related Work 严格分层,避免引用重叠:

  • Introduction(宏观语境,10–20 篇):定义 Hook(大背景)与 Problem Gap(待验证的问题缺口),并给出 3–5 条检索方向——问题紧迫性证据、综述、奠基性工作。
  • Related Work(微观技术基线,30–50 篇):把领域切成2–4 个方法论簇,每个簇配备五件套:methodology_cluster(技术类别)、sota_investigation_mission(找 SOTA 的任务)、limitation_hypothesis(假设的缺陷点)、limitation_search_queries(定位缺陷的具体查询)、bridge_to_our_method(我们的方法如何弥补)。

另有一条关键时间线规则:禁止检索{cutoff_date}之后发表的论文——截止时间从conference_guidelines.md推导(如 "ICLR 2025 → cutoff 2024 年 10 月"),防止论文"引用未来"。

3️⃣ section_plan:分节写作计划

把 Abstract、Methodology、Experiments、Conclusion 等章节展开为结构树,附带三条硬性要求:

  • 层级完整性:若存在子节 X.1,则 X.2 必须存在,禁止"孤儿子节";
  • 内容具体化:content_bullets 必须指向源材料的具体位置。禁止 "Describe the model",要求 "Formalize the X mechanism using Eq. 3 from idea.md";
  • 引用提示(citation_hints)全覆盖:每个数据集、优化器、指标、基础模型(哪怕 AdamW、ResNet 这种再常见不过的东西)都必须有引用提示,且只允许两种格式:
    • 确知作者与标题:"Author (Exact Paper Title)"
    • 否则:"research paper or technical report introducing '[名称]'"
    • 严禁猜测或编造作者——因为这些提示会被下游当成检索词,错误的作者名会污染整条引用链。

硬约束:确定性校验器兜底

LLM 的一次调用终究是非确定的,PaperOrchestra 用一个纯确定性脚本兜底:skills/outline-agent/scripts/validate_outline.py。它在 JSON Schema 校验之外还执行语义检查:

  • figure_id必须匹配^[a-z0-9_]+$,且fig_前缀后不得再含 "figure";
  • 禁止孤儿子节(层级规则);
  • related_work_strategy.subsections必须有 2–4 个簇(论文原文规则);
  • plot_type: "plot"但 objective 未指明图表类型时,给出 WARNING。
python skills/outline-agent/scripts/validate_outline.py workspace/outline.json # 退出码 0 = 通过(允许 warning);1 = 结构或语义错误

规则很明确:校验不通过就修 JSON 再验,绝不允许带着非法 outline 进入 Step 2/3——因为所有下游智能体都直接解析这份 schema。校验通过后,Outline Agent 还会把核心主张、叙事张力、大纲决策以自由文本追加到research_brief.md的 §1,模板见 skills/shared/research_brief_template.md。

真实案例:一份 541 行的 outline.json 驱动了 22 页报告

仓库中的 examples/agentic-security-report/ 是一次完整跑通的真实案例,其 workspace/outline.json 包含:6 张图计划、4 个 Related Work 簇、10 个章节、78 条引用提示,一次性通过了校验器。

例如市场增长图计划被写成:

{ "figure_id": "fig_market_growth_gen_ai_cybersecurity", "plot_type": "plot", "data_source": "experimental_log.md", "objective": "Visual summary (Bar/Line Combo Chart) showing Gen AI cybersecurity market expansion from $8.65B (2025) to $35.5B (2031)...", "aspect_ratio": "16:9" }

下游 Plotting Agent 照单渲染,数据全部来自实验日志:

最终该大纲驱动整条流水线产出了 22 页、零 LaTeX 错误的技术报告,评审模拟分数从 71.85 一路提升到 77.70。

关键文件速查

文件说明
skills/outline-agent/SKILL.md智能体主指令:读 prompt → 读四输入 → 综合 → 输出 → 校验
skills/outline-agent/references/prompt.md论文附录 F.1 的逐字 system prompt
skills/outline-agent/references/outline_schema.json机器可读 JSON Schema
skills/outline-agent/references/example-output.json论文给出的完整输出范例
skills/outline-agent/scripts/validate_outline.py确定性校验脚本
docs/architecture.md七技能如何组合成流水线的架构详解

总结:一次调用,三重收益

  • 成本收益:大纲只花 1 次调用,却替后面 60+ 次调用定好了方向;
  • 质量收益:枚举值 + Schema + 语义校验器,把 LLM 的自由发挥框进可机读、可校验的契约里;
  • 协同收益:三个顶层键天然无共享状态,Step 2/3 得以并行,整篇论文平均 ~39.6 分钟跑完。

一句话概括:Outline Agent 用 1 次综合推理,把"模糊的研究素材"编译成"可执行的全局施工图纸",这就是 PaperOrchestra 多智能体流水线能又快又稳的根本原因。

【免费下载链接】PaperOrchestra

An automated AI research-paper writer based off Google's PaperOrchestra paper's implementation through a skills - benchmark + autoraters using any coding agent (Claude Code, Cursor, Antigravity, Cline, Aider). No API keys, no LLM SDKs.

项目地址:https://gitcode.com/gh_mirrors/pa/PaperOrchestra
点击查看免费下载

相关推荐

上一篇:大麦抢票脚本:从登录到下单的一键自动抢票自动化助手
下一篇:Windows终极PDF处理工具:3步免费安装Poppler完整指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考