Skip to main content
ブログに戻る
ブログ

単一エージェントからマルチエージェントへ: 実践的な移行ガイド

多くの開発者は 1 つの AI エージェントから始めます。ここでは、並列で動く複数エージェントにスケールする方法と、それがすべてをどう変えるかを解説します。

今日、AI コーディングツールを使う多くの開発者は、1 度に 1 つのエージェントだけを動かしています。Claude Code を開き、タスクを渡し、終わるのを待ち、次のタスクを渡す。動きますが、順番処理です。

2 つのエージェントを並列で動かした瞬間、何かが変わります。あなたは出力を待つタイピストではなくなり、作業を割り振り、結果をルーティングし、重要な箇所に注意を向けるオーケストレーターになります。

この投稿では、単一エージェントからマルチエージェント開発へ移行する実践的な手順と、そのために必要なメンタルモデルの変化を説明します。

単一エージェントのボトルネック

どれだけ高性能な AI エージェントでも、根本的な制約があります。それは 1 度に 1 つのことしかできないことです。Claude Code が認証モジュールをリファクタリングしている間、API 層のテストを書かせることはできません。あなたは待つしかありません。

計算は単純です。各タスクに 5 分のエージェント作業がかかり、10 個のタスクがあれば、単一エージェントでは 50 分。2 つのエージェントなら 25 分です。しかし本当の価値は、単なる壁時計時間の短縮ではなく、フィードバックループにあります。

関連するコードを 2 つのエージェントが扱うと、Agent A のリファクタリング結果をすぐに Agent B のレビューに回せます。問題の発見が早くなり、コンテキストが新鮮なままで、統合上の問題を数時間ではなく数分で見つけられます。

ステップ 1: 並列化できる仕事を見つける

すべてのタスクが並列化に向くわけではありません。向いているのは次のようなものです。

  • 独立したモジュール — 認証のリファクタリングと新しい API エンドポイントの実装。
  • 連続する段階 — 1 つのエージェントがコードを書き、別のエージェントがレビューする。
  • 補完的な視点 — 1 つのエージェントが実装、別のエージェントがテストに集中する。

最も向かないのは、密結合なタスクです。同じファイルを 2 つのエージェントが編集すると、マージ競合を引き起こします。

目安はこうです。2 人の別々の開発者に任せるなら、2 つの別々のエージェントでも回せます。

ステップ 2: 空間的な整理

タブベースのワークフローは、複数エージェントになると破綻します。3 つのターミナルタブを同時に見続けることはできません。重なって見えず、コンテキストを失い、どのタブが何をしているのか忘れます。

そこで重要になるのが空間配置です。キャンバス上では、エージェントを見える場所に置けます。左に Terminal A、右に Terminal B、中央に計画を記したノートタイル。見ればすぐに全体の状態が分かります。

この空間モデルは、単なる見た目の話ではありません。認知的な話です。外部認知に関する研究では、情報の物理的な配置がワーキングメモリの負荷を減らすことが示されています。キャンバスは、あなたのメンタルモデルの延長です。

ステップ 3: 情報の流れを定義する

複数エージェントでは、情報がどう流れるかを計画する必要があります。一般的なパターンは 3 つです。

パイプライン

Agent A → Agent B → Agent C

各エージェントの出力が次へ流れます。例: A がコードを書き、B がレビューし、C がテストを書く。

ファンアウト / ファンイン

        → Agent B →
Agent A                 Agent D
        → Agent C →

1 つのエージェントが作業を分配し、複数のエージェントが並列実行し、結果が収束します。例: A がタスクをサブタスクに分解し、B と C がそれぞれ担当し、D が結果を統合する。

レビューループ

Agent A ⇄ Agent B

2 つのエージェントが同じ作業を反復します。A が書き、B がレビューし、A が修正する。これが驚くほど早く収束します。たいてい 2〜3 ラウンドです。

ステップ 4: 引き継ぎを自動化する

マルチエージェント作業で最大の摩擦は引き継ぎです。Agent A の出力を手でコピーし、Agent B 用のプロンプトに整形して貼り付けるのは面倒で、ミスも起きやすいです。

自動ルーティングはこの摩擦を取り除きます。Agent A が終わると、システムは次の処理を行います。

  1. 完了を検出する(出力パターンまたはアイドル検出)。
  2. 関連する出力を抽出する。
  3. Agent B に適したプロンプトへ変換する。
  4. 配信する。

変換の段階が重要です。生のターミナル出力は、ANSI コード、進捗バー、冗長なログでノイズだらけです。良いルーティングシステムは、意味を持つ内容を抽出し、それを実行可能な指示として整えます。

ステップ 5: 監視し、介入する

マルチエージェント作業では、注意の向き方が変わります。1 つのエージェント出力に深く集中するのではなく、複数のエージェントを見渡しながら、次のようなものを探します。

  • ブロックされたエージェント — 許可や入力待ち。
  • 完了したエージェント — 次のタスクまたは引き継ぎ待ち。
  • 逸脱したエージェント — 方向性がずれている。

視覚的なインジケータは非常に役立ちます。色分けされた状態表示(作業中、待機中、停止中)は、ひと目で注意を切り分けるのに便利です。パルスアニメーションは動作中のエージェントに視線を引き、画面端のグローはキャンバス外の活動を知らせます。

目的は、監視の認知コストを下げて、何を作るか、どう設計するか、どこに注意を投資するかといった創造的な判断に集中できるようにすることです。

メンタルモデルの変化

マルチエージェント作業で最も深い変化は技術そのものではなく、自分の役割の捉え方です。

単一エージェントでは、あなたはペアプログラマーです。あなたとエージェントが 1 つのことに一緒に集中します。

複数エージェントでは、あなたはテックリードです。方向性を定め、作業を割り当て、結果をレビューし、アーキテクチャ判断を下します。エージェントが実行を担います。

最初はこの変化が居心地悪く感じます。各エージェントの出力を 1 行ずつ追うべきだと思ってしまうからです。しかし、それではスケールしません。代わりに、流れを信頼し、必要なときだけ介入し、本当に自分の判断が必要な決定に集中するようになります。

始め方

今 1 つのエージェントを使っているなら、次を試してください。

  1. 同じエージェントで、別タスク用に 2 つ目のターミナルを開く。
  2. 並べて配置し、両方見えるようにする。
  3. 1 つ目が終わったら、要点を 2 つ目に手動で送る。
  4. その文脈があると、2 つ目のタスクがどれだけ速く進むかを観察する。

これが最もシンプルなマルチエージェント開発です。自動ルーティング、キャンバス整理、状態検出といった残りは、この基本パターンを手間なくするためのインフラです。