关于 alterlab-workflow-orchestration
该技能介绍如何借助 Claude Code 和 Claude Agent SDK,将 AlterLab 技能组合成多 Agent 学术工作流。它提供编排模式和可复用的委派提示词,本身不执行研究、写作或评审。
主要功能
- 01组合并行与顺序工作流
- 02设置独立评审小组
- 03使用对抗式验证模式
- 04创建有界评审循环
- 05应用 Claude Agent SDK 编排
适用场景
- 01并行核查多份参考文献表
- 02串联研究、引文核查与评审
- 03对同一篇稿件进行独立评议
- 04迭代修改直至通过质量门槛
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-workflow-orchestration安装后在 Claude Code 中输入/alterlab-workflow-orchestration确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/claude-orchestration-primitives.mdcomposition-recipes.md详细介绍
工作流编排 — 将 AlterLab 技能组合成多 Agent 工作流
此技能是编排层。它本身不做研究、写作或审阅,而是讲解如何将相关技能串联起来,利用 Claude Code 原生子 Agent 机制和 Claude Agent SDK 构建 Agent 工作流。选择一种模式,将其应用于实际的 AlterLab 技能,然后复制委派提示词。
下面五种模式是学术工作中最有效的结构:扇出式并行调查、顺序流水线、评审团、对抗式验证和循环直至通过的评审周期。每种模式都以现有文档为依据(已验证的原语见 references/claude-orchestration-primitives.md,包含可直接复制提示词的完整示例见 references/composition-recipes.md)。
何时使用此技能
当用户想要以下操作时,使用此技能:
- 对相互独立的输入同时运行多个 AlterLab 技能(例如,核查 4 份参考书目,或并行研究 3 个子问题),然后合并结果
- 将技能串联成由各阶段依次交接的流水线
- 从多个独立视角审视同一产物(评审团)
- 对输出进行对抗式验证——一个 Agent 负责生成,另一个全新的 Agent 尝试找出其中的问题
- 反复执行循环,直至通过质量门槛(例如,持续复审,直到没有未解决的意见)
- 充分了解 Claude Code 子 Agent、Agent 团队、分叉或 Agent SDK,以便自行编写学术编排方案
不适用情形
| 情形 | 改用 |
|---|---|
| 用户希望为其运行完整的研究→写作→评审流水线 | alterlab-research-pipeline(它已经编排了 9 阶段流程) |
| 用户希望开展原创研究/撰写有引用依据的报告 | alterlab-deep-research |
| 用户希望对一篇稿件进行同行评审 | alterlab-paper-reviewer 或 alterlab-peer-review |
| 用户希望核查引用是否真实存在 | alterlab-citation-verifier |
| 用户希望运行 AlterLab 已打包的某种工作流(引用审计、评审团、PRISMA 筛选、答辩回应、资助评审团、文献地图) | alterlab-research-workflows |
| 用户询问 Claude API 定价/模型 ID/SDK 计费 | claude-api 技能 |
此技能讲解的是如何组合;列出的技能则是组合对象。如果已有某项技能能独立完成整项任务,就应优先使用它。
已验证的编排原语(Claude Code + Agent SDK)
已于 2026-09-23 根据 code.claude.com/docs 验证(Claude Code v2.1.280)。引用、字段表和版本限制请参见
references/claude-orchestration-primitives.md。
- 子 Agent 是 Markdown + YAML 文件,位于
.claude/agents/(项目级)、~/.claude/agents/(用户级)或插件的 agents 目录中。只有name和description是 必填项;工具允许列表字段为tools(逗号分隔或 YAML 列表),model接受sonnet/opus/haiku/fable/完整 ID/inherit。每个子 Agent 都在 自己的上下文窗口中运行,且只返回摘要。Claude 会根据任务与description的匹配情况自动委派。 - 子 Agent 可以嵌套——默认最多嵌套到主对话以下三层
(
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH;设为1会关闭嵌套)。审核者可以 为每项发现分派一名验证者。若要阻止子 Agent 派生其他 Agent,请从其tools中 移除Agent。内置 Agent:Explore 和 Plan(只读,继承主模型)、 general-purpose(所有工具)。 - Fork 模式在交互会话中默认开启:Claude 可以派生一个
fork,它会继承整个对话 (以及其提示词缓存),子 Agent 则在后台运行。使用/subtask手动启动。 - 动态工作流将计划移至由运行时执行的 JavaScript 脚本中:
agent()、parallel()、pipeline()、phase()、args;输出使用 JSON Schema, 中间结果保存在脚本变量中,而非 Claude 的上下文中。每次运行可使用数十到数百个 Agent; 支持恢复;可保存到.claude/workflows/,或放在插件的workflows/文件夹中, 并通过/<name>或/<plugin>:<name>运行。 - Agent 团队(实验性功能,仅限交互会话,需设置
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1):队友拥有独立的上下文、共享任务列表,并能 彼此直接发消息——适用于持续进行的对抗性辩论。Token 成本更高。 - Claude Agent SDK(Python
claude-agent-sdk、TypeScript@anthropic-ai/claude-agent-sdk)通过query(...)以编程方式封装相同的 Agent 循环; 使用agents选项(AgentDefinition)定义子 Agent,并通过session_id恢复。 可用它在 CI 或批处理作业中编写下方模式的脚本。
现成版本。 alterlab-workflows 插件提供了这些模式的可运行动态工作流(详见
alterlab-research-workflows):扇出 + 对抗性验证 → citation-audit;评审小组 →
review-panel 和 grant-mock-panel;对抗性验证 → claim-stress-test;双路独立编码并
裁定 → systematic-review-screening。从头编写新工作流前,请先改编其中一个。
五种模式
1. 并行扇出(map)
当 N 个输入相互独立时,为每个输入派发一个工作者,然后合并结果。典型的学术用途: 同时核验多份参考文献,或并行研究不同的子问题。
I have 4 reference lists (one per chapter). Verify them in parallel using
separate subagents — each subagent runs the alterlab-citation-verifier skill
on one list — then merge the per-entry verdicts into one table flagging every
TF/IH/SH problem across all four chapters.
为何使用子 Agent:每次核验都会因 API 查询而充斥上下文,而这些内容之后不会再用;
将每项核验隔离在各自的窗口中,可使主对话保持整洁。适用于各路径之间不存在依赖关系的情况
(文档中提到的并行研究条件)。请参见 references/composition-recipes.md 中的配方 P1。
2. 顺序流水线(chain)
前一阶段的输出会传递给下一阶段。典型的学术链路——研究 →
撰写 → 完整性检查 → 审核 → 修订——已打包为
alterlab-research-pipeline;优先使用该技能,而非重新构建。
当你需要它未涵盖的自定义链路时,可使用此模式,例如
对外部提供的草稿依次进行深入研究 → 引用核验 → 同行评审。
Use the alterlab-deep-research skill to produce a lit-review synthesis on X,
then chain its bibliography into alterlab-citation-verifier to existence-check
every entry, then pass the verified draft to alterlab-peer-review for a
section-by-section critique. Carry forward only each stage's summary.
请参见 references/composition-recipes.md 中的配方 P2。
3. 评审小组(独立、多视角)
多位独立评审者分别从不同角度审查同一份材料,然后由综合者协调各方意见。alterlab-paper-reviewer 已在内部模拟了一个由 5 位评审者组成的小组;当你希望评审者是真正独立的 Agent(使用独立上下文、互不影响)时,可以采用这种模式——例如,方法论评审者、领域评审者和可复现性评审者,彼此不应受对方观点影响。
Spawn three independent reviewer subagents on this manuscript: one on
methodology, one on domain contribution, one on reproducibility/statistics.
Each works from the paper alone and reports independently; then synthesize a
single editorial decision noting where they agree and disagree.
独立性才是关键——在同一上下文中运行会让第一个意见影响其余意见。请参阅 references/composition-recipes.md 中的配方 P3。
4. 对抗式验证(产出 → 反驳)
一个 Agent 提出主张或结果;另一个全新的 Agent 专门负责证伪。这是最能维护研究诚信的模式。文档中关于竞争性假设的 Agent 团队示例就是参考实现:队友会“相互交流,试图证伪彼此的理论,就像一场科学辩论”。
Take the three headline claims in my draft. For each, spawn a skeptic subagent
whose only job is to find disconfirming evidence and check the supporting
citation actually supports the claim (via alterlab-citation-verifier). Report
any claim that survives and any that breaks.
如果要持续辩论,让质疑者相互质疑,请升级为 Agent 团队(使用上面的环境变量)。请参阅 references/composition-recipes.md 中的配方 P4。
5. 循环直至通过(验证 → 修复 → 重复)
反复执行修复和复查,直到通过质量门槛,并设置轮次上限以确保流程终止。学术用途:反复修改并复审,直至评审者意见全部解决;或反复验证、修复和重新验证,直至参考文献 100% 可解析。
Run a revision loop: alterlab-paper-reviewer produces comments; revise the
draft to address them; re-review only the previously-flagged items; repeat
until no unresolved comments remain or after at most 3 rounds, then stop and
report the residual issues.
务必设置明确的停止条件和最大迭代次数——无限循环会消耗上下文和令牌。作为动态工作流,循环逻辑写在脚本中:
export const meta = { name: 'revise-until-clean', description: 'Review, revise, re-review until no unresolved comments or 3 rounds' }
let open = []
for (let round = 1; round <= 3; round++) {
const review = await agent(`Review draft.md (round ${round}); list unresolved comments only.`,
{ schema: { type: 'object', required: ['comments'], properties: { comments: { type: 'array', items: { type: 'string' } } } } })
if (!review) break // agent() returns null if the run is stopped or the agent fails
open = review.comments
if (!open.length) break
await agent(`Revise draft.md to resolve exactly these comments: ${JSON.stringify(open)}`)
}
return { unresolved: open }
请参阅 references/composition-recipes.md 中的配方 P5。
选择机制
| 需求 | 机制 | 原因 |
|---|---|---|
| 隔离冗长输出,只获取摘要 | 子 Agent | 使用独立的上下文窗口;仅返回摘要 |
| 独立调查,互不交流 | 并行子 Agent | 各自独立探索;由主 Agent 综合结果 |
| 需要完整当前上下文的辅助任务 | 分叉(/fork) | 继承对话;复用提示词缓存 |
| 工作人员必须相互辩论或质疑 | Agent 团队(实验性) | 共享任务列表 + 直接消息传递 |
| 需要数十个以上工作人员、投票,或希望重复运行固定循环 | 动态工作流 | 脚本保存计划;结果不会进入上下文;可恢复运行 |
| 工作人员的任务本身可拆分为并行子任务 | 嵌套子 Agent | 评审者为每项发现分派一位验证者(默认深度 ≤ 3) |
| 在 CI / 批处理中编写工作流脚本 | Agent SDK | 以编程方式使用 query() + agents 选项 |
| 已有打包好的完整流程 | 现有技能 | 不要重新构建 alterlab-research-pipeline |
根据脆弱程度匹配自由度:开放式探索使用自然语言提示;脆弱的多步骤流程则使用明确、有序的指令和停止条件。
资源
references/claude-orchestration-primitives.md— 已验证的 Claude Code 子 Agent、Agent 团队、分叉和 Agent SDK 基础机制,包含字段表格和摘自文档的引文(需要确切的 frontmatter 字段、环境变量或版本限制时加载)references/composition-recipes.md— 五个完整的实践配方(P1–P5),将每种模式映射到实际的 AlterLab 技能,并提供可复制的委派提示、子 Agent 定义的 frontmatter,以及 Python Agent SDKquery()示例(需要完整、可直接运行的组合方案时加载)