Workflow(ワークフロー)

組み込みツール
Workflow
ワークフロー
Claudeが内部で取り出す道具の1つ。JavaScriptで書いた台本を、会話とは別の場所で動く実行係(ランタイム)に渡し、その台本が多数のサブエージェント(小さなClaudeの分身)を統制して、最後に統合した結論を1つ返す。人が手で叩く道具ではなく、Claudeが呼ぶ。

ワークフローが何をしてくれるかは分かったが、中身(Claudeが書く台本)が何をしているのか覗いてみたい人

料理ブログ200記事の一斉点検や、コード全体のチェック漏れ探しのように、1つの会話では仕切りきれない数のサブエージェントを動かしたいときに使う。具体的には日本語で「〜のワークフローを動かして」と頼むか、/effort ultracode を入れて任せると、Claudeが台本を書いて実行係に渡してくれる。1〜2回で終わる小さな仕事なら、会話でサブエージェントを数体動かすだけで足りるので使わない。なお動かすには有料プラン(Pro・Max・Team・Enterprise の4種)とClaude Code v2.1.154 以上が必要で、Proは /config の「Dynamic workflows」の行をオンにする。2026年6月時点では research preview の段階。

Claudeに「料理ブログの全記事を点検して」と頼むと、記事が200本もあれば1本ずつ会話で見ていくのは現実的じゃありません。そこでClaudeは Workflow という道具を内部で取り出します。これは「JavaScriptで書いた台本」を会話とは別の場所で動かす道具で、その台本が何十体ものサブエージェント(小さなClaude)を統制して、最後に1つの結論だけ返してくれます。

ポイントは、手で呼ぶものではないこと。人がやるのは日本語で「〜のワークフローを動かして」と頼むだけです。今回はその台本の中身を覗いて、JavaScriptが読めなくても「ああ、こういう段取りで動いてるのか」が分かるところまで持っていきます。

噛み砕くと

Workflow を、料理イベントの「進行台本」だと思ってください。当日の現場には何十人ものスタッフ(サブエージェント)がいて、それぞれ別の持ち場で動きます。台本にはスタッフ全員の動きが時系列で書いてあって、進行係はそれを上から読むだけで現場が回る。

ここでの台本がJavaScriptで書かれた文書です。Claudeはその台本を「進行係」じゃなく「別室のランタイム」という実行係に丸ごと渡します。実行係が台本どおりにスタッフを動かしている間、Claude本人(あなたとの会話相手)は手が空いたまま。終わったら結果報告だけ受け取ります。

会話の負荷が軽いのは、この丸投げ構造のおかげです。

大事な前提:これはClaudeが内部で取り出す道具で、人が手で叩くものではない

ここを取り違えると一生かみ合いません。Workflow は人が直接コマンドで呼ぶものではなく、Claudeが「この仕事は台本にした方がいい」と判断したときに内部で取り出す道具です。

人がやるのは2つだけ。日本語のお願いの中に「ワークフロー」という言葉を入れる、もしくは /effort ultracode という設定を入れて「大きめの仕事は毎回台本でやって」と任せる。それだけで、台本を書くのも実行係に渡すのもClaudeがやります。

ただ、その前にもう1つ大事な前提があります。この機能はそもそも有料プランでしか動きません。対応しているのは Pro・Max・Team・Enterprise の4種で、無料プランでは使えない。さらにClaude Code本体のバージョンが v2.1.154 以上でないと起動しません。それより古ければ、まず更新が先です。

Proプランの人は、入れただけでは動かない点に注意。/config という設定画面を開いて「Dynamic workflows」の行をオンにして初めて使えます。2026年6月の時点ではこの機能は research preview、つまり試験公開の段階で、今後動きが変わる可能性も残っています。

「料理ブログの全記事を点検する台本」を例に、中身を読んでいく

では、Claudeが書いた台本を実際に開いて読んでみます。題材は「料理ブログの全記事を点検する」です。やりたいのは、1記事ずつざっと点検して、怪しい記事だけ深く精査する流れ。

ステップ1: 台本がどこに保存されたか聞く

台本は走るたびに、あなたのパソコンの中の決まったフォルダに保存されます。場所は ~/.claude/projects/ の下、今の会話用のフォルダの中です。Claudeは台本を動かし始めるときにこの保存場所を受け取っているので、聞けば教えてくれます。

あなた: さっきのワークフローの台本ファイル、どこにある?
Claude: ~/.claude/projects/cooking-blog-xxxx/workflow-audit.js です

このファイルを開けば、Claudeが組んだ段取りがそのまま読めます。

ステップ2: 台本の頭にある「自己紹介」を読む

台本はまず meta という自己紹介ブロックから始まります。ここに「名前・説明・フェーズ(段取りの区切り)」が書いてあります。

export const meta = {
  name: "記事点検",
  description: "全記事を点検し、怪しい記事だけ精査する",
  phases: ["点検", "精査"],
};

JavaScriptが読めなくても phases の中身だけ見れば十分です。「点検」と「精査」の2段階で進む台本なんだな、と分かれば合格。phase() という台本の道具で、この区切りが進捗画面の見出しになります。

ステップ3: 本体の「1記事ずつ点検」を読む

台本の本体では、記事一覧を流し込んで処理します。ここで pipeline() という道具が出てきます。これは「並べたアイテムを1つずつ、各段階に独立して通す」道具です。

// 記事一覧を、点検 → 精査 の順に通す
pipeline(記事一覧, 記事を点検, 怪しい記事だけ精査);

日本語に直すと「記事を1本ずつ点検して、引っかかったものだけ精査に回す」。記事Aの精査が終わるのを記事Bが待つ必要はなく、各記事が自分のペースで先へ進みます。だから速い。

ステップ4: 1記事の点検は1体のサブエージェントが担当

「点検」の中身では agent() という道具で、サブエージェントを1体起動します。「この記事を読んで、誤字や古い情報がないかチェックして」と頼む役です。

const 結果 = await agent("この記事を点検して問題点を挙げて", { schema: ... });

ここで初心者がやりがちな勘違いを1つ。台本そのものはファイルを読み書きしません。実際に記事ファイルを開いて中身を確認するのは、起動されたサブエージェントの仕事です。台本はあくまで「誰に何をさせるか」を仕切る監督で、現場作業はやらない。この線引きは公式の制約でもはっきり決まっています。

ステップ5: 「全員揃ってから次」にしたいときは別の道具

もし「全記事の点検が終わってから、まとめて次に進みたい」なら parallel() という道具を使います。これは関所のようなもので、起動した全員が終わるのを待ち合わせます。今回の pipeline() は待ち合わせなしで先へ進む形なので、両者の挙動はけっこう違います。

進捗のメッセージを画面に出したいときは log() を使います。「点検した記事: 47本」みたいな1行が流れる、あれです。

ステップ6: 台本を直して動かし直す

台本はただのファイルなので、その場で書き換えて再実行できます。たとえば「点検が雑だから、もっと厳しくチェックして」と頼みの文面を直して、Claudeに「この直した台本でもう一回動かして」と頼めばいい。

あなた: 台本の点検の指示を「誤字・事実誤り・リンク切れも見て」に直して、再実行して

同じ会話の中なら、すでに終わったサブエージェントの結果は実行係が覚えているので、途中から再開もできます。JavaScriptをゼロから書く必要はなくて、読む・直す・動かし直す、ができれば十分です。

つまり Workflow は何をしてくれるのか

  • やってくれる: 何十〜何百体ものサブエージェントを台本で統制し、会話を空けたまま裏で走らせ、最後に統合した結論を1つ返す
  • やってくれない: 台本自身がファイルを読み書きしたり外部コマンドを動かすことはしない(それは各サブエージェントの仕事)。走っている途中で人の追加入力を受け取ることもしない
  • 意味が薄い場面: 1〜2回の作業で終わる小さな仕事。会話の中でサブエージェントを数体動かせば済むなら、台本にする手間の方が重い

使いどころ3シナリオ(具体題材で再現)

シナリオ1: 料理ブログ200記事の一斉点検

記事が200本あって、誤字・古い価格・リンク切れを全部洗いたいとき。会話で1本ずつ見ていたら日が暮れます。「全記事を点検するワークフローを動かして」と頼めば、台本が記事を pipeline() に流し、1本ずつ点検して、怪しい記事だけ精査に回します。最後に「47本に修正候補あり」みたいな一覧が返ってくる。点検中もClaudeとは別の話を続けられます。

シナリオ2: 家計簿アプリのコード全体からバグの芽を探す

個人開発の家計簿アプリで、入力チェックの抜けが怖いとき。「全ファイルを点検してチェック漏れを探すワークフローを動かして」と頼むと、ファイルごとにサブエージェントが1体ずつ走って、危なそうな箇所を集めてきます。台本はファイルを直接触らず、各エージェントに読ませて報告だけ集約する。直したい箇所が分かったら、そのあと別の台本で修正をかける流れにできます。

シナリオ3: 引っ越し先の街選びを多角的に調べる

調べ物でも使えます。「家賃・治安・通勤時間の3つの角度から候補3エリアを調べるワークフローを動かして」と頼むと、角度ごとにサブエージェントが独立して調べ、互いの結果を突き合わせてから1つのレポートにまとめます。会話1回分のメモリに全部載せて調べるより、根拠が分かれて整理された答えが返ってくる。

初心者が踏みやすい落とし穴

  • 「自分で手で叩く道具」だと思い込む。これはClaudeが内部で取り出す道具です。人がやるのは日本語で「ワークフローを動かして」と頼むか、/effort ultracode を入れて任せること。
  • 無料プランで使おうとする。動くのは Pro・Max・Team・Enterprise の4種だけで、無料プランでは出てきません。Proの人は /config で「Dynamic workflows」をオンにするのも忘れずに。
  • 古いバージョンのまま試す。Claude Code が v2.1.154 以上でないと起動しません。動かないときは、まず本体の更新を確認してください。
  • 「JavaScriptを自分で書かないといけない」と構える。台本はClaudeが書きます。あなたは読む・直す・動かし直すだけでよくて、ゼロから書く必要はありません。
  • 「台本がファイルを直接いじる」と誤解する。台本は監督役で、実際の読み書きやコマンド実行は各サブエージェントの仕事。ここを混同すると挙動が読めなくなります。
  • pipeline()parallel() を同じものだと思うpipeline() は待ち合わせなしで各アイテムを先へ進める(速い・標準)。parallel() は全員揃うのを待つ関所。「1つずつ進める」か「全員揃えてから次」かが違います。
  • 大量のエージェントを無制限に走らせられると思う。同時に動くのは最大16体まで(CPUの少ないパソコンではもっと少ない)。1回の実行で起動できるのは合計1,000体までと上限が決まっています。
  • 走っている途中で口出しできると思う。実行中に人が追加入力することはできません。段階ごとに承認を挟みたいなら、段階を別々のワークフローに分けるのが公式の案内です。
  • Claude Codeを閉じても続きから再開できると思う。途中再開は同じ会話の中だけ。実行中にClaude Codeを終了すると、次に開いたときは最初からやり直しになります。
  • 料金が会話と同じだと思う。1回の実行で多数のエージェントが動くので、同じ作業を会話でやるよりトークン消費がかなり増えます。大きく回す前に、1フォルダだけ・狭い質問だけで試して見積もるのが安全です。

書き方

Run a workflow to (やりたいこと)
  (日本語の依頼文に「ワークフロー」という言葉を入れると、Claudeが台本を組んで動かす。台本のJavaScriptは人が書かない)

やってみるとこうなる

入力

料理ブログの全記事を点検するワークフローを動かして。1記事ずつ点検して、怪しい記事だけ精査して。

出力例

Claudeが台本(~/.claude/projects/ の下のJavaScriptファイル)を書き、実行係に渡す。裏で何十体ものサブエージェントが1記事ずつ点検し、会話は空いたまま。終わると「47本に修正候補あり」のように統合した結果が1つだけ会話に返る。台本ファイルを開いて読んだり、直して動かし直すこともできる。

このページに出てきた言葉

台本(スクリプト)
やることを上から順に書いた指示書。Workflowでは <code>JavaScript</code> で書かれ、Claudeが用意する。人がゼロから書く必要はなく、読む・直すだけでよい
ランタイム
台本を実際に動かす実行係のプログラム。会話とは別の場所で裏方として走るので、動いている間もClaudeとの会話は続けられる
サブエージェント
本体のClaudeが仕事を振るために起動する、小さなClaudeの分身。1つの持ち場だけを担当する。実際のファイル読み書きやコマンド実行はこの分身がやる
pipeline()
台本の中で使う道具。並べたアイテムを1つずつ各段階に独立して通す。前のアイテムを待たずに先へ進むので速く、標準で推奨される
parallel()
台本の中で使う道具。起動した全員が終わるのを待ち合わせる関所。「全員揃えてから次」にしたいときに使う
agent()
台本の中でサブエージェントを1体起動する道具。schema(返してほしい答えの型)を渡すと、決まった形に整った結果が返る
/effort ultracode
Claude Codeの設定の1つ。オンにすると、まとまった仕事のたびにClaudeが自動で台本(ワークフロー)を組むようになる
/config
Claude Codeの設定画面を開くコマンド。Proプランはここで「Dynamic workflows」の行をオンにするとワークフローが使えるようになる

関連項目

公式ドキュメント

https://code.claude.com/docs/en/workflows

-

← 戻る