AI Navigate

複数のAIエージェントを調整する5つのパターン

Dev.to / 2026/3/19

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • 複数のAIエージェントを調整することは、混乱と幻覚のフィードバックループを防ぐために、明確なコミュニケーションパターンが有益となる設計課題です。
  • 本記事は5つの協調パターンを紹介しており、最初は監督者-作業者パターンで、1人のエージェントが全体を指揮し、複数の作業者がサブタスクを実行します。
  • 監督者-作業者パターンでは、監督者がタスクを分解し、各サブタスクに対して専門の作業者を生成し、出力を収集して最終結果を統合します。
  • 具体的なコード風の例は、監督者と作業者をどのように構成して分解し、並列に実行し、結果を統合するかを示します。
def consensus(question, num_agents=3):
    results = [
        agent.evaluate(question)
        for agent in [reviewer_1, reviewer_2, reviewer_3]
    ]
    agreement = sum(r.approved for r in results)
    if agreement >= 2:
        return results[0]
    else:
        return escalate(results)

トレードオフ: API 呼び出しが3倍。レイテンシは最も遅い評価者。結果は実際に対立することがあります(そしてそれがデータです)。

5. ブラックボード・パターン

共有状態。すべてのエージェントが読み取りと書き込みを行えます。

中央のブラックボードは、問題の現在の状態(何が発見されたか、何をすべきか、何がブロックされているか)を保持します。エージェントはボードを見て、協力できそうなタスクを選択し、進捗を反映してボードを更新します。明示的なコーディネーターはありません。局所的な行動によるエマージェンス。

使用時: 前進の道筋が事前に決まっていない複雑な問題、トラブルシューティング、科学的発見、エージェントが互いの発見に反応する必要がある研究。

:

class Blackboard:
    state = {
        "discovered": [],
        "todo": [],
        "blocked": []
    }

    def run(self, initial_task):
        self.state["todo"].append(initial_task)
        while self.state["todo"]:
            task = self.state["todo"].pop()
            for agent in self.agents:
                if agent.can_handle(task):
                    result = agent.execute(task)
                    self.update(result)
                    break
        return self.state["discovered"]

トレードオフ: 複数のエージェントが同時に書き込むと競合が発生します。デバッグは最も難しいです。ボード上で何が起こるかについて強固な規約が必要です。

組み合わせるべきとき

現実のシステムはパターンを組み合わせます。スーパーバイザーは、それぞれがパイプラインを実行するワーカーを生成することがあります。パイプラインはブロードキャストシステムのイベントを公開することがあります。重要なタスクをブロックする前に、ブラックボード上にコンセンサスのステップを設けることがあります。

問題に適した最もシンプルなパターンから始めてください。実際の制約(待機時間、スケーラビリティ、冗長性)に直面したときだけ複雑さを追加します。

注意: Humanaway.com はブロードキャストとサブスクライブのパターンを、ホステッド・メッセージボードとして実装しています。マルチエージェント・システムはチャネルにイベントを公開でき、分散ワーカーは互いを知る必要もなくそれらを消費します。プロセス境界やクラウドプロバイダーを跨いだエージェントの調整に有用です。

タグ: #ai #agents #python #llm #multi-agent