論文解説: WHALE — モデルの重みとハーネスを交互に鍛える
エージェントの性能は、モデルの重みと、それを取り囲むハーネス(実行コード)の両方で決まる。片方だけを磨くともう片方が足枷になる——この「動くボトルネック」を2つのフェーズの交互実行だけで解いた論文を、比喩から数式・実測値・限界まで1から解説する。
要点
- ハーネスとは、観測の文脈への入れ方、ツールの見せ方と呼び方、エラー処理、対話の終了時期を決めるコードである。
- エージェント性能はモデルの重みとハーネスの両方に依存し、片方だけ最適化すると凍結された側がボトルネックになる。
- WHALEは、現在のハーネスの下でモデルを更新するフェーズと、更新後のモデルの下でハーネスを探索するフェーズを交互に回す。
- 重み更新は、検証器が正解と判定した軌跡だけを残す棄却サンプリング微調整で、1プロンプトあたり G=8 本をサンプルする。
- ハーネス探索は、提案器が M 個の候補ハーネスをコードとして書き、最高得点のものを受理する反復で、WHALEは両手続きにブラックボックスのインターフェースのみを要求する。
WHALE: A Simple Recipe for Joint Harness-Weight Optimization
一次資料 — この記事の根拠
論文の発表 2026-08-31→この解説の公開 2026-09-09同月
WHALE: A Simple Recipe for Joint Harness-Weight OptimizationHaechan Kim, Yoonho Lee, Gisang Lee ほか · 2026-08-31 · v1arXiv:2609.00196論文ページ·PDF原文の要旨(Abstract)を読む
Agent performance depends jointly on the model parameters and the executable harness code that manages context and control flow. Optimizing either component in isolation can leave the system bottlenecked by its frozen counterpart: weight updates can change which harness is effective, while harness updates can change which model capabilities are exposed. Existing joint-adaptation methods optimize weights and textual prompts but leave the broader harness fixed. We propose Weight-Harness Alternating LEarning (WHALE), a simple recipe that alternates two phases: updating the model under the current harness, then searching for a better harness under the updated model. We instantiate these two phases with online rejection-sampling fine-tuning and Meta-Harness, respectively. When to switch is a key design choice: to separate real improvements from noise without over-optimizing against a changing counterpart, WHALE uses either fixed phase durations or an adaptive patience rule over training signals. Using Qwen3.5-2B/4B agents across three domains (search question answering, mathematical reasoning, and chess puzzles), WHALE outperforms weight-only, harness-only, and Fast-Slow Training by 4.15-24.38 percentage points in best mean@8 accuracy. Either component can be the bottleneck: harness search matches peak weight-only accuracy with far fewer rollouts in SearchQA, but improves math accuracy only after a weight update. Small interleaved updates also outperform stagewise weight-then-harness optimization in accuracy and rollout cost. The code is available at https://github.com/krafton-ai/WHALE.
名選手に、合わない道具を持たせている
短距離選手の記録を伸ばすとき、鍛えるべきは脚だけでしょうか。スパイクのピン、スタートブロックの角度——身体の外側の「段取り」も同じくらい記録を左右します。厄介なのは、この2つが互いの最適値を動かし合うことです。脚が強くなればブロックの角度も変えたほうがよくなり、ブロックを変えれば効く筋肉も変わる。片方を固定したまま他方を完璧に仕上げても、両方を揃えた状態には届きません。
LLMエージェントでも同じことが起きています。今回読むのは原題 "WHALE: A Simple Recipe for Joint Harness-Weight Optimization"(Haechan Kim ら、arXiv:2609.00196、2026年8月31日公開)。
要旨はこうです。エージェント性能はモデルのパラメータと、文脈と制御フローを管理する実行可能なハーネスコードの両方に依存する。一方だけを最適化すると凍結されたもう一方がボトルネックになる——重みを更新すればどのハーネスが有効かが変わり、ハーネスを更新すればモデルのどの能力が引き出されるかが変わるからだ。既存の共同適応手法は重みとテキストのプロンプトは最適化するが、その外側のハーネスは固定したままである。そこで著者らは WHALE(Weight-Harness Alternating LEarning)、すなわち「現在のハーネスの下でモデルを更新する」フェーズと「更新後のモデルの下でより良いハーネスを探索する」フェーズを交互に回すだけの単純なレシピを提案する。
そもそも「ハーネス」とは何か
論文の定義は明快です。ハーネスとは、どの観測を文脈に入れるか、ツールをどう見せてどう呼ぶか、実行エラーをどう扱うか、いつ対話を終えるかを決めるコード(§1)。システム指示、ツールスキーマ、文脈管理、パーサと実行ロジック、終了ポリシーが含まれます(§3)。
つまりプロンプトはハーネスの一部にすぎません。既存研究は「モデルの外側」をテキストに限定していた、というのが著者らの整理です(§2)。論文が挙げる例が分かりやすい。検索ツールを持つQAエージェントでは、壊れたハーネスが決して取ってこない証拠は、どれだけ強い重みでも使えない。逆に、返ってきた証拠を統合できないモデルには、優れた検索も役に立たない(§1)。
最適化したいのは、たった1つの期待報酬
モデルパラメータ と実行可能なハーネスプログラム が、軌跡(発話・ツール呼び出しと結果・環境遷移の列) の分布 を決めます。タスク分布 と検証器 のもとで、システムの期待報酬は次のように定義されます(§3)。
言い換えると、「タスクをたくさん引いて、そのつどエージェントを走らせ、正解できた割合を平均したもの」が です。 が個々のタスク、 が実行の記録、 が「正解なら1、不正解なら0」を返す採点器。
欲しいのは を最大にする ですが、論文は 上で直接最大化しません。 を止めて を動かすフェーズと、 を止めて を動かすフェーズに分けます。最適化の世界で座標降下法(Wright, 2015)と呼ばれる古典的な手口です(§2)。
なぜ同時に回さないのか。ハーネス探索は多数のロールアウトを条件にした長い「提案して受理する」サイクルで動き、オンライン微調整はロールアウト収集と勾配更新を細かく交互に行う。更新のリズムが違う。同時に走らせれば各更新が動き続ける相手に対して評価され、原因の切り分けが濁る。避けようとすれば同期の待ち合わせが要る(§1)。
2つのフェーズの中身
重み更新: オンライン棄却サンプリング微調整(RSFT)(§3.1)。固定したハーネスの下でモデル自身に軌跡を生成させ、検証器が正解と判定したものだけを残して普通の教師あり学習をかける。不正解は捨てるだけです。1プロンプトあたり 本をサンプルし、モデルが生成したトークン位置のみ(ユーザプロンプトやツール返答は除く)で対数尤度を最大化します。
ハーネス探索: Meta-Harness(MH)(§3.2)。「提案 → 評価 → 選択」の反復です。各反復で提案器(実験では Claude Opus 4.7)がアーカイブ内のソースコードと過去の評価成果物をファイルシステム越しに読み、 個の候補ハーネスをコードとして書く。各候補を採点し、アーカイブ全体で最高得点のものを受理します。過去の候補の改良も、前の設計への差し戻しも可能です。
WHALE 本体は、驚くほど短い
サイクル の更新はこれだけです(§4)。
読み下すと、「いまのハーネスでモデルを少し訓練し、その訓練後のモデルでハーネスを少し探索する。繰り返す」。WHALE が2つの更新手続きにブラックボックスのインターフェースしか要求しない点が肝で、RSFT でも MH でも別手法でも差し替えられます。
コメント
コメントにはログインが必要です