ARIS Resubmit 与 Conference Talk 双流水线实战:从论文重投到会议演讲的全自动化护城河
【免费下载链接】Auto-claude-code-research-in-sleepARIS ⚔️ (Auto-Research-In-Sleep) — Lightweight Markdown-only skills for autonomous ML research: cross-model review loops, idea discovery, and experiment automation. No framework, no lock-in — works with Claude Code, Codex, OpenClaw, or any LLM agent.项目地址: https://gitcode.com/gh_mirrors/au/Auto-claude-code-research-in-sleep
本文基于 ARIS(Auto-Research-In-Sleep)仓库中的 docs/RESUBMIT_AND_TALK.md 展开,系统讲解两条论文后期工作流:Workflow 5 重投流水线(纯文本微编辑投往新会议)与Workflow 6 会议演讲流水线(论文 → 幻灯片 → 打磨 → 审计)。读完本文,你将掌握 ARIS 如何在"冻结实验、冻结参考文献、冻结框架"的硬约束下完成跨会议重投,以及如何在 assurance 分级护栏下把一篇已接收论文转成 Beamer + PPTX + 演讲稿的完整 talk 产物。
ARIS 把论文生命周期划分为若干可组合的工作流:paper-plan/paper-figure/paper-write/paper-compile负责从无到有写出论文,auto-review-loop负责研究迭代,而resubmit-pipeline与paper-talk则接管论文定稿之后的两个高价值场景——把打磨好的论文"搬运"到新会议,以及把已接收论文变成一场会议演讲。二者都遵循同一套设计哲学:原稿只读、版本化输出、审计 verdict 门控最终交付。
Workflow 5:重投流水线 🔁(纯文本、跨会议搬运)
核心场景:"论文在会议 A 被接收或被拒,现在要在硬约束下搬到会议 B。"
/resubmit-pipeline把一篇已经打磨完毕的论文从一个会议搬到另一个会议,并带有严格护栏——不做新实验、不改参考文献、不改框架、绝不覆盖此前的投稿。它适用于:会议论文的期刊版本、ML 会议之间的迁移、非匿名 workshop 论文去匿名后重投等场景。不适合重大修改(那应该走/paper-writing)。
为什么需要一条独立的"重投"流水线
从 skills/resubmit-pipeline/SKILL.md 的定位说明可以看出,它与常规写作工作流的根本差异在于输入状态:
- 论文已经打磨完毕——证明做完了、实验做完了、参考文献已经精选过;
- 用户想吸收上一轮审稿人的意见再投新会议,但不允许引入新实验、新引用或框架改动(LLM 幻觉防御 + 重投时间紧迫 + 算力预算封闭);
- 基础投稿目录是只读的——新投稿必须生成到兄弟目录,绝不改动旧状态;
- 源会议与目标会议之间的页数上限可能收缩(如 workshop camera-ready → 9 页主会)。
仓库内其他技能覆盖相邻但不重叠的领域:/rebuttal生成 OpenReview 风格的回复文档而不是改论文;/auto-paper-improvement-loop是逐轮改进引擎,但预设了"已经有人选好底稿、迁移了格式、设置了编辑白名单、排好了审稿反馈"。/resubmit-pipeline填补的是编排层的空缺。
不可覆盖的硬约束(Hard Constraints)
| 约束 | 含义 | 执行机制 |
|---|---|---|
| 🔒不做新实验 | 每一个数值断言都必须已存在于源论文中 | Phase 1 的paper-claim-audit全程核对;Phase 2 白名单禁用numerical_claim操作 |
| 🔒不改参考文献 | 引用问题一律转化为正文改写 | citation-audit --soft-only将KEEP/FIX/REPLACE/REMOVE判定翻译为文本改写提案;幻觉引用得到drop_cite_in_body_only动作 |
| 🔒不改框架 | 定理环境、断言形态、贡献范围冻结 | Phase 2 编辑白名单禁用new_cite/new_theorem_env |
| 🔒绝不覆盖先前投稿 | 新会议拥有独立目录 | Phase 0 使用原子mkdir,目录已存在即报错退出 |
五阶段执行管线(结合源码细读)
Phase 0:物理隔离(对现有文件零修改)
重投最硬的不变量:绝不覆盖任何先前投稿目录。新会议的投稿是所有先前会议投稿的兄弟目录。源码给出了一个刻意设计的原子创建片段(注意用mkdir而非mkdir -p,以避免[ -e ] && exit; mkdir -p的 TOCTOU 竞态窗口):
NEW_VENUE_DIR="$(dirname "$PAPER_BASE_DIR")/$(echo "$TARGET_VENUE" | sed 's/.*/\u&/')" mkdir "$NEW_VENUE_DIR" 2>/dev/null || { echo "ERROR: $NEW_VENUE_DIR already exists; resubmit-pipeline never overwrites prior submissions. Pick a different target-venue or rename the existing dir." >&2 exit 1 } mkdir -p "$NEW_VENUE_DIR/.aris"复制规则(全部cp,绝不\input{../...},绝不符号链接):
main.tex— 为目标会议的.sty全新编写,只从源main.tex复制\title{}、\author{}、摘要 include 与章节 input 行;sec/(或sections/)— 物理cp -r整体复制。符号链接会破坏 Overleaf 的 zip 导出;跨目录\input会污染共享文件池并波及旧投稿;math_commands.tex等宏文件 — 物理复制;Figure/(或figures/)— 目录整体复制。源码专门警示了一个路径陷阱:若章节内写的是\includegraphics{Figure/foo.pdf},你在子目录设置\graphicspath{{../Figure/}}会解析成../Figure/Figure/foo.pdf——错误。要么把Figure/直接复制进来(首选),要么用\graphicspath{{../}};- 参考文献— 直接在
main.tex写\bibliographystyle{<venue-bst>}+\bibliography{../references}。绝不\input一个已含\bibliography{}命令的ref.tex(路径解析会静默失败); .aris/— 创建并写入assurance.txt(内容submission),与 verifier 期望的位置匹配。
Phase 0.5:健康检查 + 5 层匿名扫描(仍然零文本编辑)
先编译通过,再检查匿名。编译与页数测量(先测后假设):
cd "$NEW_VENUE_DIR" latexmk -C latexmk -pdf -interaction=nonstopmode -halt-on-error main.tex 2>&1 | tee compile.log PAGES=$(pdfinfo main.pdf | awk '/^Pages:/ {print $2}') LIMIT=$(grep -oE "page_limit: [0-9]+" "$NEW_VENUE_DIR/templates/$TARGET_VENUE.tex" | awk '{print $2}') echo "Pages: $PAGES, Limit: $LIMIT, Delta: $((PAGES - LIMIT))"若编译失败,直接产出RESUBMIT_REPORT.json(verdict: BLOCKED, reason_code: phase_0_5_compile_failed)并停止。
5 层匿名扫描(比/paper-compile的通用自引警告更彻底,因为重投常常继承非双盲会议的 camera-ready 文本再投双盲会议):
- 表层标识:作者姓氏、单位、机构名、实验室代号、基金 tag ID——
grep -E "$(echo $AUTHOR_SURNAMES | tr ' ' '|')|$(echo $AFFILIATIONS | tr ' ' '|')"; - 自引表述:任何 "we showed in [...]" / "in our prior work [...]" 式的句子,须改写为第三人称 "X et al. [year] shows..."。正则:
\b(we|our|my|I)\s+(showed|proved|demonstrated|prior work|earlier paper|previous paper)\b; - 致谢与基金:扫描
acknowledgments.tex中的机构特定致谢、基金号、具名合作者,双盲投稿时注释掉; - 跨回复引用:脚注与正文中的 "this paper builds on rebuttal at venue X" / "addressing reviewer N's concern from venue X"——必须整体删除(既违反匿名又泄露先前被拒);
- 内部代号 / 项目链接:grep 仓库 URL、Slack 频道名、内部 wiki 链接与数据集代号。
源码强调:5 层中任何一层命中都同等阻塞(anonymity_scan_failed),层 4-5 同时泄露"先前会议身份"与"实验室身份",以两种不同方式违反双盲。此外还做残色 / 边注扫描:搜\revise{}、\fix{}、\new{}、\todo{}、\textcolor{red}{}等 camera-ready 残留,列出后由用户决定保留还是剥离。本阶段产物为BASELINE.md。
Phase 1:三路并行审计(零编辑)
三个审计并行运行,全部只读检测:
| 技能 | 目的 | 产物 |
|---|---|---|
/proof-checker $NEW_VENUE_DIR/main.tex --restatement-check | 针对审稿人攻击过的定理做 gap 定位;主文陈述与重述之间的跨位置一致性 | PROOF_AUDIT.json+.md |
/paper-claim-audit $NEW_VENUE_DIR/ | 数值保真(正文每个数字都与证明/结果文件吻合) | PAPER_CLAIM_AUDIT.json+.md |
/citation-audit $NEW_VENUE_DIR/ — soft-only | 错误上下文引用 + 错误归属,映射为"软化引用句"动作(不是bib 编辑) | CITATION_AUDIT.json+.md |
关键:第三个审计必须带— soft-only运行。不带该标志时,citation-audit会输出预设 bib 变更的KEEP/FIX/REPLACE/REMOVE判定——这与重投的"禁改 bib"约束冲突。开启--soft-only后(实现详见 skills/citation-audit/SKILL.md),同样的发现被翻译为逐处出现的句子改写提案,供 Phase 2 消费。它的判定翻译表是:
| 基础判定 | soft-only 翻译 | 说明 |
|---|---|---|
KEEP | keep_unchanged | 引用与句子都没问题 |
FIX(元数据错) | keep_metadata_drift_acknowledged | bib 保持原样,提交时人工复核并标注 |
REPLACE(错误上下文) | soften_citing_sentence | 逐处提出软化后的引用句 |
REMOVE(幻觉引用) | drop_cite_in_body_only | bib 条目不动,但正文内联\cite{X}必须删除并重写句子,绝不允许正文残留指向不存在论文的引用 |
同时并行原子化先前审稿人意见:对--review-corpus下每个审稿报告,拆解为离散关切(severity: critical/major/minor;type: assumption/novelty/scope/rigor/experiment-coverage/framing;addressability: text-fixable/partial/unaddressable-under-constraints),追加到KNOWN_WEAKNESSES.md并赋予稳定 ID(W1, W2, ...)。
Phase 2:通过自动改进循环做定向文本微编辑
这是承重阶段。/auto-paper-improvement-loop以两个安全机制被调用:
① 编辑白名单(— edit-whitelist <path>,Phase 0 自动生成于$NEW_VENUE_DIR/.aris/edit_whitelist.yaml):
allowed_paths: - "sec/*.tex" - "main.tex" - "appendix.tex" forbidden_paths: - "**/*.bib" - "**/*.sty" - "**/*.bst" - "../*Submission/**" # all prior submission dirs - "../*Camera/**" - "templates/**" forbidden_operations: - new_cite # blocks \cite{...}, \citep{...}, \citet{...}, \citeauthor{...} - new_bibitem # blocks \bibitem{...} additions - new_theorem_env # blocks \begin{theorem|lemma|proposition|corollary} additions - numerical_claim # blocks adding numbers / percentages / metrics not present in original rationale: "Resubmit mode: text-only microedits, paper structure frozen by user constraint."白名单的解析规则与禁止操作检测器在 skills/auto-paper-improvement-loop/SKILL.md 中有精确定义:forbidden_paths在重叠时永远胜出;每个forbidden_operations都有正则检测器作用于"被新增的行"(如new_cite匹配\\cite[a-zA-Z]*\{[^}]+\},new_theorem_env匹配\\begin\{(theorem|lemma|proposition|corollary)\*?\})。被拒绝的编辑记入PAPER_IMPROVEMENT_LOG.md而非静默丢弃。
② 逐轮 diff gate:auto-loop 默认MAX_ROUNDS = 2、REVIEWER_MODEL = gpt-6-astra,并且有HUMAN_CHECKPOINT机制。重投流水线以HUMAN_CHECKPOINT = true调用一次循环,使每一轮暂停供编排器检查 diff。由于 paper-base-dir 不保证是 git 仓库(即使是我们 git 仓库,auto-loop 一轮内部也不产生逐轮 commit),源码采用rsync 快照 + diff的仓库无关方案:
SNAPSHOT_DIR="$NEW_VENUE_DIR/.aris/snapshots/round-0" mkdir -p "$SNAPSHOT_DIR" rsync -a --exclude='.aris' --exclude='*.pdf' --exclude='*.aux' \ "$NEW_VENUE_DIR/" "$SNAPSHOT_DIR/" /auto-paper-improvement-loop "$NEW_VENUE_DIR/" \ --edit-whitelist "$NEW_VENUE_DIR/.aris/edit_whitelist.yaml" \ — assurance: submission — effort: "$EFFORT" — human checkpoint: true每一轮结束后:diff -ruN对比快照 →check_whitelist_compliance校验白名单合规 → 若 diff 涉及theorem|lemma|proposition|corollary则触发/proof-checker --restatement-check,若 diff 出现数字模式[0-9]+(\.[0-9]+)?\s*(%|±|x|×)则触发/paper-claim-audit→ 记录新快照 → 检查收敛。
编辑必须映射到关切:每个提议编辑要么对应KNOWN_WEAKNESSES.md的某个W<n>ID,要么对应某个 Phase 1 审计发现。未映射的编辑被循环的 reviewer prompt 拒绝——这是通过自定义 prompt 附加语强制执行的。
Phase 3:对抗性 gate
/kill-argument $NEW_VENUE_DIR/。注意:/kill-argument不存在--difficulty参数(早期草案引用过一个不存在的标志)。它总是使用 Codexgpt-6-astra+ultra(深度审计档)运行标准的 2 线程"攻击-裁决"协议(详见 skills/kill-argument/SKILL.md):线程 1 用约 200 词构造"最强拒稿备忘录"并必须 commit 单一攻击线;线程 2 把攻击拆解为 3-7 个原子点,逐点判定answered_by_current_text/partially_answered/still_unresolved。
kill-argument 的输出是残余风险评估而非自动改写指令。一个敌意审稿人可能要求用户已禁止的框架改动;裁决步骤的存在正是为了分诊哪些发现可文本修复、哪些需要用户升级处理:对每个still_unresolved且severity_if_unresolved == critical的点,若推荐修复是纯文本且命中白名单路径 → 加入"额外轮队列";否则 → 加入"用户升级队列"并附书面说明("在你的约束下这些无法修复,提交前请决定")。
Phase 4:最终编译 + diff 报告 + Overleaf 推送
/paper-compile $NEW_VENUE_DIR/main.tex --venue $TARGET_VENUE/paper-compile检查页数上限、字体、bib 解析、图片溢出并输出COMPILE_REPORT.json。随后做一次零上下文的paper-claim-audit终检(确认 Phase 2 微编辑没有意外引入结果文件不支持的数值断言)。默认开启完整性取证重跑(— self_forensics: false可关):在所有微编辑完成之后(绝不介于轮次之间)对$NEW_VENUE_DIR/运行/integrity-forensics;BLOCK→ 在 Overleaf 推送前停止。重投专属规则:bib 在此流水线中冻结,因此citation-replaced不是合法修复类型——引用义务要么带人工签字的waive,要么升级给用户放松 bib 冻结。
Diff 报告(给用户 skim-review 用):
diff -u $PAPER_BASE_DIR/main.tex $NEW_VENUE_DIR/main.tex > $NEW_VENUE_DIR/.aris/DIFF_REPORT.md for f in $PAPER_BASE_DIR/sec/*.tex; do base=$(basename $f) diff -u "$f" "$NEW_VENUE_DIR/sec/$base" >> $NEW_VENUE_DIR/.aris/DIFF_REPORT.md doneOverleaf 推送(若传了— overleaf-target: <project-id>)完全委托给/overleaf-sync setup和/overleaf-sync push,绝不发明并行推送机制——setup 已处理 token 留在钥匙串(token 不进入 agent),push 有写入共享 Overleaf 状态前的确认 gate。
页面收缩启发式(有序,越靠后风险越高)
Phase 0.5 或 Phase 4 检测到页数溢出时,按序执行、达标即停,每步都被白名单约束(不动定理、不动 bib、不动框架):
- 压缩结论(把 1-2 段"future work"压成各 2-3 句),省 0.3-0.7 页;
- 收紧摘要 / 引言铺垫("in this paper, we" → "we";"it is well known that" 直入主题),省 0.2-0.4 页;
- 把边缘图移入附录,每图省 0.5-1 页;
- 把证明梗概 / 扩展评述移入附录(主文保留定理陈述 + 一行证明直觉),省 0.5-2 页;
- 压缩相关工作散文(逐条引用对比 → 对比表格),省 0.3-0.5 页。
禁止:删除实验、从主文删除定理、删除引用(bib 冻结)。第 5 步后仍溢出则输出BLOCKED, reason_code: page_shrink_failed_under_constraints,交由用户决定放松约束或换目标会议。
收敛标准(Phase 2 停止条件)
三轮全部成立才停:
- 无新 CRITICAL/MAJOR 可文本修复发现(与累计去重后的弱点列表比较);
- 页数预算通过——
/paper-compile报告页数 ≤ 会议上限; - 所有审计非阻塞——
/proof-checker、/paper-claim-audit、/citation-audit --soft-only均返回verdict ∈ {PASS, NOT_APPLICABLE}。
默认 2 轮,第 3 轮必须在 round-2 checkpoint 获得用户明确批准(绝不自动延长)。该模式借鉴自/rebuttalPhase 7 的"无新实质问题即终止"。
主账本与失败模式表
每次重投运行都写入$NEW_VENUE_DIR/RESUBMIT_REPORT.{md,json},包含:源目录、目标会议、所用 style 文件、时间戳;所有产物指针(BASELINE.md、三类审计 JSON、KNOWN_WEAKNESSES.md、PAPER_IMPROVEMENT_LOG.md、KILL_ARGUMENT.json、COMPILE_REPORT.json、DIFF_REPORT.md);取证结果与每条 OPEN 义务的逐字清单;所有输入文件的 SHA256 哈希;所有线程 ID;audit_skill / verdict / reason_code;每个用户 checkpoint 决策日志;跳过的约束及理由。其 schema 严格遵循 skills/shared-references/assurance-contract.md,使重投运行可取证复现。
流水线会输出 7 种判定(assurance 契约的 6 个 + 运行中的USER_DECISION状态):
| 判定 | reason_code | 触发条件 | 恢复方式 |
|---|---|---|---|
PASS | clean_resubmit | 全部 gate 通过,PDF 在页限内 | 提交 |
WARN | partially_addressed_concerns | MUST-FIX gate 全过但部分KNOWN_WEAKNESSES无法解决 | 用户带认知提交 |
FAIL | kill_argument_unresolved_critical | Phase 3 出现无法在纯文本约束下修复的still_unresolvedcritical | 放松约束 / 升级框架改动 / 换会议 |
NOT_APPLICABLE | not_a_resubmit | 检测不到先前审稿意见,目录像新草稿 | 改用/paper-writing |
USER_DECISION | awaiting_phase_<N>_checkpoint | 暂停在某个 checkpoint | 用户回复后继续 |
BLOCKED | phase_0_setup_blocked/phase_0_5_compile_failed/anonymity_scan_failed/missing_review_corpus/page_shrink_failed_under_constraints/out_of_scope_microedit | 各类前置条件不满足 | 修复后重跑 |
ERROR | audit_failure/loop_failure | 子技能报错 | 查看子报告修复重试 |
BLOCKED可恢复;ERROR表示意外子技能失败;只有FAIL和不可恢复的BLOCKED会阻止提交。
Workflow 6:会议演讲流水线 🎤(论文 → 幻灯片 → 打磨 → 审计)
核心场景:"论文接收了,现在准备会议演讲。"
/paper-talk编排完整的 talk 准备流程,是/paper-writing与/paper-poster-html的姊妹工作流。/slides-polish是被内部调用的生成后视觉打磨阶段——你不需要单独调用它。
全程硬不变量
skills/paper-talk/SKILL.md 定义了对所有阶段不可谈判的约束,值得先列出:
- 原始论文只读——消费论文目录,绝不修改
paper/main.tex; - 原始 deck 保留——
/paper-slides产出基线 deck,/slides-polish写入_polished版本化副本,原始 Beamer + PPTX 永不被覆盖; - 演讲者备注字节级稳定——打磨不得改动
slide.notes_slide内容,Phase 4 验证; - 全程零新内容——所有幻灯片文字、演讲备注、talk 脚本、Q&A 答案、断言、数字、引用、URL、作者名、匿名占位符与实验结果都必须源自
PAPER_DIR/产物或用户显式提供,流水线绝不凭空发明; - 不重排幻灯片——增删改序需要显式用户标志;
- 跨模型独立——
/slides-polish的每页 Codex 调用用全新线程(无codex-reply); - 匿名失败即关闭——任何审计或修复提议若会用真实标题/数字/URL 替换占位符,工作流停止并上交人工审查;
- 风格参考是引导而非文本来源——
— reference:PDF 或— style:预设只影响视觉权重与结构节奏,绝不复制散文、示例、标题或备注文本; - 最终报告不得在必需审计未通过时自称
conference-ready; reasoning_effort: xhigh在所有 effort 级别下对所有 Codex 调用不变。
Assurance 阶梯(与 effort 轴独立)
/paper-talk接受显式— assurance:参数,默认polished:
| 级别 | 运行的阶段 | 适用场景 |
|---|---|---|
draft | 0 → 1 → 2 → 5 → 6 | 内部练习 talk;快速首版 deck |
polished(默认) | 0 → 1 → 2 → 3 → 5 → 6 | 实验室研讨会、workshop、默认会议演讲 |
conference-ready(或submission) | 0 → 1 → 2 → 3 →4→ 5 → 6 | 顶会 oral / spotlight,幻灯片断言会被审视;或匿名投稿 |
Phase 4(assurance 检查)通过— assurance: conference-ready加入。低级别跳过断言/引用/匿名审计——当内容已在 paper-writing 阶段审计过时这是正确的。
assurance与effort是独立轴:合法组合— effort: lite, assurance: conference-ready意为"快速流水线,但每个审计在最终报告前必须发出 verdict"。这呼应了 skills/shared-references/assurance-contract.md 的轴分离设计——历史上effort被混同为审计严格度,导致effort: beast不保证强制审计运行;现在的契约保证assurance控制"可否静默跳过"。
六阶段执行管线
Phase 0:设置
校验论文目录(ls $PAPER_DIR/main.tex $PAPER_DIR/main.pdf,缺失则暂停);检查前置工具:xelatex/pdflatex/latexmk、soffice(LibreOffice headless,Phase 4 导出完整性检查需要,否则提示手动导出 PDF)、pdfinfo/pdftoppm(poppler,/slides-polishPNG 渲染需要)、Codex MCP 可用性、python-pptx。解析覆盖参数,写.aris/paper-talk/PIPELINE_STATE.json,支持从上次阶段恢复。
Phase 1:幻灯片大纲(Checkpoint)
产出或接受slides/SLIDE_OUTLINE.md,用户签字后才开始建 deck。每张幻灯片必须包含:claim-first 标题(陈述该页观点而非主题)、每页一个主想法、要点内容(句段而非段落)、图表/公式/标注备注、时间预算(秒)、转场提示、演讲者备注种子。Checkpoint 默认暂停等待批准,只有用户显式要求无人值守才设AUTO_PROCEED = true。
Phase 2:构建基线 deck
调用/paper-slides生成 Beamer 源 + PPTX:
/paper-slides "<paper-dir>" — talk_type: <T> — minutes: <N> — venue: <V> — aspect: 16:9 — notes: true/paper-slides(详见 skills/paper-slides/SKILL.md)按 talk 类型决定页数与内容深度:poster-talk3-5 分钟 5-8 页、spotlight5-8 分钟 8-12 页、oral15-20 分钟 15-22 页、invited30-45 分钟 25-40 页;按会议提供配色方案(NeurIPS#8B5CF6、ICML#DC2626、ICLR#059669等)。产物(emit 名称由/paper-slides固定,不可改名,下游阶段绑定这些精确路径):
slides/main.tex+slides/main.pdf(Beamer)slides/presentation.pptx(可编辑 PPTX)slides/speaker_notes.mdslides/TALK_SCRIPT.md(逐字演讲稿 + 时间预算 + 预判 Q&A)
Phase 3:视觉打磨(assurance ≥ polished 时)
assurance == draft时跳过。调用/slides-polish针对新生成的 PPTX,参考视觉优先用用户传入的— reference:,否则用 Beamer 编译slides/main.pdf作参考(同一 talk 的设计意图,是正确锚点):
/slides-polish "slides/presentation.pptx" — reference: slides/main.pdf — style: <preset> — effort: <effort>打磨阶段对内容只读(见硬不变量 4)。/slides-polish(详见 skills/slides-polish/SKILL.md)的要点:
- PPTX 字体缩放提示 1.6×(范围 1.5-1.8×):从 Beamer 磅值映射到 13.33"×7.5" PPTX 磅值;例如 Beamer 11pt 正文 → PPTX 22-24pt,22pt 帧标题 → 40-44pt。实际缩放永远由视觉审查验证,绝不盲目套用;页号永不高于 16pt;
- 先缩放字体再修布局(Phase 3a → 3b):字体放大不调文本框高度会造成标题溢出下渗、长名词短语折行孤悬等典型问题;
- 修复模式目录:横幅要用真正的
tcolorbox(PPTX 里是独立填充矩形而非彩色文本);斜体样式泄漏(\itshape无花括号作用域 → 段落后续 run 全部继承)要用{\itshape ...}包裹;裸 em-dash 常渲染出塌缩空白,用\,---\,或显式空格;中文 EA 字体提示(macOSPingFang SC/ WindowsMicrosoft YaHei),缺省会渲染成豆腐块;图片缩放必须height = width × (image_height_px / image_width_px)防止拉伸;匿名占位符纪律(一律 "Withheld for anonymous review" / "[anonymized]",绝不推断填充真实标题/数字/URL); - 每页循环而非批量:经验证据是每页 Codex 调用 1-2 轮即收敛,而单次批量审查永不收敛。形状选择用唯一前缀
text_frame.text匹配并断言唯一,重复匹配即中止请求消歧。
Phase 4:Assurance 检查(assurance == conference-ready 时)
assurance ∈ {draft, polished}时跳过。/paper-claim-audit与/citation-audit期望"论文形状"的输入(paper/main.tex+paper/sections/*.tex+paper/results/),幻灯片形状不同,因此先staging到合成论文目录再审计:
.aris/paper-talk/audit-input/ ├── main.tex │ # contains: \input{sections/slide_text.tex} │ # \input{sections/notes.tex} │ # \input{sections/script.tex} │ # \bibliography{references} ├── sections/ │ ├── slide_text.tex # 每张幻灯片一个 \section{Slide K — <title>};可见要点、标题、标注文本、页内 \cite{...} │ ├── notes.tex # speaker_notes.md 转 LaTeX,每幻灯片一个 \section │ └── script.tex # TALK_SCRIPT.md 转 LaTeX,每幻灯片一个 \section ├── references.bib → ../../../paper/references.bib # 符号链接(或复制) ├── results/ → ../../../paper/results/ # 符号链接——断言审计需要真实证据 └── figures/ → ../../../paper/figures/ # 符号链接——引用审计可能参考图注- 4.1 幻灯片断言审计:范围是幻灯片文本 + 演讲者备注 + 完整 talk 脚本——演讲常把可见要点里不展示的无依据断言偷偷放进口述部分。输出
slide_claim_audit.json(6-state),去 staging 路径前缀使判定引用 "Slide K" 而非合成论文章节。任何断言的FAIL/BLOCKED把最终判定从conference-ready降为polished; - 4.2 引用审计:通过 DBLP / CrossRef 校验幻灯片 + 备注 + 脚本中的所有
\cite{...},标记虚构条目; - 4.3 匿名扫描(匿名投稿会议或传了
— anonymous):扫描真实论文标题(占位符处)、真实作者名、真实投稿数、可去匿名的真实 URL。任何FAIL(真实内容泄漏)阻止conference-ready。
staging 的"论文"仅在 Phase 4 期间存在,Phase 6 移除(除非传— keep-audit-input)。
Phase 5:最终导出 + 完整性
FINAL_PPTX=slides/presentation_polished.pptx(若 Phase 3 运行)否则slides/presentation.pptx(draft)。然后:干净重编译 Beamer 并确认页数匹配大纲;soffice --headless --convert-to pdf渲染最终 PPTX;导出完整性检查(export_integrity.json):PPTX-PDF 页数 == Beamer-PDF 页数、宽高比 == 声明的 16:9、无全空白页、备注完整(sha256 对比presentation_pre_polish.pptx)、字体适合投影仪(中文用 PingFang SC 等 EA 字体提示)。任一失败 → 降级最终判定。
Phase 6:最终报告
写.aris/paper-talk/FINAL_REPORT.md:判定(draft/polished/conference-ready,审计失败则降级)、产物路径、页数与时间预算、逐审计摘要、未解决的 Codex 打磨意见、下一步建议(如"第 N 页放入真实二维码图"、"预演确认 25 分钟预算")。
conference-ready终判要求:Phase 0-5 无暂停完成;所有 Phase 4 审计 JSON 返回PASS(或检测器未命中的NOT_APPLICABLE);Phase 5 导出完整性PASS;匿名投稿声明时无匿名扫描FAIL。否则报告发出最高可达级别并逐条列出未授予conference-ready的原因,引用具体审计 JSON 与失败判定行。
独立幻灯片 / 海报工具
只想拿产物不想走全编排时,/paper-slides "paper/"和/paper-poster-html "paper/"可以不经/paper-talk直接使用。effort 级别通过参数下传(lite只修 BLOCKERS;max每页审查;beast第二轮打磨),但reasoning_effort: xhigh在所有级别不变。
两条流水线的共性工程原则
纵观 docs/RESUBMIT_AND_TALK.md 及其底层技能实现,两条后期工作流共享一组可复用的工程原则,这正是 ARIS "no framework, no lock-in" 定位的体现:
- 原稿只读 + 版本化输出:重投的兄弟目录、talk 的
_pre_polish/_polished版本化副本,本质是同一个"绝不覆盖先前状态"的不变量; - assurance 与 effort 轴分离:
assurance决定审计是否带门控(verdict-required vs silent-skip-allowed),effort只决定深度与成本,见 skills/shared-references/assurance-contract.md; - 审计 verdict 统一为 6-state schema(
PASS / WARN / FAIL / NOT_APPLICABLE / BLOCKED / ERROR),产物可被verify_paper_audits.sh校验,运行可取证复现; - 跨模型评审独立:所有 reviewer 调用使用全新
mcp__codex__codex线程,禁止codex-reply携带上下文,杜绝确认偏误导致的分数虚高; - 人工 checkpoint 优先于自动继续:默认
AUTO_PROCEED = false,关键节点(大纲、逐轮 diff、升级队列、页数收缩)都暂停征求用户决策并记录到账本。
需要说明的适用前提:两条流水线都依赖 Codex MCP(默认 reviewer 模型gpt-6-astra,reasoningxhigh/ultra),运行前需确认技能版本中--edit-whitelist、--soft-only等参数与当前 skills 目录中的 SKILL.md 一致;paper-talk的打磨与完整性检查依赖 LibreOffice、poppler、python-pptx 等本地工具链。以当前仓库内容为准,这些流水线的定位是编排既有的审计与生成原语,而不是引入新的评审模型或实验机制——这让"重投"与"演讲"两个后期环节能够复用全套证据与断言保障栈。
【免费下载链接】Auto-claude-code-research-in-sleepARIS ⚔️ (Auto-Research-In-Sleep) — Lightweight Markdown-only skills for autonomous ML research: cross-model review loops, idea discovery, and experiment automation. No framework, no lock-in — works with Claude Code, Codex, OpenClaw, or any LLM agent.项目地址: https://gitcode.com/gh_mirrors/au/Auto-claude-code-research-in-sleep
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考