メタハーネスとは
単体のAIエージェントを制御する「ハーネス」が実行状態の監視やツール呼び出しの管理を担うのに対し、メタハーネスはそうしたハーネスを複数まとめて束ね、上位の視点から優先順位づけやリソース配分を行う制御層を指す。エージェントの数が増えるほど、個々のハーネスを横断して調整する仕組みの重要性が高まり、この概念が注目を集めている。
実装としては、各ハーネスの状態をポーリングまたはイベント購読で集約し、共通のポリシーに基づいて実行順序や停止条件を上書きするコントローラーとして構成されることが多い。
なぜ注目されているのか
複数のエージェントが並行してタスクをこなすマルチエージェント構成が一般化するにつれ、個別のハーネスだけでは全体最適化が難しくなった。メタハーネスは、エージェント同士の競合を検知したり、失敗したハーネスを再起動したりといった運用上の課題に対する解として位置づけられている。
一方で、制御層が増えることによる複雑性の増大や、デバッグの難易度上昇といった課題も指摘されており、導入には運用体制の整備が前提となる。
関連する技術
メタハーネスは「ガードレール」による制約設計や、「ループエンジニアリング」による反復精度向上と組み合わせて語られることが多く、これらは相互に補完し合う設計要素として扱われる。
ドラゴンボールで例えると
エージェントハーネスがスカウター(1人の戦士を計測・記録する道具)だとすると、メタハーネスは全スカウターのデータを集約して全体を指揮する界王神の司令室にあたる。
- 各エージェントハーネス = 悟空・ベジータ・ピッコロそれぞれが装備するスカウター。各戦士の行動・状態を個別に計測・記録する道具
- メタハーネス = 全スカウターの読みを一元集約し、「誰をどこへ送るか」「異常なスカウターを再起動するか」を上位から判断する界王神の司令室
- 優先順位づけ・リソース配分 = 全スカウターのデータをもとに「悟空はフリーザへ・ベジータは第二部隊へ」と全体最適化の指令を出す
- 複雑性の増大・デバッグ難易度の上昇 = スカウターの数が増えるほど集約・判断の負荷が増す。把握しきれなくなると制御が崩れる
「スカウター(ハーネス)が1個なら直接見ればいい。10個・100個になったとき、まとめて管理する上位の仕組みが必要になる」——それがメタハーネスだ。
実装してみる
▸ CLAUDE CODE ▸ CODEX
- 01 プロジェクトに
harness/配下のディレクトリ構成を用意する - 02 各ハーネスの設定ファイル(config.json)を配置する
- 03 Claude Code または Codex に、下記プロンプトでメタハーネスの制御ロジックを実装させる
- 04 生成されたコントローラーを実行し、複数ハーネスの状態が正しく集約されるか確認する
SHELL
mkdir -p harness/meta && cd harness/meta claude "harness/*/config.json を読み込み、複数ハーネスを束ねる meta-harness コントローラーを実装して"
CONFIG — harness/meta/config.json
{
"name": "meta-harness",
"harnesses": ["agent-a", "agent-b", "agent-c"],
"policy": "priority-round-robin",
"restart_on_failure": true
}
PROMPT例 — そのまま貼り付け可
harness/ 配下にある各エージェントのconfig.jsonを読み込み、実行状態をポーリングして異常なハーネスを自動再起動する meta-harness コントローラーをTypeScriptで実装してください。優先順位はconfig内のpriorityフィールドに従うこと。