alterlab-workflow-orchestration について
Claude CodeとClaude Agent SDKを使い、AlterLabのスキルを複数エージェントの学術ワークフローに組み込む方法を示すスキルです。編成パターンと再利用可能な委任プロンプトを提供し、研究・執筆・査読自体は行いません。
主な機能
- 01並列・逐次ワークフローの構成
- 02独立した査読パネルの設定
- 03敵対的検証パターンの活用
- 04回数制限付きレビュー循環の作成
- 05Claude 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 スキルを組み合わせてマルチエージェントワークフローを構成する
このスキルはオーケストレーション層です。調査、執筆、レビューを自ら行うのではなく、Claude Code のネイティブなサブエージェント機能と Claude Agent SDK を使って、それらを行うスキルをエージェント型ワークフローにどう組み込むかを説明します。パターンを選び、実際の AlterLab スキルを指定して、委任プロンプトをコピーしてください。
以下の 5 つのパターンは、学術研究における効果の高い構成です。並列で調査を分担するファンアウト、逐次パイプライン、審査員パネル、敵対的検証、そして問題がなくなるまで繰り返すレビューサイクルです。いずれも最新のドキュメントに基づいています(検証済みのプリミティブについては references/claude-orchestration-primitives.md を、コピー可能なプロンプト付きの詳しい手順については references/composition-recipes.md を参照してください)。
このスキルを使う場面
ユーザーが次のことを希望する場合に、このスキルを使います。
- 独立した入力に対して複数の AlterLab スキルを同時に実行し(例:4 件の参考文献リストを検証する、または 3 つのサブ質問を並列で調査する)、結果を統合する
- スキルを連結して、各段階から次の段階へ引き継ぐパイプラインを作成する
- 1 つの成果物について複数の独立した視点(審査員/レビュー担当者のパネル)を得る
- 敵対的に出力を検証する。一方のエージェントが作成し、新しいエージェントがそれを崩そうとする
- 品質ゲートを通過するまでループを繰り返す(例:未解決のコメントがゼロになるまで再レビューする)
- 独自の学術オーケストレーションを作成できる程度に、Claude Code のサブエージェント、エージェントチーム、フォーク、または Agent SDK について理解する
該当しない場合
| シナリオ | 代わりに使うもの |
|---|---|
| ユーザーが調査→執筆→レビューの全パイプラインを実行してほしい | alterlab-research-pipeline(すでに 9 段階のフローをオーケストレーションします) |
| ユーザーが独自の調査や引用付きレポートを希望する | alterlab-deep-research |
| ユーザーが 1 本の原稿を査読してほしい | 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 を参照してください。
- サブエージェントは、
.claude/agents/(プロジェクト)、~/.claude/agents/(ユーザー)、またはプラグインの agents に置く Markdown + YAML ファイルです。必須なのはnameとdescriptionのみです。ツールの許可リストフィールドはtools(カンマ区切り、または YAML リスト)で、modelはsonnet/opus/haiku/fable/完全な ID/inheritを指定できます。各サブエージェントは独自のコンテキストウィンドウで実行され、要約のみを返します。Claude はタスクとdescriptionを照合して自動的に委任します。 - サブエージェントは入れ子にできます。デフォルトではメイン会話の下に最大 3 層まで作成できます(
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH。1にすると入れ子を無効にします)。レビュー担当は、指摘ごとに検証担当を 1 つずつ割り当てられます。サブエージェントが新たなエージェントを起動できないようにするには、toolsからAgentを除外します。組み込みのエージェントには、Explore と Plan(読み取り専用で、メインモデルを継承)、general-purpose(すべてのツールを使用可能)があります。 - フォークモードは対話型セッションでデフォルトで有効です。Claude は会話全体(およびそのプロンプトキャッシュ)を継承する
forkを起動でき、サブエージェントはバックグラウンドで実行されます。自分で起動するには/subtaskを使います。 - 動的ワークフローでは、計画をランタイムが実行する JavaScript スクリプトに移します。
agent()、parallel()、pipeline()、phase()、argsを使い、JSON Schema 形式の出力や中間結果は Claude のコンテキストではなくスクリプト変数に保持します。1 回の実行で数十から数百のエージェントを使用でき、中断後に再開できます。.claude/workflows/に保存するか、プラグインのworkflows/フォルダーに格納し、/<name>または/<plugin>:<name>として実行します。 - エージェントチーム(実験的機能。
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1、対話型セッションのみ):チームメイトはそれぞれ独立したコンテキストと共有タスクリストを持ち、互いに直接メッセージを送信できます。継続的な敵対的議論には最適なツールですが、トークンのコストは高くなります。 - Claude Agent SDK(Python の
claude-agent-sdk、TypeScript の@anthropic-ai/claude-agent-sdk)では、query(...)を介して同じエージェントループをプログラムから利用できます。agentsオプション(AgentDefinition)でサブエージェントを定義し、session_idで再開します。以下のパターンを CI やバッチジョブでスクリプト化する場合に使用してください。
すぐに使える実装。 alterlab-workflows プラグインには、実行可能な動的ワークフローとして次のパターンが用意されています(alterlab-research-workflows にドキュメントがあります):分岐実行 + 敵対的検証 → citation-audit、審査員パネル → review-panel と grant-mock-panel、敵対的検証 → claim-stress-test、独立した二重コーディングと裁定 → systematic-review-screening。新しいワークフローを最初から作成する前に、これらのいずれかを調整して使用してください。
5 つのパターン
1. 並列分岐(map)
N 個の入力が独立している場合は、入力ごとに 1 つのワーカーを割り当て、結果を統合します。学術研究での典型的な用途として、複数の参考文献一覧を同時に検証する、または異なる小課題を並行して調査する方法があります。
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.
サブエージェントを使う理由:各検証では再利用しない API 照会が大量にコンテキストを消費するため、それぞれを独自のウィンドウに隔離すると、メインの会話をすっきり保てます。各経路が互いに依存しない場合に最適です(ドキュメントに記載された並列調査の条件)。references/composition-recipes.md のレシピ P1 を参照してください。
2. 順次パイプライン(chain)
ある段階の出力を次の段階に渡します。学術研究における標準的な流れである、調査 → 執筆 → インテグリティチェック → レビュー → 改訂は、すでに alterlab-research-pipeline としてパッケージ化されています。これを再構築するのではなく、そのスキルを優先して使用してください。外部から提供されたドラフトに対する deep-research → citation-verifier → peer-review など、既存のスキルで対応できないカスタムの流れが必要な場合に、このパターンを使用します。
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. 審査パネル(独立した複数の視点)
複数の独立したレビュアーが、それぞれ異なる視点から1つの成果物を評価し、その後、統合役が調整します。alterlab-paper-reviewer はすでに内部で5人のレビュアーによるパネルをシミュレートしています。このパターンは、パネリストを真に別個のエージェント(コンテキストを分離し、相互の影響を受けない)にしたい場合に使います。たとえば、互いの意見に引きずられてはならない方法論レビュアー、分野レビュアー、再現性レビュアーなどです。
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.
独立性が要点です。1つのコンテキストで実行すると、最初の意見が残りの意見に影響します。references/composition-recipes.md のレシピ P3 を参照してください。
4. 敵対的検証(生成 → 反証)
あるエージェントが主張や結果を生成し、新しいエージェントがそれを否定することだけを目的として割り当てられます。これは、研究の健全性を確保するうえで最も価値の高いパターンです。ドキュメントにある、競合仮説を扱うエージェントチームの例が参考実装です。チームメンバーは「科学的な議論のように、互いの理論を否定しようと話し合います」。
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.
懐疑派が互いに異議を唱える、継続的な議論が必要な場合は、エージェントチーム(上記の環境変数)に切り替えてください。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 を参照してください。
メカニズムの選択
| 必要なこと | メカニズム | 理由 |
|---|---|---|
| 冗長な出力を分離し、要約を受け取る | サブエージェント | 独自のコンテキストウィンドウを持ち、返されるのは要約のみ |
| 独立した調査を行い、相互に干渉させない | 並列サブエージェント | それぞれが単独で調査し、メインエージェントが統合 |
| 現在のコンテキスト全体を必要とするサイドタスク | フォーク(/fork) | 会話を引き継ぎ、プロンプトキャッシュを再利用 |
| ワーカー同士の議論や相互の異議申し立てが必要 | エージェントチーム(実験的) | タスクリストを共有し、直接メッセージをやり取り |
| 数十人以上のワーカー、投票、または再実行したい固定ループ | 動的なワークフロー | スクリプトで計画を保持し、結果をコンテキスト外に保管し、中断後に再開可能 |
| ワーカーのタスク自体が並列サブタスクに分かれる | ネストされたサブエージェント | レビュアーが指摘ごとに検証エージェントを割り当てる(デフォルトの深さは3以下) |
| CI/バッチでワークフローをスクリプト化する | Agent SDK | query() と agents オプションを使ったプログラムによる実行 |
| すでにパッケージ化されたフローがある | 既存のスキル | alterlab-research-pipeline を作り直さない |
自由度は、壊れやすさに合わせてください。自由度の高い探索には文章形式のプロンプトを使い、壊れやすい複数ステップの手順には、順序を明示した指示と停止条件を設けます。
リソース
references/claude-orchestration-primitives.md— 検証済みの Claude Code サブエージェント、エージェントチーム、フォーク、Agent SDK のプリミティブ。フィールド一覧と、ドキュメントを出典とする引用を収録(正確なフロントマターのフィールド、環境変数、バージョン要件が必要な場合に読み込みます)references/composition-recipes.md— 5つの実践的なレシピ(P1~P5)。各パターンを実際の AlterLab スキルに対応づけ、コピー可能な委任プロンプト、サブエージェント定義のフロントマター、Python Agent SDK のquery()の例を収録(すぐに実行できる完全な構成が必要な場合に読み込みます)