人間とAIが別々の作業をすることの意味

2025年10月25日 | AI開発

本記事で解説しているワークフローファイルmultiplexer-self.yml のソースコード全文と解説は、note.comの記事で公開しています。

この記事をシェア

💡 非同期×定額×並列で生産性が10倍に

41のWebサイトに8並列でブログ記事を投稿する革新的システムの全貌

はじめに:なぜ非同期、定額、並列なのか

私のAI活用のポリシーは「並列、非同期、定額」です。このアプローチが、なぜ圧倒的な生産性を生み出すのか、その理由を明確にお伝えします。

📊 3つのポリシーがもたらす効果

  • 🔄 並列:複数のタスクを同時実行することで、待ち時間を削減し、リソースを最大限活用
  • 非同期:人間とAIがブロッキングせずに独立して作業することで、互いを待つ時間がゼロに
  • 💰 定額:予測可能なコストで、無制限にAIを活用できる安心感と自由度

従来のAI活用では、人間がAIに指示を出し、返答を待ち、次の指示を出すという「逐次処理」でした。しかしこれでは、AIの待ち時間中、人間も待機してしまいます。まるで、高速な処理能力を持つコンピュータを、人間のペースに合わせて遅くしているようなものです。

人間とAIが別々の作業をするということ

真の生産性向上とは、人間とAIが完全に独立して、それぞれの得意分野で並行作業することです。

👨‍💻 人間の役割

  • 戦略立案
  • 要件定義
  • 品質チェック
  • 意思決定

🤖 AIの役割

  • コード生成
  • ドキュメント作成
  • テスト実装
  • デプロイ実行

私が開発したClaude SelfMux Orchestratorは、この概念を完全に具現化したシステムです。人間はGitHub Issueにタスクを記述し、@claude-selfmuxとメンションするだけ。あとはAIが自動的に:

  1. タスクを分析して最大8つのサブタスクに分割
  2. 各サブタスクを独立したClaude AIインスタンスに割り当て
  3. GitHub Actions上で並列実行
  4. 完了後、自動的にPRを作成

その間、人間は別の創造的な作業に集中できます。これが真の非同期作業なのです。

技術解説:GitHub Actions Matrix戦略の威力

multiplexer-self.ymlワークフローファイルの核心部分を解説します。このシステムが並列実行を実現する秘密は、GitHub ActionsのMatrix Strategyにあります。

🎯 Matrix Strategyとは

GitHub Actionsのstrategy.matrixは、同じジョブを異なるパラメータで並列実行する強力な機能です。例えば、複数のOSバージョンやNode.jsバージョンでテストを実行する際に使われますが、私たちはこれを複数のAIタスクの並列実行に応用しました。

execute-tasks:
  name: Execute - task_${{ matrix.task.id }}
  runs-on: self-hosted
  needs: analyze-and-split
  if: needs.analyze-and-split.outputs.tasks != '[]'
  strategy:
    matrix:
      task: ${{ fromJSON(needs.analyze-and-split.outputs.tasks) }}
    fail-fast: false
    max-parallel: 8  # 最大8タスク並列実行
  steps:
    - name: Run Claude Code Agent
      uses: anthropics/claude-code-action@beta
      with:
        claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
        task: ${{ matrix.task.description }}
        timeout_minutes: "60"

✨ このコードが実現すること

  • matrix.task:前のジョブから受け取った複数タスクを配列として処理
  • max-parallel: 8:最大8つのタスクを同時実行
  • fail-fast: false:1つのタスクが失敗しても他のタスクは継続
  • self-hosted:独自ランナー上で実行し、リソースを最適化

🔧 ワークツリー方式による競合回避

並列処理で最も難しいのは、Git操作の競合です。複数のタスクが同じリポジトリを同時に操作すると、ロックやマージコンフリクトが発生します。この問題を解決するために、ベアリポジトリ + ワークツリー方式を採用しました。

# 共有ベアリポジトリのセットアップ
SHARED_BASE_PATH="/home/github-runner/common"
SHARED_REPO_PATH="${SHARED_BASE_PATH}/bare-repos/${GITHUB_REPOSITORY}.git"

# 各タスク用の独立したワークツリーを作成
TASK_ID="${{ matrix.task.id }}"
WORKTREE_PATH="${SHARED_BASE_PATH}/worktrees/${GITHUB_REPOSITORY}/${TASK_ID}"

git worktree add -b "task/${TASK_ID}" "${WORKTREE_PATH}" origin/main

この方式により、各タスクは完全に独立したワークディレクトリで作業できます。Gitの内部オブジェクトは共有しつつ、ファイルシステム上では競合が発生しません。

実例:41のWebサイトに8並列でブログ投稿

このシステムの真価は、実際の運用で証明されています。私は41の異なるWebサイトに対して、同一テーマのブログ記事を一斉投稿するタスクを実行しました。

📊 実行結果の衝撃

41サイト

対象Webサイト

8並列

同時実行タスク

53分

全体完了時間

従来の逐次処理なら、1サイトあたり平均10分として410分(約7時間)かかる作業が、並列処理により53分で完了しました。これは約7.7倍の効率化です。

🎬 実行ログから見る並列処理の様子

GitHub Actionsのログを見ると、まさに「オーケストラ」のように複数のタスクが協調して動作している様子が分かります:

✓ Execute - task_1    11分45秒 で成功
✓ Execute - task_2    12分27秒 で成功
✓ Execute - task_5    13分14秒 で成功
✓ Execute - task_6    13分01秒 で成功
✓ Execute - task_7    11分18秒 で成功
✓ Execute - task_8    13分14秒 で成功
✓ Execute - task_9     7分28秒 で成功
✓ Execute - task_10    9分29秒 で成功
--- 第1バッチ完了(8タスク同時実行)---

✓ Execute - task_14    8分15秒 で成功
✓ Execute - task_37    8分36秒 で成功
✓ Execute - task_38    8分55秒 で成功
✓ Execute - task_39    8分15秒 で成功
✓ Execute - task_40    7分52秒 で成功
✓ Execute - task_41    8分17秒 で成功
--- 第2バッチ以降継続 ---

各タスクが完全に独立して動作し、互いに干渉することなく、それぞれのペースで完了していることが分かります。

定額プランの圧倒的優位性

この並列実行システムが実現できるのは、Anthropic Proプランの定額制のおかげです。

💰 コスト比較

方式 月額コスト 備考
従量課金API $800~$2,000 使用量に応じて変動
Anthropic Pro $200 無制限バックグラウンド実行

定額プランにより、コストを気にせず並列実行できます。従量課金では、並列度を上げるほどコストが跳ね上がりますが、定額なら何台並列でも追加料金はゼロです。

利用している技術スタック

Claude SelfMux Orchestratorは、以下の技術を組み合わせて実現しています:

🤖 Claude API

Anthropic提供のAI APIを使用。定額プランで無制限にバックグラウンドエージェント実行が可能。

⚙️ GitHub Actions

CI/CDプラットフォーム。Matrix Strategyによる並列実行とself-hostedランナーをフル活用。

🌳 Git Worktree

並列タスクの競合を回避。各タスクが独立したワークディレクトリで作業。

📊 JSON処理

fromJSON()関数でタスク配列を動的に処理し、柔軟なタスク分割を実現。

まとめ:人間とAIの理想的な協働関係

「人間とAIが別々の作業をする」という概念は、単なる効率化の手法ではありません。これは人間とAIの理想的な協働関係を表しています。

🎯 重要なポイント

  • 非同期:互いを待たず、それぞれのペースで最高の成果を出す
  • 定額:コストを気にせず、必要なだけAIを活用できる
  • 並列:複数タスクを同時実行し、時間を最大限活用

Claude SelfMux Orchestratorは、この3つのポリシーを完全に具現化したシステムです。41のWebサイトへの同時投稿という実例が示すように、従来の約8倍の効率で作業を完了できます。

🔗 関連記事

本記事は、以下の記事シリーズの続編です

あなたも、人間とAIの新しい協働関係を始めてみませんか?

この記事が役に立ったらシェアしてください

非同期AI活用の新しい可能性を、より多くの開発者に届けましょう

カテゴリ

AI開発

公開日

2025年10月25日

お気軽にご相談ください

記事に関するご質問や、AI・IT技術導入のご相談など、お気軽にお問い合わせください。