コーディングエージェントの「ハーネス」を解剖する — 良い骨格が性能をつくる

コーディングエージェントを包むハーネスを「計画・行動空間・コンテキスト管理」という三つの部品に分解し、176通りの設定で比較した研究。予算が厳しいほどコンテキスト管理が、モデルが強いほど計画がコスト削減の道具になる。
← 목록으로
온
온틀 리서치
2026년 10월 03일 更新 2026.10.16 読了 9分 閲覧 2

自律型コーディングエージェントが実際にうまく働けるかどうかは、モデルそのものの賢さだけでなく、そのモデルを包む「ハーネス(harness、エージェントの実行骨格)」がどれだけうまく設計されているかにかかっています。本論文は、これまで丸ごとひとまとめでしか評価されてこなかったハーネスを、計画・行動空間・コンテキスト管理という三つの部品に分解し、176通りの条件を揃えて一つずつ差し替えながら比較しました。その結果、「何がいつ効くのか」を部品単位で明らかにした点が核心的な成果です。

この論文が解く問題

料理人(モデル)の腕がどれだけ良くても、厨房(ハーネス)の動線と道具の配置がめちゃくちゃなら、良い料理はなかなか生まれません。コーディングエージェントも同じです。同じ言語モデルを使っても、そのモデルにどう計画させ、どんな道具を持たせ、対話の記録をどう管理するかによって、長い工程のソフトウェア作業の性能は大きく変わります。

問題は、従来の研究がハーネスを一つの「一体型システム」として評価してきたことです。厨房全体をA案とB案でしか比べないと、肝心の性能を押し上げたのが動線なのか包丁なのか冷蔵庫なのか分かりません。どの個別部品が実際に効いているのかが曖昧なまま残っていたのです。

そこで本論文はアプローチを逆転させます。実行ループ(エージェントが観察→判断→行動を繰り返す骨組み)を固定した軽量なハーネスを用意しておき、次の三つの部品だけを変えながら実験します。

  • 計画(planning):作業をあらかじめ段階に分けて立てること
  • 行動空間(action space):エージェントが使える道具の形
  • コンテキスト管理(context management):長くなった対話・作業記録をどう削り、どう維持するか

核心となるアイデア

研究チームは四つのモデルを二種類のベンチマーク(SWE-Bench Verified、Terminal-Bench 2.1)で走らせました。前者は実際のソフトウェアの課題を修正するタスク、後者はターミナル・コマンドライン中心のタスクだと考えればよいでしょう。そして条件を精緻に「揃えて(matched)」176通りを比較しました。他の条件は同じにして一つの部品だけを変えなければ、性能差がその部品のせいだと言えないからです。

三つの部品を日常の比喩でほぐすと、こうなります。

コンテキスト管理 — 机の片づけ方。 作業が長引くと、机の上に書類(対話・ログ・コード)が山積みになります。机(コンテキストウィンドウ、モデルが一度に見られる情報量)には限界があり、あふれると作業がまるごと崩れてしまいます。研究チームは五つの片づけ戦略を比較しましたが、そのうち二つの方式が対照的です。一つはルールベースの削除(elision、決められた規則で重要度の低い内容を切り落とす)、もう一つはLLMベースの要約(summarization、モデルが自分で縮める)です。もう一つの変数は「切り落とした内容を後で取り出せるように(recoverable)しておくか」です。

計画 — 着手前のメモ。 仕事を始める前に段取りを書いておく習慣です。初心者には道に迷わないよう支える足場になり、熟練者にはすでに知っている道なので大きな助けにはならないものの、無駄足を減らす効果があります。

行動空間 — 道具箱の構成。 エージェントに、よく定義された専用ツール(predefined tools、ファイル編集・検索のような特化機能)を複数持たせることもできれば、逆にシェルコマンド(bash)一つだけを与えて自分で使いこなさせることもできます。万能ナイフ一本か、用途別の道具セットか、という違いです。

結果とその意味

アブストラクトがまとめた発見は四つです。具体的な数値はアブストラクトに示されていないため、方向性を中心に訳します。

部品 核心的な発見
コンテキスト管理 コンテキストウィンドウの予算が厳しくなるほど価値が大きくなる。利得の大半は、コンテキストのあふれ(overflow)による失敗を防ぐことから生まれる。
コンテキスト戦略 ルールベースの削除をLLM要約より先に配置(staging)するのが、全体の効率として最も良い。切り落とした内容を復元可能にする仕掛けは、モデルがほとんど使わないため精度の利得がない。
計画 弱いモデルには精度を支える足場、強いモデルにはコストを節約する道具へと役割が変わる。精度の変化は大きくない。
行動空間 bashの習熟度が低いモデルは専用ツールが性能を高めてくれる。逆にbashに長けたモデルはシェルだけでもうまく動き、とくにコマンドライン中心のタスクでコストを大きく下げる。

研究チームは軌跡(trajectory、エージェントが課題を解く行動の流れ全体)単位の分析でこれらの効果を説明します。整理すると、三つの部品はそれぞれ別の場所に作用します。

  • コンテキスト管理は軌跡をより長く続けられるようにする。行動そのものを大きく変えはしない。
  • 計画は軌跡がどこで止まるかを変える。
  • 行動空間はコードを書き下ろす単位(granularity)を変える。

この視点が重要なのは、各部品が「性能を上げる」ではなく「どういう形で介入するのか」を切り分けてくれるからです。おかげで、モデルの強弱や予算状況に応じてハーネスを選んで合わせる根拠が生まれます。

限界と残された問い

正直に指摘しておくべき点があります。

第一に、実験は四つのモデルと二種類のベンチマーク(SWE-Bench Verified、Terminal-Bench 2.1)に限られます。別のモデル群や別の性質のタスクでも同じ結論が成り立つかは、本論文の範囲外です。

第二に、研究チームは実行ループをあえて固定した軽量なハーネスを使いました。統制された比較のための選択ですが、実行ループそのものが精緻な実戦向けハーネスでは、部品どうしの相互作用が変わる余地があります。

第三に、「復元可能な削除の仕掛けをモデルがほとんど使わない」という発見は興味深いものの、これが現在のモデルの癖によるものか、設計が使いにくいからなのかまでは、アブストラクトだけでは断定しにくいところです。今後モデルが変われば見直しが必要になる論点です。

ONTLEの視点

ONTLEはAIプロジェクトマネージャーを派遣するサービスです。私たちが扱っているのも結局は「長く働くエージェントを、どんな骨格で包むか」という同じ問題です。本論文から実務へ持ち帰れそうな示唆を整理すると、次のとおりです。

  • 予算が厳しいほど、まずコンテキスト管理から。 コンテキストウィンドウを潤沢に使えない運用環境なら、片づけ戦略の価値はとくに大きくなります。そしてその利得のかなりの部分が「あふれて丸ごと失敗する事故」を防ぐことから来るという点は、実際のサービスの安定性に直結します。安価なルールベースの削除を先に通し、その次にLLM要約を重ねる順番が効率的だった、という発見はそのまま参考にできます。

  • モデルの世代に応じて、計画の役割を変える。 弱いモデルには計画が精度の足場ですが、強いモデルには精度よりもコスト削減の手段に近くなります。どのモデルを載せるかによって「計画をどれだけ強制するか」を調整するのが合理的です。

  • 道具をとにかく多く与えるのが答えではない。 bashに長けたモデルなら、シェル中心のインターフェースだけでもよく回り、コマンドライン中心の作業ではむしろコストが大きく下がります。逆にシェルの習熟度が低いモデルには専用ツールが性能を支えます。ハーネスの設計は「モデル認識・予算認識(model- and budget-aware)」へ向かうべきだ、というのが本論文の結論であり、私たちのプロダクト設計哲学とも通じ合います。

何より、この研究がくれた最大の贈り物は、「一体型の比較から部品単位の比較へ」と視点を切り替えたモジュール型の評価フレームです。これから新しいハーネスの部品が出てくるたびに、「これはどこに、なぜ作用するのか」を問い直せる共通言語が生まれたことになります。

よくある質問

ハーネスとは正確に何ですか?

言語モデルを実際のコーディング作業に投入するために包む実行骨格です。計画を立てさせ、道具を持たせ、長くなった作業記録を管理するなど、モデルの能力を長期のソフトウェア作業の性能へと変換する仕掛け全体を指します。

三つの部品のうち最も重要なのはどれですか?

一つに決められない、というのが本論文の趣旨です。コンテキスト管理は予算が厳しいほど、計画はモデルが弱いほど、専用ツールはシェルの習熟度が低いモデルほど価値が大きくなります。状況によって答えが変わります。

切り落とした内容を取り出す機能は、なぜ利得がなかったのですか?

アブストラクトによれば、復元可能にする仕掛けを追加しても、モデルがその機能をほとんど使わず、その結果として精度の利得がありませんでした。付加的な仕掛けの複雑さだけが増えた格好です。

この結果をすべてのコーディングエージェントに当てはめてよいですか?

注意が必要です。実験は四つのモデルと二種類のベンチマークに限られ、実行ループを固定した軽量なハーネスで得られた結果です。方向性は参考にしつつ、別の環境では再検証が勧められます。

参考資料