自動車を組み立てるロボットアームのソフトウェアを、人の代わりにAIが書けるのでしょうか。結論から言えば半分だけです。いまのコーディングAIは、コードを書き、テストを回し、間違ったところを直す作業はそれなりにこなします。ところが、自分が設計した構造物が鉄の塊となって荷重を受けたとき、どう耐えるのかはほとんど見通せません。
ハーバードとジョージア工科大の研究陣が公開した RLE-Bench は、その境界線を数字で引きました。噛み砕いて言えば「ロボット学習エンジニア資格試験」です。試験を分解していくと、一つのパターンがひたすら繰り返されます。AIは、スコアとしてはっきり採点される目標はよく当てます。逆に採点基準を隠しておくと、複数の条件が絡み合って後から現れる結果を取りこぼします。この記事では、その一行を三つの場面で追っていきます。
これまでコーディングAIの実力を測る試験は、ほとんどがモニターの中で完結していました。リポジトリのバグissueをパッチで直したり、長いターミナル作業をやらせたり、機械学習モデルを訓練させたり、という具合です。一方でロボット側の試験は、物理世界を扱いはするものの、たいていは「ポリシー一つ」の性能だけを測ってきました。ポリシー(policy)とは「この状況ではこう動け」を定めておいたロボットの行動ルールです。新人を採用するのに「ロボットアームがカップをつかむ成功率」だけを見て終わる、というわけです。
現場エンジニアの仕事は、その手前にはるかに多くあります。装置を組み立て、センサーを校正し、故障を診断し、ハードウェアの限界のなかで制御器を書き、だめならモデルを訓練し直します。RLE-Benchは、この過程全体を一つの試験場に載せました。「コーディング能力」と「ロボットの動作」を別々に測ってきた従来のやり方を束ね、「ロボットを作り出すコーディング能力」 という新しい答案用紙を広げたのです。
この試験の最も巧妙な設計は、開発と採点を分離 したところにあります。AIは決められた予算(時間・インタラクション回数・計算資源)のなかでワークスペースをいじり倒し、成果物を作って提出します。すると、その成果物が採点者専用の環境に渡され、評価を受けます。
このとき、採点に使う三つのものをAIから隠します。毎回状況を少しずつ変える無作為の設定値(シード)、物体の実際の位置のように採点者だけが知っている正解情報(特権状態)、そして採点基準となる正解ファイルです。開発中は見たことのない場面・ロボットの機体で採点するので、暗記した答えではなく、一般化された実力が浮かび上がります。この「隠し」が、この後で三度も決定的な役割を果たします。
51課題は、似た性格どうしで9つのまとまり(ファミリー)に、さらに四つの系統の仕事に整理されます。それぞれの系統が何を見るのか、代表課題を一つずつ挙げて押さえていきます。
最終スコア(RLE Index)は、この四系統に同じ重みをかけて平均します。一分野だけ得意でも順位を押し上げられない構造です。
試験台に上がった選手たち 評価対象は11個の「モデル-ハーネス」の組み合わせです。ここで言う ハーネス(harness) とは、AIモデルにファイルの読み書きやターミナルコマンドの実行といった「手足」を持たせる道具一式であり、作業環境でもあります。モデルが頭脳なら、ハーネスは身体というわけです。 - 商用の先頭モデルたちは、それぞれのメーカーが作った専用ハーネス(コーディングエージェントのCLI)の上で動きました。 - 専用ハーネスのないオープンソースモデルは、汎用コーディングハーネスの文脈管理戦略を借りて評価されました。 - 考える時間を長く取らせる「推論強度」はすべてhighにそろえ、ウェブ検索は塞ぎました。検索で正解を写すのではなく、「与えられた環境で推論するか」を測るためです。
首位は商用最上位モデル二種でした。論文によれば、この二つが他のモデルを引き離した背景には、視覚グラウンディング、つまり画面のなかの物が何でどこにあるのかを読み取る能力が効いているようです。ただしこれは、二つのあいだの順位差を視覚能力で説明したものでも、コードの実力の影響を切り分けて否定したものでもありません。他モデルに対する優位の差は、操るところと言い当てるところで最も大きく開きました。どちらも複数の感覚信号を読んで反応しなければならない仕事です。
逆に、訓練するような伝統的な機械学習課題では、モデル間の差が目に見えて狭まりました。コードを書き、モデルを訓練する基礎体力は、上位モデルどうしでは拮抗してきたという信号と読んでよいでしょう。ただし、このデータ一つで「コーディング・MLは終わった問題だ」と断じるのは早計です。あくまでこの試験のなかでの観察です。
同じ傾向は姿勢推定課題でも見えます。ほとんどのモデルが、色だけを持つ映像(RGB)より、深度情報まで持つ映像(RGB-D)でスコアを上げました。しかし本当の差は「隠れ(オクルージョン)」の扱い方で出ました。物体が隠れて見えないとき、うまいモデルは深度で3D位置を無理に復元しようとはせず、「隠れているか、いないか」という単純な判断にその情報を使いました。とりわけ、ある最上位エージェントは、深度を信じられない状況に備えて小さなニューラルネットワークを自前で訓練し、手段を問わない課題で実際にGPUを持ち出した唯一のエージェントでした。単純な姿勢推定ですら隠れが絡むと、最上位モデルだけが信頼できる知覚システムを立てられた、ということです。
開発中に受ける評価フィードバックは、たしかに実力を押し上げました。ポリシー開発課題でAIは開発の途中で暫定スコアを受け取れるのですが、36セッション中29で、最終提出物が最初のスコアより良くなりました。
問題は、その改善が フィードバックの見える範囲でぴたりと止まった 点です。評価セットをあらかじめ回せた課題では、開発中の成績が公式スコアを5点以内で当てました。ところが、試験時点の撹乱(揺さぶってくる突発変数)を最後まで隠したロバスト性課題では、公式スコアが開発スコアよりLIBEROで19点、RoboTwinで41点も下に落ちました。いくつかのAIは、隠れた撹乱を見越して自前の模擬試験を作りもしましたが、このギャップを埋められた例はありませんでした。
ここでもう一つ、目を引く逆説が出てきます。補助ツールが常に役立つとは限らない、という点です。ある課題のハーネスは三段階でした。L1は基本の命令(API、ロボットに使えるようあらかじめ用意された関数のまとまり)だけ、L2は物体を見てつかむ位置を計算する把持(つかみ)計画モジュールまで、L3は物体の位置のような正解情報まで与えます。ほとんどのモデルは支援が増えるほどスコアが上がり、コストが下がりました。ところが最も強いモデルの一つは、L1だけでも強く、支援を足しても上がらない、あるいはかえって下がりました。ある線を越えたモデルにとっては、外部モジュールが自分の判断と衝突しうるという信号です。ただしこれは最も強いモデル一つで出たパターンなので、一般法則として受け取るには事例がまだ薄いのが実情です。
いちばん痛い場面は、設計するところで出ました。
複数のロボットアームを載せる移動ベースを設計する課題は、構造的妥当性・効率・安定性・課題達成で採点されました。ほとんどのモデルが構造的妥当性は通過しました。機械的にもっともらしい設計を出しはした、という意味です。ところが同じ設計が物理評価でしばしば崩れ、九つのモデル全部が「最悪条件のアームに対する静的安定性マージン」で0点を取りました。静的安定性マージンとは、ロボットがじっとしているときに倒れずに耐える余裕のことです。
理由はまた「隠し」にあります。指示文は要求される属性をすべて教えましたが、採点者がどんな荷重をかけ、どんな動作をさせて合否を分けるのか(検証プロトコル)は隠しました。すると、AIたちは目に見える設計目標は満たしながら、荷重の下での不安定や動作中の衝突のように、複数の力が絡んで出てくる結果を丸ごと取りこぼしました。
ひとことで言えば、AIは木(部品一つ一つがもっともらしいか)はよく見えるのに、森(その部品たちが荷重・慣性・接触をやりとりしたとき全体がどうなるか)は見えていない、ということです。機械設計でモデル間の差が小さかったのも、よくできたからではなく、みんな一様にできなかったからでした。
著者たち自身が認めた限界が三つあります。すべてシミュレーションのなかの測定なので実世界の安全を保証しない、四系統のワークフローはエンジニアの仕事の一部しか写していない、そして試験を公開すればのちに訓練データへ漏れ込み、評価の妥当性が揺らぎうる、という三点です。だからこそ、展開の前には独立した検証と人間の監督を勧めています。
これに、切っ先の鋭い問いを二つ加えたいと思います。一つ、ロバスト性課題の41点もの急落は、本当に「モデルが弱いから」なのでしょうか。それとも、現実のエンジニアでも当てられない無理筋の変数まで隠した「不公平な試験」ではないのでしょうか。このデータだけでは両者を切り分けられません。二つ、四系統を等しく扱って平均した一行のスコアは、「制御はさほど重要でなく知覚がすべて」という組織では順位をひっくり返してしまいます。総合スコアより系統別のプロファイルを見るべき理由です。
この論文をレンズにして自分たちの仕事を見直すと、「隠れた物理法則」に当たる技術的負債が、ソフトウェアにもそのまま潜んでいます。一つの場面を最後まで追ってみます。
顧客が「注文データ連携のダッシュボードをつけてほしい」と言います。AI PMが仕様を読んで作ります。画面が出て、数字が埋まり、「レスポンス200、DB行数一致」は難なく通過します。移動ベース課題でほとんどのモデルが構造的妥当性は通過した、まさにあの構図です。見かけ上は完了です。
問題は隠れた側にあります。ピーク時間帯の同時接続でクエリが崩れないか、連携トークンが失効したら静かに空の値へ落ちないか、為替や時差のせいで合計がずれないか。どれも後から、間接的に現れる結果です。論文のとおり、指示文に要求がすべて書いてあっても、採点のやり方が隠されていれば、AIはこうした絡み合った結果を取りこぼします。
そこで私たちが変えたのは「完了」の定義です。完了とは「開発を担ったAI PMが自分のテストを通過した状態」ではなく、運用に近い条件で回す 別個の検証を通過した状態 と置きます。開発者が自分の試験だけを信じて完了を報告すると、ロバスト性課題で見たあのギャップを、運用でそのまま踏むからです。代わりに、フィードバックは測る範囲のなかでは確実に実力を伸ばすので、その別個の検証に実際の失敗モード(同時性・トークン失効・単位の不一致)を仕込みます。隠しておいた試験を通過して、ようやく完了です。
モデルは考える時間が長いほど成績が変わります。組み合わせごとにこの条件がばらばらだと、ハーネスやモデル自体の能力ではなく「どれだけ長く考えさせたか」を比較することになってしまいます。そこで研究陣は推論強度をすべて「high」にそろえました。ただし、この「high」が最大値というわけではありません — 評価対象のモデルの一部は、それより高い強度にも対応しています。また、設定値の名前をそろえたからといって、モデルごとに実際に費やした推論量やハーネスの及ぼす影響まで同じように制御できた、と見るのは難しいです。
コーディング試験は画面のなかで完結し、間違えても元に戻せます。ロボットは違います。結果が物理として現れ、元に戻せず、荷重・慣性・接触といった力が互いに絡み合います。部品一つ一つをもっともらしく書く能力と、それらが絡み合ったときの結果を見通す能力は、まったく別の筋肉です。
保証はできません。すべての測定がシミュレーションのなかで行われ、著者たちも実世界の性能と安全は別物だとして、展開の前に独立した検証と人間の監督を釘づけにしています。しかも総合1位が、自分の組織にとって重要な軸でも1位だという保証はないので、スコア一行ではなく系統別のプロファイルを見て判断すべきです。