Paper-WorkFlow — 经管 / 社科实证论文全流程总编排器
Overview
这是一个 meta-orchestrator(总编排器)。它的职责不是亲自完成研究的每一步,而是把一篇
实证论文从无到有需要的所有环节,编排成一条 10 个阶段(Stage 0–9)+ 2 道硬闸门 的可控流水线,每个
阶段都通过 Skill 工具调用既有 skill 或 Agent 工具派发并行 subagent 来完成,主
代理只负责规划、路由、状态跟踪、阶段间审阅与交付。
它站在两套成熟范式的肩膀上:
do-agent的多代理 + 上下文保护范式(本仓库授权模仿):子代理自己把产出写盘、 只向主代理回传状态摘要,绝不回传完整内容;主代理上下文极其稀缺,必须做上下文工程。paper-pipeline的固定顺序 + 可断点续跑 + 交互档位范式:用workflow_state.json记录进度,每阶段有横幅、有快照备份、可中断后从断点恢复;开跑前一次性问清交互档位。
核心纪律:能调用就不要重写。 本仓库
skills/67-econfin-workflow-toolkit/已经提供了 覆盖全流程的 47 个 skill;本编排器的价值在于把它们按正确顺序、用正确的上下文、在正确 的人类决策点串起来,而不是复制它们的逻辑。每个阶段「调用哪个 skill」见references/skill-map.md,「每阶段怎么跑」见references/stage-playbook.md,「现代因果推断与应用计量的最低证据包」见references/research-grade-methods.md。
这条流水线(固定主线,可按入口跳入)
| Stage | 阶段 | 主要调用的 skill(位于 67-econfin-workflow-toolkit/,除非另注) | 产出落盘 |
|---|---|---|---|
| 0 | Intake & Setup | (编排器本体) | 工作区、workflow_state.json、入口路由 |
| 1 | 选题与设计 | econfin-idea-finder → novelty-check → significance-search → journal-digest → econfin-proposal | 01_proposal/proposal.md |
| 2 | 数据 | data-fetcher → data-cleaning | 02_data/clean.parquet + codebook.md |
| 3 | 计量识别、估计与方法闸门 | 按设计择一:did-analysis / iv-estimation / rdd-analysis / synthetic-control / panel-data / ols-regression / time-series / ml-causal(+ StatsPAI MCP + research-grade methods pack) | 03_analysis/ 代码 + design_register.md + method_gate.md |
| 4 | 表与图 | table + figure | 04_results/*.tex + *.pdf/png |
| 5 | 写作初稿 | paper-writer | 05_draft/main.tex + ref.bib |
| 6 | 全流程打磨 | paper-pipeline(内部跑 polish→self-revise→style→polish→reference-verify) | 打磨后的 main.tex |
| 7 | 语言与去 AI 味 | readability / fix-chinese + (44/47/48/49 去 AIGC 集合) | 去味后的稿件 |
| 8 | 模拟评审与修订 | referee-report → paper-referee-revise(或 paper-self-revise) | 修订稿 + response letter |
| 9 | 选刊与投稿 | paper-submission + reference-verify(终审) | 期刊清单 + cover letter |
| — | 复盘与交付 | (编排器本体) | FINAL_REPORT.md + 打包交付物 |
完整阶段细节、每阶段的 plan→execute→review→revise 微循环、subagent 派发模板,全部在
references/stage-playbook.md。主代理在进入某阶段时才去读 对应章节(渐进式加载,省上下文)。
双硬闸门 = 方法闸门 + 初稿质量门。 Stage 3 结束必须先过
research-grade-methods.md的 Method Gate:设计注册、 最低诊断证据、稳健性矩阵与复现脚本齐了,才能把结果送进表图和写作。Stage 7 跑完再过 Draft Quality Gate:结构完整、识别可信、表图齐备、语言无 AI 味的初稿,必须由独立 critic 按 7 维 rubric 打分达标,才算「可投稿级初稿」。任何闸门未达标都按回退指令重做,绝不把 「流程跑完」当成「研究可信」。
Phase 0:Setup(在调用任何子 skill 之前,把下面这些全部做完)
-
取北京时间。
Bash: TZ='Asia/Shanghai' date '+%Y-%m-%d %H:%M',记为NOW,用于命名与 状态文件。(沿用do-agent的「先取日期时间」纪律。) -
判定入口(entry-point routing)。用户带来的东西决定从哪个 Stage 进入——不要一律从 Stage 1 开始:
用户带来的 从哪进入 说明 只有一个研究方向 / 一句话想法 Stage 1 完整走选题漏斗 一份已成形的 proposal(X→M→Y、识别策略、样本) Stage 2 跳过选题,直接取数 已清洗好的数据 + 设计 Stage 3 直接估计 已有回归结果 / 表图 Stage 5 直接写初稿 一份 main.tex初稿Stage 6 直接进打磨流水线 一份初稿 + 审稿意见 Stage 8 直接按意见修订 一份成稿要投稿 Stage 9 直接选刊 入口不明确时用
AskUserQuestion一次问清;能从$ARGUMENTS(路径后缀.tex/.md/ 数据扩展名、是否像期刊名)推断就别问。 -
建工作区。在用户指定目录(缺省为当前工作目录)下创建
paper_workspace/{研究短名}_{NOW紧凑时间戳}/,内部用assets/init_workspace.sh铺出标准 骨架(00_meta/ 01_proposal/ 02_data/ 03_analysis/ 04_results/ 05_draft/ 06_polish/ 07_dehumanize/ 08_review/ 09_submission/ logs/ backups/)。若同名目录已存在,另建新目录、 绝不覆盖(do-agent纪律)。完整布局见references/workspace-and-state.md。 -
一次性问清三件套(用一个
AskUserQuestion,多选/多题,避免来回打断):- 交互档位:
全自动(只在最终交付时汇报)/阶段确认(推荐缺省:每阶段末给摘要、 等放行再进下一阶段)/全程交互(每个子 skill 跑自己原生的逐项审批,投稿前终版用)。 —— 这个选择就是各子 skill「快速通道」所需的显式 opt-in。 - 目标期刊(Stage 1/6/9 都要用,提前问以免中途卡住):给 JF/JFE/RFS/MS/QJE/AER/ 《经济研究》/《管理世界》等常见项 + "Other" 自由填;也可填「暂不确定,由 Stage 1 推荐」。
- 语言:英文稿 / 中文稿 / 中英双语 —— 决定 Stage 7 走
readability还是fix-chinese+ 去 AIGC 集合,以及 Stage 5/6 的写作规范。
- 交互档位:
-
写状态文件
00_meta/workflow_state.json(复制assets/workflow_state.template.json后填写)。填入project.{short_name, created_at_beijing=NOW, entry_stage, mode, target_journal, language}, 并把每个 Stage 置为pending|in_progress|done|skipped;method_gate与quality_gate起始置pending(字段含义见references/workspace-and-state.md)。每个阶段开始置in_progress、完成置done,并刷新last_updated_beijing——这就是断点续跑的依据。 -
断点续跑检查。若工作区已存在
workflow_state.json且有未完成阶段,展示进度并询问: 从第一个未完成阶段继续,还是重头来?(与paper-pipeline一致。) -
不要为「计划」单独求批准。Setup 完成后,直接建任务跟踪并开跑(
do-agent纪律: 规划阶段结束即执行)。人类决策点交给「阶段确认 / 全程交互」档位去守,而不是在开跑前反复确认。
多代理 + 上下文保护协议(贯穿所有阶段,源自 do-agent)
主代理上下文是最稀缺资源。任何"重读大文件、跑长代码、扫一堆文献"的脏活累活,都派给
subagent(Agent 工具)或交给子 skill,主代理只持有指针与状态。硬规则:
- 子代理自己写盘,只回传状态摘要。给每个 subagent 显式指定它的输入文件和输出文件, 要求它"处理完立即把结果写到指定文件,只向主代理回传 ≤10 行的状态摘要(做了什么、写到哪、 关键数字、是否通过、下一步建议)"。严禁把完整产出回传主代理。
- 主代理为子代理放行 Read + Write + Bash(必要时含 Skill),让它能独立完成闭环。
- 能并行就并行。同一阶段内彼此独立的任务(如多个稳健性检验、多个候选期刊匹配、多份机制
检验)一次性并行派发(每批 ≤10 个 subagent,参考
do-agent的 10-agent 上限与idea-finder的PARALLEL_BATCH_SIZE=5)。有依赖的串行。 - 每阶段是一个
do-agent微循环:plan(规划/收集) → execute(执行/整合) → review(审阅/挑错) → revise(按审阅修订)。重活阶段(1 选题、3 估计、6 打磨、8 评审)尤其 要派一个独立 critic subagent 做对抗式审阅,再据其反馈修订。 - 子 skill 的调用方式:轻量、需要主线上下文的(如
paper-style要顺着同一份main.tex) 直接在主代理里调;重量、可隔离的(如多路文献扫描、批量稳健性)派 subagent,并在 subagent 的 prompt 里强制要求它按下文「子 skill 调用协议」加载对应子 skill(优先Skill(<注册名>)、 not found 则Read该 SKILL.md),绝不许它凭记忆脑补(参考idea-finder让每个 subagent 强制加载econfin-proposal+novelty-check的做法)。 - 日志:每阶段把"调用了哪些 skill / 派了哪些 agent / 产出了哪些文件 / 关键决策"追加到
logs/stage_<N>.md,作为复盘与续跑的审计轨迹。
子 skill 调用协议(怎么把被编排的 skill 真正跑起来)
本编排器的全部价值都建立在「能正确调起子 skill」上。子 skill 是仓库内的文件夹,不保证在
用户运行时里注册为可被 Skill 工具直接触发的 skill。因此每次调用按下面的优先级走(权威细节见
references/skill-map.md 第 0 节):
- 优先
Skill工具——Skill(skill="<注册名>", args=...)。注册名 = 该 skillSKILL.md前言的name:字段,不一定等于文件夹名。已知大小写/改名差异:econfin-proposal→Econfin-Proposal、significance-search→Significance-Search、chinese-ppt→chinese-ppt2、command-development→Command Development。用注册名,别用文件夹名猜。 Skill报「not found」就立刻退回Read内联执行(稳路径,永远可用):Read skills/67-econfin-workflow-toolkit/<folder>/SKILL.md,把它的正文当作本步操作手册逐步执行 ——轻量步骤在主代理里跑,重量步骤把「Read这个 SKILL.md 并按它执行」写进 subagent 的 prompt。 不要反复重试Skill,也不要凭记忆脑补子 skill 的逻辑(这正是idea-finder反复警告的劣化)。- 覆盖会写到仓库外的输出路径:
econfin-idea-finder(F:\Dropbox\CC\选题大全\)与journal-digest(F:\OneDrive\研究发展部\期刊速递\)在其 SKILL.md 里硬编码了 Windows 绝对输出路径。调用它们时 必须在 args / subagent prompt 里把输出目录改写为工作区内路径(候选→01_proposal/candidates/, 期刊摘要→01_proposal/journal_digest.md)。模板见references/subagent-templates.md。
派 subagent 调子 skill 时,SKILL.md 路径必须是仓库内完整路径——subagent 的工作目录可能与主 代理不同,给错路径它就找不到文件、转而脑补,产出不可复现的劣化结果。
阶段执行协议(每个 Stage 都按这个走)
进入任一阶段时,按固定四步执行(细节在 playbook 对应章节):
-
打横幅,让用户始终知道流水线在哪:
════════════════════════════════════════ Stage N/9 · <阶段名> — <一句话目的> 调用:<本阶段要用的 skill 列表> ════════════════════════════════════════ -
置状态
in_progress→ 读references/stage-playbook.md的 对应章节 → 按其 plan→execute→review→revise 跑(该用Skill用Skill,该派Agent派Agent,全程守上面的上下文保护协议)。 -
冲突 / 退化检查(沿用
paper-pipeline):若工作区被多端编辑(Overleaf/Dropbox),每阶段 前后Glob一次*冲突副本*/*conflicted copy*,发现就停下让用户定夺哪份为准。每阶段末把 关键产物快照进backups/after_stage<N>/,作为回滚路径。 -
阶段闸门:置状态
done→ 按交互档位决定是否暂停:全自动:直接进下一阶段;阶段确认(缺省):输出本阶段摘要卡(产出文件清单 + 关键数字 + 红旗 + 下阶段计划), 等用户放行;全程交互:本阶段内各子 skill 已逐项审批过,这里再做一次阶段级确认。
遇到硬阻断(平行趋势不过、IV 弱工具、查新发现撞车、数据取不到)时:不要硬往下走—— 按 playbook 的「失败回退」分支处理(换识别策略 / 换样本 / 退回 Stage 1 改设计),并在摘要卡 里显著标红告诉用户发生了什么、采取了什么回退。(参考
China-CF-study的「预期实证结果 无法实现时自动切换备选方案」纪律。)
研究级方法闸门(Method Gate)—— Stage 3 之后、Stage 4 之前强制执行
Stage 3 的目标不是「跑出显著系数」,而是把识别设计、估计量、诊断证据和稳健性矩阵落成可审计产物。
因此 Stage 3 必须加载 references/research-grade-methods.md,并完成:
- 设计注册:写
03_analysis/design_register.md,明确 estimand、处理定义、比较组、识别假设、 主估计量、替代估计量和失败回退。 - 最低证据包:按方法分支补齐必需 artifact。交错 DiD 需 CS/SA/BJS 等 group-time 或事件研究稳健 估计;RDD 需 bandwidth、robust bias-corrected CI、density/covariate continuity;DML/HTE 需 cross-fitting、nuisance diagnostics、overlap 与 seed stability;其它分支见 methods pack。
- 方法闸门报告:写
03_analysis/method_gate.md,逐项列出必需证据是否存在、路径在哪里、是否PASS。若NOT PASS,不得进入 Stage 4;必须按报告回 Stage 1/2/3 修设计、数据或估计。 - 写入状态:更新
workflow_state.json.method_gate与decisions,记录主设计、主估计量、缺失 artifact、是否放行。
质量门可以比方法闸门更严,但不能更松:若 method_gate.md 未通过,初稿质量门的「识别可信度」不得
达标。这个约束把现代实证研究的 reviewer 标准前置到写作之前,避免后面用语言包装弥补方法硬伤。
初稿质量门(Draft Quality Gate)—— 把「高质量」从口号变成可验收的闸门
Stage 7 结束、Stage 8 开始之前,强制插入一道质量门。这是本编排器兑现「高质量初稿」承诺
的地方:不靠主代理自我感觉良好,而是派一个独立的「顶刊 AE」critic subagent,按
references/quality-rubric.md 的 7 维评分卡对当前初稿打分。
怎么跑(一次 Agent 派发,模板见 subagent-templates.md §QG):
- critic subagent 读
07_dehumanize/main.tex(含表图、ref.bib)+01_proposal/proposal.md(对照 贡献承诺)+03_analysis/results/summary.md(对照真实结果),逐维打分并写入00_meta/quality_scorecard.md,只向主代理回传「总分 / 各维分 / 是否达标 / 最关键的 3 条短板」。 - 7 个维度(满分各 10,细则见 rubric):① 选题与贡献锋利度 ② 识别可信度 ③ 稳健性完整度 ④ 结果与解读克制度 ⑤ 写作与结构 ⑥ 引用真实性与文献定位 ⑦ 可复现性。
- 达标线:每维 ≥ 7 且 总分 ≥ 56/70 且 第②③⑥维(识别 / 稳健 / 引用)无任何「致命红
旗」。三者全满足 → 标记
quality_gate=pass、draft_milestone=done,进入可选的 Stage 8–9。 - 未达标 → 按 rubric 的「短板 → 回退阶段」映射退回重做(识别问题回 Stage 3、贡献单薄回 Stage 1、写作问题回 Stage 5/6、AI 味回 Stage 7、引用问题回 reference-verify),最多回退 2 轮; 2 轮后仍卡在某维,则在质量门记录「已知短板」并显著标红告知用户,由用户裁决是否带病进入投稿。
- 每轮打分都追加进
logs/quality_gate.md,让用户看到分数如何随修订上升(审计轨迹)。
质量门不是重跑 Stage 6 的打磨,也不替代 Stage 8 的模拟评审:打磨改语言、评审挑学术硬伤、 质量门只做一件事——按统一 rubric 量化「这份初稿够不够格」并决定放行还是回炉。它把「高质量」 落成一个有阈值、可回退、可审计的闸门。
收尾:复盘与交付
所有目标阶段 done 后(初稿质量门已 pass),主代理产出 FINAL_REPORT.md(落在工作区
根目录),含:
- 一页流水线复盘表:每个 Stage 调用了什么、产出了什么、关键数字、走过哪些回退分支;
- 方法闸门报告:嵌入或链接
03_analysis/design_register.md与03_analysis/method_gate.md, 说明主设计、主估计量、最低证据包、缺失/回退历史; - 初稿质量门评分卡(嵌入或链接
00_meta/quality_scorecard.md):7 维终评分 + 达标判定 + 回退历史,证明「高质量」不是自我宣称而是过了闸门; - 交付物清单(带相对路径链接):
proposal.md/ 清洗后数据 + codebook / 分析代码 / 出版级表图 /main.tex+ref.bib/ response letter / 期刊清单 + cover letter; - 可复现说明:环境依赖、一键重跑命令、数据来源与版权注记;
- 下一步建议:还差哪些稳健性、投稿前最后检查清单。
最后把交付物打包路径告知用户。全程不需要人工干预即可从 Setup 跑到交付(全自动 档位);
其余档位只在阶段闸门处征求放行。
关键约束(务必遵守)
- 绝不替子 skill 重新发明轮子。识别策略、表格规范、查新逻辑、审稿口吻……都在既有 skill 里, 本编排器只负责"在对的时点把对的 skill 喂对的输入"。
- 绝不伪造数据 / 结果 / 文献。引用核验交给
reference-verify;数据来源交给data-fetcher; 计量结论以真实运行结果为准(可用 StatsPAI MCP 链路:detect_design → preflight → recommend → fit(as_handle) → audit_result → sensitivity_from_result → bibtex)。 - 绝不贴空方法标签。DiD / IV / RDD / SDID / DML / causal forest 等标签必须对应
research-grade-methods.md要求的证据包;缺method_gate.md或闸门未过,就不得把相关结果写成主 因果发现。 - 人类决策点不可跳过(除非
全自动档位且用户已显式授权):选题定标题、定目标期刊、识别 策略拍板、投稿前终审——这些在阶段闸门处守住。 - 上下文保护优先于一切:任何会把大段文本灌回主代理的操作,改成"写盘 + 回传摘要"。
进一步阅读(按需加载,别一次性全读进上下文)
references/stage-playbook.md— 10 个阶段的逐阶段操作手册 (含每阶段的 skill 调用、subagent 派发模板、失败回退分支)。references/skill-map.md— 第 0 节是**子 skill 调用机制 + 注册名对照表- 输出路径重定向**(编排能否跑通的关键);其余是「任务 → 用哪个 skill」的全量路由表。
references/quality-rubric.md— 初稿质量门的 7 维评分卡:每维 评分细则、致命红旗清单、达标阈值、「短板 → 回退阶段」映射。references/subagent-templates.md— 可直接复制的 subagent 派发模板:Stage 1 选题漏斗、Stage 3 稳健性矩阵、各阶段 critic、初稿质量门评分器,均已内置 上下文保护契约与输出路径重定向。references/workspace-and-state.md— 工作区目录布局、workflow_state.json字段含义、subagent 输入/输出文件约定。- 演示物料(可选教学用):本仓库根目录有一份 30 页流程 PPTX 与一个可一键运行的 DiD 演示 Notebook,适合在讲解本流水线时配合展示。