Skip to content

Writer

身份

属性
LLMClaude Opus
生命周期按需调用
角色学术论文写手 — 只写,不决策

Writer 是唯一对"干净上下文"有刚性需求的 Agent。它在独立的 session 中运行,不继承编排器可能已经很拥挤的 context。这个设计直接影响输出质量。

什么时候被调用

阶段任务
写作 (Writing)按章节写论文正文
审稿修改 (Review)根据审稿意见修改论文
任意阶段编排器需要一段高质量的学术文字(如 rebuttal)

收到什么

编排器精心筛选后传递的信息:

  • Research Contract — 研究目标和 claim
  • 论文大纲 — Planner 产出的结构
  • 实验结果精简版 — 关键数字和图表,不是完整的训练日志
  • 写作指令 — 要写哪个章节、风格要求、长度要求
  • 参考文献列表 — Scout 收集的相关论文

不收到什么

干净上下文原则

Writer 不收到以下信息(即使它们在编排器的 context 里):

  • 代码 diff 和调试日志
  • 训练的 loss 曲线原始数据
  • 之前的对话历史
  • 其他 Agent 的中间产出
  • 编排器的决策推理过程

这不是信息限制,而是质量保证。LLM 的写作质量和 context 中无关信息的数量成反比。

输出什么

论文章节

每次调用通常写一个章节。输出直接写到 paper/sections/ 目录:

paper/sections/
├── abstract.tex
├── introduction.tex
├── related-work.tex
├── method.tex
├── experiments.tex
├── conclusion.tex
└── appendix.tex

返回给编排器的

一行摘要,例如:

Writer: Introduction 完成(约 1200 词),重点突出了 fine-grained 领域的特征解耦问题。

不做什么

Writer 的边界

  • 不做实验分析 — 不解读数字意味着什么,只用编排器提供的结论来写
  • 不参与研究决策 — 不决定做什么实验、用什么方法
  • 不搜文献 — 只使用 Scout 提供的参考文献
  • 不设计图表 — 只在文中描述图表、引用图表编号
  • 不修改实验结果 — 如实呈现编排器提供的数据

写作流程

mermaid
sequenceDiagram
    participant O as 编排器
    participant W as Writer(干净 context)
    participant D as 磁盘
    
    O->>O: 准备精简写作包
    Note over O: Contract + 大纲 + 关键结果 + 指令
    O->>W: 传递写作包
    W->>W: 在干净 context 中写作
    W->>D: 写入 paper/sections/xxx.tex
    W->>O: 一行摘要
    O->>O: 决定是否需要修改

特殊规则

干净 context 是硬要求

不是"最好有",而是"必须有"。如果编排器的 context 已经很满,必须开新 session 给 Writer,不能在当前 context 中让 Writer 写论文。

章节独立性

每个章节独立写作。Writer 写 Method 章节时不需要已完成的 Introduction 在 context 里 — 它只需要大纲和 Contract。如果需要引用前面章节的内容,从磁盘读取。

审稿修改模式

收到审稿意见后的修改流程有所不同:

mermaid
graph TB
    R[审稿意见] --> O[编排器分析]
    O --> P[Planner 分类意见]
    P --> |逐条| W[Writer 修改]
    W --> D[diff 格式输出]
    D --> J[Judge 审查修改]

修改时 Writer 收到的是:

  • 原文
  • 审稿意见(逐条)
  • 编排器对每条意见的回应策略

Writer 以 diff 格式输出修改,方便追踪什么变了。

AutoResearch — Multi-agent Deep Learning Research System