こんにちは、なかにしです。
一応AIテックに勤めているので、たまにはAIに関する記事も書こうかなと思います。
今回は、Meta-Harnessについてです。
皆さんは、AIをコーディングなどで使うとき、事前に指示を与えることが多いと思います。
「envは見るな」だとか、「まずdocs内のドキュメントを見ろ」だとか。
そんな、AIへの指示を、AIが自分で最適化しちゃうぜ!な話です。
Harness(ハーネス)とは
AIへの指示環境のことです。
具体的には以下のようなものが含まれます。
・CLAUDE.mdに書いた指示文
・「このドキュメントを先に読め」などの参照ロジック
・どのツールを使うか、どのファイルを見るかの定義
Claudeだと、CLAUDE.mdに書いた指示を最初に読んで実行してくれますよね。
あれも、ハーネスの一部です。
解決したい課題
エンジニアという人種は、面倒くさがりなものです。
AIの性能を引き出すには、ハーネスを地道にチューニングする必要があります。しかしこれは、失敗ログを読んで、原因を考えて、指示を書き直して…という手作業の繰り返しです。
このチューニング作業をAIに自動でやらせてしまおう、というのがMeta-Harnessという手法です。
Meta-Harness(メタハーネス)とは
ソースの論文:https://arxiv.org/abs/2603.28052
ハーネスをAIが自動で進化させる手法です。
AIがタスクを実行するたびにログを蓄積し、別のAIがそのログを読んで「なぜ失敗したか」を分析→ハーネスを書き換える、というループを繰り返します。
ハーネスを書き換えるリスク
改善に夢中になり、当初の人間からの指示を忘れ、すべて自己流で行ってしまうリスクがあります。
具体的には、「.envは参照するな」と言っていたはずなのに、「.env」を見た方が詳細を掴みやすいから、見るように指示を変更する、などのリスクが発生します。
当リスクへの対策は、論文内で提示されています。
具体的には、以下を人間が行うというものです。
① 「書いていいファイル・書いてはいけないファイル」の定義
提案AIは、新しいハーネスをどこに書くか、過去のハーネスと実行ログをどう参照するか、どのファイルを変更できてどのファイルはできないかを記述した、ドメイン固有の最小限のスキル(指示)によってガイドされます。
つまり「変更禁止ファイル」の定義は、人間がスキルファイルに書いて渡す設計です。
② インターフェース検証(バリデーション)
提案されたハーネスは、インターフェース検証をパスした場合のみ評価されます。
if HH passes interface validation then
評価する壊れたハーネス・ルール違反のハーネスはここで弾く、というコードレベルの制御をします。
③ スコア(報酬関数)の設計
スコアの計算式を人間が設計します。
例えば「.envを参照したら大幅減点」のようなルールをスコアに組み込むことで、AIが守ってほしいルールを破る方向に最適化されないよう制御します。
何を「良い」とするかの基準は、人間が定義する必要があります。
Meta-Harnessの成果
Meta-Harnessは、以下のような成果を出しています。
① テキスト分類タスク
Meta-Harnessは、最先端の手動設計ハーネス(ACE)と比較して、精度を7.7ポイント改善しながら、コンテキストトークン数を4分の1に削減しました。
つまり「精度が上がって、しかもAIに渡す情報量は減った(=コスト削減)」という二重の成果です。
② 数学(IMOレベル)の問題解答
発見された単一のハーネスが、5つの異なるモデルで平均4.7ポイントの精度向上をもたらしました。
しかも、このハーネスは探索時に使っていないモデルにも効果があったという汎用性の高さも示されています。
③ コーディングエージェントタスク(TerminalBench-2)
Meta-Harnessが発見したハーネスは、手動で設計された最良のベースラインを上回り、Claude Haiku 4.5のエージェントの中で1位を獲得しました。
④ 最適化のスピード
Meta-Harnessは、次点の最適化手法(OpenEvolve、TTT-Discover)が60回の評価でようやく到達する精度に、わずか4回で到達しました。
つまり10分の1の試行回数で同等の結果が出せます。
まとめ
いかがでしたでしょうか?
まだ出たばかりの手法なので、真似をすれば絶対にうまくいくという保証はありません。
しかし、ハーネスを進化させるやり方の参考になる、いい手法ではないかと思いました。
ぜひ、Meta-Harnessを参考にしつつ、自分のAIを育てていきましょう!
今回はここまで!
Enjoy Hacking!!