コードは毎回30を返す。ロボットの手は、毎回同じ結果にならない
たとえば、開発用のAIエージェントに「このAPIのテストを足して」と頼むとします。要件を読み、コードを書き、テストを走らせ、失敗したら直す。2026年の現場では、この流れを見かけることが増えました。
同じ相手に、ロボットへ「テーブルの上を片付けて」と渡したとします。コップの位置、中の水、隣の皿、指の力。少し違うだけで、結果は変わります。手順を言葉で説明できることと、その場で物を落とさず動かせることは、別の能力です。
ヤン・ルカン(Yann LeCun) 氏は、この差を繰り返し話してきました。深層学習の初期からの研究者の1人で、2018年のチューリング賞をヨシュア・ベンジオ氏、ジェフリー・ヒントン氏と共同で受賞しています。2024年3月の対談 Yann LeCun: Meta AI, Open Source, Limits of LLMs, AGI & the Future of AI(Lex Fridman Podcast #416)では、こう対比しています。LLMは司法試験に通るほど言葉を扱える。それでも、17歳が約20時間で覚える運転や、10歳が1回見て覚えられる食卓の片付けと食洗機への収納は、同じようには学べない、という問題提起です。該当箇所は開始から約9分で、対談の文字起こしにあります。
この対比は、モラベックのパラドックスとしても紹介されています。計算機はチェスや積分のような記号処理が比較的得意で、物をつかむ、車を運転するといった日常の動作は難しい、という指摘です。
JEPAが画素を生成しない理由や、AMI Labsの位置づけは、技術者が知るべきルカンの挑戦:世界モデルが変えるAI開発の未来に書きました。以前の記事は、言語モデルを伸ばすだけでは長い計画が難しい、という批判の紹介です。ここから先は、言語モデルを残したまま、行動の前に結果を予測する部品をどう置くかを見ます。
言語モデルが学んでいるのは、続きの言葉である
現在の大規模言語モデル(LLM)の基本的な学習の1つは、与えられた文脈から次のトークンを予測することです。トークンは、文章を処理するために分割した単位です。
「コップをテーブルの端に置くと、落ちて」と続ければ、「割れる」のような語が出てきます。このときモデルは、コップを落としていません。大量の文章に現れた続き方と、その文章に書かれた物理の知識を使っています。
物理について何も分かっていない、と切る話ではありません。現象を説明し、式を使って結果を推論できるモデルはあります。足りないのは、その知識が、現場で安定した動作にそのまま移るという保証です。
プログラムの整数演算は、条件が揃えば結果が決まります。次のコードは Python 3 で、外部ライブラリは使いません。
a = 10
b = 20
print(a + b)
整数のまま足せば、出力は30です。入力と処理が同じなら、結果も同じです。
ロボットがコップをつかむときは、位置、重さ、表面の摩擦、関節の角度、把持力、周囲の障害物、センサーのノイズが同時に効きます。同じ指令でも、結果は毎回同じとは限りません。物理の世界は、記号の計算より連続で、不確実です。言語やコードが上手になっても、把持のばらつきは言葉の成績とは別の設計になります。人は、そのばらつきを手順書なしで扱っています。
10歳の片付けは、手順書の暗記ではない
先の対談でルカン氏が挙げた、10歳の子どもが食卓を片付け、食洗機に入れる場面を、もう少し具体的に見ます。その作業専用の大量の正解ラベルがなくても、ある程度できます。水が残ったコップ、傾けると落ちる食べ残し、ガラスは落とすと割れる、大きい皿から運ぶ、食洗機では重ねすぎない。if文の一覧が先にあるのではなく、その日のテーブルの状態から判断しています。
これは2024年3月時点の問題提起です。2026年には、条件を限れば皿を積む研究用ロボットもあります。氏が問うているのは、子どもが1回の経験から広い状況へ当てはめる学習が、言語モデルの延長だけで得られるかです。
従来の産業用ロボットは、対象と条件を狭くし、動作を先に設計することが多かったです。深層強化学習や模倣学習で、柔軟さは増しています。未知の部屋で、初めて見る配置に合わせることは、いまも大きな研究課題です。
人は、言葉を覚える前から、未知の配置でも次に何が起きるかを予測しています。物は落とすと下へ動きます。隠れていても、消えたわけではありません。ボールが机から落ちるのを見れば、床に落ちる、材質によっては跳ねる、家具の下に転がるかもしれない、と先をある程度予想できます。予測が外れたら、次の予想を直します。
2022年6月27日付の構想論文 A Path Towards Autonomous Machine Intelligence(version 0.9.2)が中心に置いたのも、この予測です。環境の表現を学び、行動の結果を先に見て、複数の時間の長さで計画する。論文は、そのためのアーキテクチャの案です。芯になる操作は、動く前に次の状態を計算することです。
行動する前に、次の状態を仮に進める
世界モデル(World Model) とは、いまの状態と行動から、その後の状態を予測するモデルです。式にすると、次のように書けます。
s_{t+1} = f(s_t, a_t)
s_t が現在の状態、a_t が行動、s_{t+1} が次の状態、f が予測です。現場では次の状態が1点に決まらないので、分布 P(s_{t+1} | s_t, a_t) として持つこともあります。
この形自体は新しくありません。制御工学では、モデル予測制御(Model Predictive Control、MPC) として長く使われてきました。現在の状態から制御入力を何通りか仮定し、将来の状態を予測します。その中から、目標に近く、制約を満たす入力を選びます。ルカン氏の構想は、この予測と計画を、深層学習で得た世界の表現とつなごうとするものです。
たとえば、テーブル上のコップを動かす候補が3つあるとします。上からつかむ。横からつかむ。押してずらす。それぞれについて、こぼれるか、隣に当たるか、移動できるかを予測し、危ない結果を重く見たコストで比べます。実行するのは、そのコストが0になった行動だけです。
次のコードは、その比べ方だけを書いた最小例です。Python 3.10以降で動きます。外部ライブラリは使いません。実機にも物理エンジンにも接続しません。点数は説明用の仮の規則です。学習済みの世界モデルは、このコードには入っていません。上からつかむと中身がこぼれる、という規則は単純です。実際の把持は、姿勢と速度で結果が変わります。
from dataclasses import dataclass
@dataclass(frozen=True)
class TableState:
cup_has_liquid: bool
side_blocked: bool
push_tips: bool
@dataclass(frozen=True)
class Outcome:
spilled: bool
collided: bool
moved: bool
def predict(state: TableState, action: str) -> Outcome:
if action == "grasp_top":
return Outcome(spilled=state.cup_has_liquid, collided=False, moved=True)
if action == "grasp_side":
return Outcome(spilled=False, collided=state.side_blocked, moved=True)
if action == "push":
return Outcome(
spilled=state.push_tips or state.cup_has_liquid,
collided=False,
moved=True,
)
raise ValueError(action)
def cost(outcome: Outcome) -> int:
# 小さいほどよい。こぼしと接触を、移動の失敗より重く見る
return (
(10 if outcome.spilled else 0)
+ (8 if outcome.collided else 0)
+ (0 if outcome.moved else 5)
)
def choose(state: TableState, actions: tuple[str, ...]) -> str | None:
best = min(actions, key=lambda action: cost(predict(state, action)))
# コストが0でないなら、この階層では実行しない
if cost(predict(state, best)) > 0:
return None
return best
if __name__ == "__main__":
actions = ("grasp_top", "grasp_side", "push")
empty_cup = TableState(cup_has_liquid=False, side_blocked=True, push_tips=True)
full_cup = TableState(cup_has_liquid=True, side_blocked=True, push_tips=True)
print(choose(empty_cup, actions)) # grasp_top
print(choose(full_cup, actions)) # None
空のコップで、横が塞がり、押すと倒れる設定では、grasp_top のコストが0になり、それが選ばれます。水が入っていて、横も塞がり、押すと倒れる設定では、どの行動もコストが0になりません。関数は None を返します。この階層では安全な手がない、という結果です。水を捨てる、隣の皿をどける、といった上位の計画に戻る合図になります。
この例の予測は、常に1通りです。実際の世界モデルが出すのは、次の状態の分布です。確信度が低い行動は選ばない、という段を足すことがあります。予測そのものが間違っていると、コストが最小の行動が、現場では危ない行動になります。
服の模様まで、予測しなくてよい
予測が間違うと、危ない行動を選びます。もう一つ難しいのは、当てにいく情報が細かすぎることです。
世界モデルと聞くと、未来の映像を細部まで描くシミュレータを想像することがあります。ルカン氏は、2022年の論文で、画素そのものを予測しないアーキテクチャを中心に置いています。
カメラを右に向けたとき、人が座っていることは予測できても、服の細かい模様や床の傷の位置まで当てるのは難しいです。人にぶつからずに通るために要るのは、人の位置、進む向き、障害物までの距離です。模様が違っても、回避の判断はほぼ変わりません。
ソフトウェア開発では、同じ切り分けをすでにしています。データベースを使うアプリケーションは、ディスクの磁気的な状態を見ません。SQLで、必要なデータだけを操作します。アプリケーション側が使うのは、TCP/IPです。世界モデルに入れるのも、目的に要る項目だけです。移動では、自分の位置、進行方向、障害物までの距離、通れる空間、目標地点を持たせます。壁の模様や床の色は、多くの移動計画では使いません。
画素やフレームを生成する世界モデルが、別の問題に向くこともあります。名前が同じで中身が違う話は、同じ名前で中身は別物——「ルカンの世界モデル」と「Sakana AIのWorld Models」、何が違うのかに整理しました。生成して探索できる世界の側は、プロンプトから「遊べる世界」が生まれる——Project Genie と Genie 3 ワールドモデルを技術者の視点で読み解くです。画素を描かず、必要な項目の表現だけを予測する型が、JEPAです。
JEPAは、画素ではなく表現を予測する
JEPA は、Joint Embedding Predictive Architecture の略です。日本語では共同埋め込み予測アーキテクチャと呼ばれることがあります。埋め込み(Embedding)は、画像や文章を、学習で扱いやすい数値ベクトルに変換することです。画素の集合のまま扱うのではなく、特徴をベクトルにします。
基本の流れは、次のとおりです。入力をエンコーダに通し、潜在表現にします。予測器の仕事は、その表現から、対象側の潜在表現を出すことです。対象データもエンコーダに通し、予測した表現に近づけます。I-JEPAやV-JEPAの対象側エンコーダは、学習側の重みをゆっくり追従する仕組みです。学習が合わせるのは、潜在表現どうしの近さです。画素を復元する損失は、必須にしていません。
画像での具体化が I-JEPA です。Assranらの論文 Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture(2023年)が、その考え方を示しています。動画へ広げたのが V-JEPA で、Bardesらの Revisiting Feature Prediction for Learning Visual Representations from Video(2024年)です。隠した領域の表現を予測する学習手順は、技術者が知るべきルカンの挑戦:世界モデルが変えるAI開発の未来に書きました。
先ほどの服の模様と同じ切り分けを、学習の損失に落とすと、ボールが転がる映像ではこうなります。映像生成モデルは、次のフレームの画素を当てにいくことがあります。背景、照明、影、表面の模様も、生成の対象になり得ます。JEPAが学習するのは、予測しやすい抽象表現の側です。ただし、内部のベクトルが「位置」や「速度」という名前付きの変数になる保証はありません。何が表現に入るかは、データと学習の目的によります。
JEPAは学習の型です。これだけで、ロボットの行動計画は完成しません。行動を条件にした予測、目標、計画、制御、安全の評価を、別の部品として組み合わせます。2022年の論文も、JEPAだけでなく、複数の時間尺度での計画を組み合わせた全体像として書いています。
行動を条件にすると、短い把持の計画に使える
2025年に公開された V-JEPA 2: Self-Supervised Video Models Enable Understanding, Prediction and Planning は、この「行動を条件にする」段を足しています。Metaの解説は Introducing the V-JEPA 2 world model and new benchmarks for physical reasoning です。
第1段階は、行動なしの自己教師あり学習です。人が正解ラベルを付けなくても、映像の一部を隠し、その部分の表現を予測させることで、データ自身から学習の合図を作ります。学習データは、100万時間を超えるインターネット動画などです。エンコーダは、約3億パラメータから約10億パラメータ(ViT-g)まで広げて比較されています。この段階の予測は、エージェントが特定の操作をした結果を、直接は知りません。
第2段階が V-JEPA 2-AC です。凍結したエンコーダの表現の上で、約3億パラメータの予測器に行動を渡します。次フレームの画素ではなく、次フレームの表現を予測するよう追加学習します。使ったのは、公開データセット DROID のラベルなしロボット映像です。論文の要旨は62時間未満、本文は約62時間と記しています。使い方は、画像で与えた目標に向けたモデル予測制御です。論文本文には、途中目標を与えてから行動を選ぶ手順も書かれています。ここで planning と呼ばれている処理は、埋め込み空間でのモデル予測制御です。言語側が組み立てる長い手順とは、層が違います。
評価は、学習に使っていない2つの実験室の Franka アームです。単眼のRGBカメラの映像から、物体をつかみ、別の場所へ置く動作を実行した、と論文は報告しています。それらの環境で新たにデータを集めず、タスクごとの報酬学習もしていません。論文が示した範囲は、短い時間幅の到達、把持、設置です。食卓の片付け一般を解いた、という報告は、この論文にはありません。予測がずれれば、誤った行動を選びます。
計算時間も、別の制約です。毎ステップで重い未来生成を回すと、制御の期限に遅れます。その理由で世界モデルの使い方を絞った実装は、【技術解説】次世代ロボットAI「MolmoAct2」は、なぜ“ワールドモデル全面依存”を避けたのかに書きました。次に見るのは、その予測を、短い動作と長い目標でどう分けるかです。
歩いて駅に行くとき、筋肉から計画しない
ルカン氏は、世界モデルに加えて、階層的な計画も重視しています。先の対談でも、階層的計画は独立した話題です。短い把持の予測ができても、食卓全体や倉庫の運搬は、その予測を何段かに分けないと収まりません。
駅まで歩くときを考えてみます。家を出る時点で決めるのは、目的地と、どの道を通るかです。歩き始めてからは、段差や人を避けながら体を動かします。足を出すたびに、筋肉への指令を決めています。大きな目標と細かい動作では、決める時間の幅が違います。
先のコードが None を返すのは、歩くときの足の置き方に当たる、下の段です。コップの例に戻すと、つかむ手が安全でないなら、水を空にする、隣をどける、という中位の作業に戻ります。中位が詰まるなら、上位で決め直します。このテーブルを片付けるか、別の場所から始めるかです。
倉庫の荷物運搬に置き換えると、役割は次のように分かれます。
| 階層 | 役割 | 例 |
|---|---|---|
| 上位 | 長い目標を決める | 倉庫の荷物を出荷場所へ運ぶ |
| 中位 | 目標を作業に分ける | 荷物を持ち上げ、経路を選ぶ |
| 下位 | 具体的な動作を決める | 関節の角度や移動速度を調整する |
| 制御 | 実際の動作を安定させる | センサーの値に応じて補正する |
階層にすると、すべての関節軌道を最初から探索せずに済みます。ソフトウェアを責務ごとに分割する設計と同じ発想です。難しいのは、階層のあいだで、どの状態とどの目標を渡すかです。粗すぎる目標は下位が実行できず、細かすぎる目標は上位の計算が制御周期に間に合いません。
実行したあと、予測と観測を見比べる
この階層を1回の動作の繰り返しにすると、開発用エージェントとの差が、ここでも出ます。ソフトウェア開発のエージェントは、要求を解釈し、作業を分け、コードを書き、テストし、エラーを読んで直します。計画の材料は、言語とツールの結果です。倉庫のロボットは、それに加えて状態の変化を予測します。通路に人が出るかもしれない。荷物の重さで停止距離が変わるかもしれない。床が滑る場所では、通常とは違う制御が要るかもしれない。
1回のサイクルは、観測して状態を推定し、行動の候補を出し、結果を予測して評価し、実行し、実行後にもう1度観測する、という順です。実行後の観測が予測と違えば、モデルか計画を直す材料になります。ロボットや自動運転のように、物理環境を認識して動くAIを、フィジカルAIと呼ぶことがあります。認識からモーターまでの層と、出力が次の世界を変えてしまう閉ループは、「ロボットのAIなんて昔からあったよね?」——それでもフィジカルAIが新しいと呼ばれる理由に書きました。
予測が外れても、安全側に倒せるか
予測してから動くようにしても、その予測が外れれば、コストが最小に見えた行動が接触や転倒になります。世界モデルは、現実での試行錯誤を減らし、未知の状況への対応を広げる有力な方法です。安全の確認は、その予測の点数とは別です。
4足歩行で未知の段差に遭ったとき、足の置き方を内部モデルで比べる、という使い方が考えられます。モデルが段差の高さを誤ると、比較は逆の結論です。実機で別に確認するのは、モデルの不確実性、安全制約、そして制御周期の中で計算が終わることです。
強化学習は、試行を通じて方策を獲得します。モデルベース強化学習は、学習した環境モデルの中で方策を改善します。世界モデル、強化学習、模倣学習、従来のフィードバック制御は、層ごとに担当を分ける組み合わせです。基礎の整理には、SuttonとBartoの Reinforcement Learning: An Introduction(第2版、2018年)が使えます。
言葉の指示は、LLMが受け持つ
ここまで見てきたのは、状態の変化を予測して体を動かす側です。人が言葉で頼む部分は、LLMが担いやすい仕事です。指示の理解、知識の利用、作業の分解、人との会話が、そちらに寄ります。世界モデルは、環境の状態がどう変わるかの予測に使います。
将来の家庭用ロボットでは、こんな分担が考えられます。人が「夕食の準備をして」と言う。LLMが指示を解釈し、作業を整理する。世界モデルが、調理器具や食材の状態と、行動の結果を予測する。計画が、安全と効率を見て手順を選ぶ。制御が、関節を動かす。これは、あり得る構成の1例です。
ルカン氏の指摘に近い読み方は、こうです。LLMを大きくするだけでは埋まらない問題があり、その問題は、状態を予測して行動を選ぶ側にある。
現場のデータは、あるだけでは学習できない
その予測に使う状態は、インターネット上の文章だけでは出てきにくいことがあります。製造や物流では、工作機械の振動や温度、ラインの稼働履歴、反応の条件と結果、材料の物性、故障の兆候、熟練者の操作が、材料になります。
データが保管されていることと、学習に使えることは別です。センサーの品質、時刻の同期、欠損、設備ごとの差、どの行動がどの結果に対応するか。この対応が記録されていないと、f(s_t, a_t) の学習データになりません。ITエンジニアの仕事は、モデルを自作することより先に、この対応が記録される基盤を作ることです。収集、監視、権限、監査の備えは、フィジカルAI時代に、IT技術者は何を準備すべきかに書きました。
学習に使える記録が手元にあっても、生データを外に出すかは別の判断です。その型の1つが、AI Allianceの Project Tapestry です。拠点ごとに学習し、生データではなくモデルの更新だけをやり取りします。狙いは、共通の基盤モデルと、各組織が手元に持つ派生モデルを両立することです。ルカン氏はAI Allianceの科学顧問で、科学的な方向づけはProject Tapestryに寄せると、発表文に書かれています。発表は AI Alliance Launches Project Tapestry to Build a Collaborative Foundation for Open and Sovereign AI です。
プロジェクトページによれば、2026年9月1日に完了したPhase 0では、インド、オーストラリア、米国のAWSリージョンにまたがる実証を行っています。学習データを拠点の外に出さず、OLMo 3 7Bの継続事前学習を120億トークン分進めた、と書かれています。この実証が見ているのは、基盤モデルの共同開発と、データを拠点の外に出さない統治です。
工場のセンサーで、更新だけを共有する型を採るかは、現場ごとに決めます。120億トークンが数えているのは、継続事前学習の量です。
正答率の隣に、「やってしまった結果」を置く
現場のデータを予測に使えたとしても、評価が質問の正答率のままだと、行動の失敗は見えません。生成AIの評価は、質問への正答率、コード生成、数学的な推論で語られることが多いです。現実世界で動くシステムでは、見る項目がもう1段要ります。ロボットが問われるのは、物を落とさずにつかみ、障害物を避け、安全に作業を終えることです。予測が外れたときの計画修正も、評価に入ります。項目の広がりは、次の表のとおりです。実際のシステムでは、両方の列が重なります。
| 観点 | 言語を中心にしたAI | 現実世界で動くAI |
|---|---|---|
| 主な入力 | 文章、画像、コード | センサー、映像、環境の状態 |
| 主な出力 | 文章、コード、ツール操作 | 物理的な行動、制御指令 |
| 見たい能力 | 知識の利用、推論、生成 | 状態の推定、予測、計画、適応 |
| 評価 | 正答率、タスク達成率 | 成功率、安全性、未知の状況での頑健性 |
| 詰まりやすい点 | 正確さ、信頼性、長い推論 | 不確実性、制御の期限、未知の環境 |
これまで多くのシステムは、情報を処理し、正しい結果を出力するように作ってきました。生成AIで、言葉による作業の支援が加わりました。次に設計で問われるのは、環境の変化を予測し、行動を選び、外れたら直せるかです。
世界モデルとJEPAは、その有力な研究方向です。生成モデル、強化学習、ロボティクス、従来の制御も、並行して進んでいます。
手元で始められるのは、大きいモデルの契約の前に、1つの作業について4つを書くことです。予測したい状態。選べる行動。起きてはいけない結果。その予測が、制御周期の中で計算できるか。上のコードは、そのメモを、実行できる形にした最小例です。
作成日: 2026-10-15