🐙

Meta Code World Modelって何?

に公開

Meta Code World Modelを発表

AIの進化は日進月歩ですが、MetaのFundamental AI Research (FAIR)チームが2025年9月24日に発表した「Code World Model (CWM)」は、特にプログラミング分野で画期的なものになりそうです。

この32億パラメータのオープンウェイト大規模言語モデル(LLM)は、単なるコードの「書き方」を学ぶだけでなく、コードが「どう動くか」をシミュレーションする「ワールドモデル」を取り入れています。

従来のAIがテキストベースの予測に頼っていたのに対し、CWMはコードの実行環境を仮想的に再現することで、デバッグや最適化を可能にしました。

CWMの基本コンセプト:コードを「世界」として理解する

もし、AIがコードを書くだけでなく、そのコードが実際に動いたときの結果を「予測」できるとしたらどうでしょうか。CWMはまさにそれを実現するモデルです。

GitHub Copilotのような従来のコード生成AIは、過去のコードパターンを基に「次に来そうなトークン」を予測するだけですが、CWMは「ワールドモデル」という手法を採用し、PythonインタープリタやDocker環境での実行トレース(観測-行動の履歴)を学習します。

これにより、AIはコードの「因果関係」を把握し、変数の変化や出力結果を事前にシミュレートできるようになります。

Metaの研究チームは、これを「神経デバッガー(neural debugger)」と呼んでいます。例えば、無限ループに陥るコードを予測したり、バグの発生箇所を特定したりすることが可能です。

ビデオから物体運動を予測するV-JEPA 2の物理世界のワールドモデルと似ていますが、CWMは「計算世界(computational world)」に特化しています。

AIがコードを「書く」だけでなく、「実行・修正・拡張」するエージェントとして進化する基盤をCWMは提供します。

トレーニングの裏側:3段階で鍛えられた「実行知能」

CWMの強さは、徹底したトレーニングプロセスにあります。Metaは以下の3段階でモデルを構築しました:

段階 内容 トークン数 / 特徴
Pre-training 一般的なプログラミング基礎を学習(コード30%、STEM/テキスト70%)。コンテキスト長:8,192トークン。 8兆トークン / 広範な知識基盤を構築
Mid-training 実行トレースとエージェント環境(Python/Docker)でワールドモデルを注入。コンテキスト長:131,072トークン。 5兆トークン / コードの動的挙動をシミュレート
Post-training 強化学習(RL)で多タスク(コーディング、数学、ソフトウェアエンジニアリング)を強化。 SFT+RL / 検証可能な環境で精度向上

このプロセスで、CWMは静的なコードテキストだけでなく、動的な「世界の変化」を理解できるようになります。たとえば、シェルコマンドの影響やバージョン管理の履歴を考慮したマルチターン対話も可能です。コンテキスト長が長いため、複雑なマルチファイルプロジェクトも扱いやすい設計になっています。

驚異のパフォーマンス:ベンチマークで証明された実力

CWMの能力は数字で裏付けられています。発表時点の主要ベンチマーク結果は以下の通りです:

ベンチマーク CWMのスコア 比較(類似サイズモデル) 特徴
SWE-bench Verified 65.8% (pass@1) Qwen3-Coder(480B)を上回るオープンソースモデル 実際のGitHubイシュー解決タスク
LiveCodeBench 68.6% トップクラス ライブコーディング競技
Math-500 96.6% ほぼ完璧 数学問題解決
AIME 2024 76.0% 強力 高度数学コンテスト

これらの結果は、CWMが単なる「コード補完ツール」ではなく、推論・計画を伴う「エージェント」として機能することを示しています。

特にSWE-benchでは、テストタイムスケーリング(実行時調整)で大規模閉鎖モデル(ClaudeやGPT-5)と肩を並べる性能を発揮しています。オープンウェイトモデルとしては画期的な結果です。

研究者向けにフル公開

MetaはCWMを研究ライセンス(FAIR Non-Commercial Research License)で公開しています。

Hugging Faceでモデルチェックポイント(pre/mid/post-training版)、GitHubでコードと例を提供しています。

商用利用は制限されますが、研究コミュニティのフィードバックを呼び込み、さらなる進化を促す狙いです。すでにRedditのr/LocalLLaMAなどで活発な議論が起きており、ダウンロード数は急増中です。

Metaのビジョンは明確です:「AIを物理世界で動作するエージェントへ」—CWMはその第一歩となります。

未来へのインパクト:プログラミングの民主化へ

CWMの登場は、ソフトウェア開発の風景を変える可能性を秘めています。デバッグの自動化で開発時間を短縮し、初心者でも複雑なアルゴリズムを扱えるようになるかもしれません。業界全体では、GitHub Copilotのようなツールがさらに賢くなり、AI主導の「エージェントコーディング」が標準化するでしょう。

一方で、課題もあります。実行シミュレーションの正確性向上や、セキュリティ面の検証が必要です。

MetaのCWMは、AIが「コードを書く」から「コードで世界を創る」へシフトする象徴的な存在です。

興味がある方は、公式論文やリポジトリをチェックしてみてください。このモデルが、私たちのプログラミングライフをどう変えるか—今後の展開が楽しみです。

Code World Model (CWM)をさらに深掘り

1. CWMの「ワールドモデル」の具体的な仕組み

CWMの最大の特徴は、「ワールドモデル」を使ってコードの「実行環境」をシミュレーションすることです。

普通の言語モデルが「次にどんなコードを書くか」を予測するのに対し、CWMは「このコードが実行されたらどうなるか」を予測します。これは、PythonインタープリタやDockerコンテナでの実行トレース(コードがどう動くかの履歴)を学習データとして使っているからこそ可能になっています。

具体例で考えてみましょう:

たとえば、以下のようなPythonコードがあったとします:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))

普通のコード生成AIは、このコードを見て「文法的に正しい」「次はこんなコードが続くかもしれない」と予測するだけです。しかしCWMは一歩進んで、「このコードを実行すると120(5! = 5×4×3×2×1)が返ってくる」とか、「もしnが負の数だったら無限ループになる」といった警告まで提供してくれます。これは、CWMが「コードの動作」をシミュレーションする能力を持っているからです。

どのような仕組みなのでしょうか?

CWMは、トレーニング中に膨大な実行トレース(コードが動いたときの変数の変化や出力)を学習しています。これにより、コードの「状態遷移」(変数がどう変わるか、どんなエラーが出るか)を内部でモデル化しています。いわば頭の中に仮想マシンがあるような感じです。

たとえば、以下のようなバグのあるコード:

def buggy_loop():
    i = 0
    while i < 10:
        print(i)
        i += 0  # バグ! i += 1 の間違い

CWMなら、「これは、iがずっと0のままなので無限ループになります」と指摘してくれます。

実際、Metaの論文では、CWMがSWE-bench(GitHubの実際のバグ修正タスク)で65.8%の成功率を示したという結果が報告されています。これは、リアルなソフトウェア開発の課題を解決できるレベルに近づいていることを意味します。

2. CWMのトレーニング:どのような学習プロセスで賢くなったのか

先ほど触れた3段階のトレーニング(Pre-training、Mid-training、Post-training)をもう少し詳しく見てみましょう。

Pre-training(事前学習)
8兆トークン(コード30%、STEM/テキスト70%)を使って、プログラミング言語の文法や一般知識を学習します。Python、Java、C++、SQLなど、さまざまな言語をカバーしています。コンテキスト長8,192トークンなので、かなり長いコードも扱えます。たとえば、複数ファイルにまたがるプロジェクトの構造を理解する基礎がここで築かれます。

Mid-training(中間学習)
ここがCWMの「ワールドモデル」のコア部分です。5兆トークンのデータで、PythonインタープリタやDocker環境での実行トレースを学習します。たとえば、コードが「変数xを10に設定→ループでxを2倍→出力」のような流れを追跡します。コンテキスト長が131,072トークンに拡張されたため、非常に複雑なプロジェクトでも全体を把握できます。Dockerを使うことで、実際の環境(OS、ライブラリ依存関係)までシミュレートしています。

Post-training(事後学習)
強化学習(RL)と教師ありファインチューニング(SFT)で、実際のタスク(コーディング、数学、ソフトウェアエンジニアリング)に特化します。たとえば、GitHubのイシューを解決するタスクや、競技プログラミングの問題を解く練習を重ねます。これで、CWMは「実戦向き」のモデルに仕上がりました。

このプロセスで、CWMは「コードを書く」だけでなく、「コードを動かして結果を予測」「バグを見つけて修正案を提案」する能力を身につけます。優秀なデバッガーとコードライターが1つになったような感じです。

3. CWMの活用場面:実際のユースケース

CWMがどんな場面で活躍するのか、具体例で考えてみましょう:

デバッグの自動化
先ほどのbuggy_loopのようなコードを渡すと、CWMは「i += 0が問題です。i += 1に修正すべきです」と提案します。実際、SWE-benchで65.8%のイシューを解決した実績は、GitHubのリアルなバグ修正をAIがこなせることを証明しています。たとえば、ライブラリのバージョン違いで動かないコードに対して「この依存関係を更新すれば解決します」といったアドバイスも提供してくれます。

競技プログラミング
LiveCodeBenchで68.6%のスコアを出しているため、AtCoderやLeetCodeのような問題も得意です。たとえば、「配列をソートして上位K個の要素を返す」という問題で、最適なアルゴリズム(クイックソートやヒープソート)を提案しつつ、実行時間やメモリ使用量まで考慮してくれます。

教育ツールとして
初心者が「このコード、なぜ動かないのですか?」と質問すると、CWMはステップごとに「ここで変数xが上書きされています」や「このループ、条件が間違っています」と解説します。数学問題(Math-500で96.6%)も得意なので、アルゴリズムの理論も教えてくれます。

プロジェクト全体の管理
複数ファイルのプロジェクトで、「この関数、別のファイルで定義されています」や「このAPI、最新バージョンでは使えません」といったアドバイスも可能です。Docker環境のシミュレーションで、依存関係のエラーまで予見してくれます。

4. ベンチマーク結果の詳細分析

CWMのパフォーマンスは、32億パラメータのモデルとしては驚異的です。以下、詳しい比較を見てみましょう:

ベンチマーク CWM 他モデル(例) コメント
SWE-bench Verified 65.8% Qwen3-Coder (48.3%) 実際のGitHubイシュー解決。オープンソースではトップ
LiveCodeBench 68.6% CodeLlama-34B (62.1%) 競技プログラミングで高精度
Math-500 96.6% LLaMA-3 (90.2%) 数学問題でほぼ完璧
AIME 2024 76.0% GPT-4 (78.5%) 高度な数学コンテストでも強力

特にSWE-benchでは、テスト時に実行環境をシミュレートして「これは動くでしょうか?」を試す「テストタイムスケーリング」が効果を発揮しています。閉鎖モデル(ClaudeやGPT-5)に匹敵するという結果は、かなり注目に値します。

5. オープンソースの意義とコミュニティの反応

MetaがCWMをオープンウェイトで公開したのは、研究コミュニティにとって大きなニュースです。Hugging Faceでモデルをダウンロードでき、GitHubでサンプルコードも見ることができます。Reddit(r/LocalLLaMA)では、「CWMで簡単なCLIツール作ってみたけど、バグ修正が神速!」や「競技プログラミングで使ったら、トップ10%に入れた!」といった声が上がっています。ただし、商用利用はライセンスで制限されているため、研究や個人利用がメインとなります。

コミュニティのフィードバックで、モデルがさらに進化する可能性もあります。たとえば、「もっとRustやGoのサポートを充実させてほしい」や「セキュリティ脆弱性の検出を強化してほしい」といった要望がすでに出ています。Metaの狙いは、CWMを「AIエージェント」の基盤にすることです。物理世界のエージェント(ロボットなど)とコード世界のエージェントを統合する野望も見えてきます。

6. 今後の課題と可能性

CWMは素晴らしいモデルですが、まだ完璧ではありません。たとえば:

シミュレーションの限界:複雑な外部APIやリアルタイムデータ依存のコードはシミュレーションが困難です。
セキュリティ:悪意のあるコードを生成しないよう、さらなるガードレールが必要です。
計算コスト:32億パラメータは軽量ですが、実行シミュレーションはGPUをかなり使用します。

しかし、未来は明るいと思います。CWMが発展すれば:

  • 自動デバッグツールとして、開発時間を劇的に短縮
  • 教育革命:初心者がコードを学びやすくなり、プログラミングがもっと身近に
  • エージェントの進化:コードと物理世界をつなぐAIエージェントが、ソフトウェア開発を自動化

7. 試してみたい方へ

興味が湧いてきましたか?Hugging Face(facebook/cwm)でモデルをダウンロードして、ローカルで試すことができます。たとえば、Pythonで簡単なバグ入りコードを書いて、CWMに「これを直してください」と投げてみてください。公式GitHubには、Docker環境のセットアップガイドもあるので、エンジニアの方なら数時間で動かせるはずです。コミュニティのDiscordやRedditで、他のユーザーの実験結果もチェックしてみてください。

まとめ:CWMは「コードの未来」を切り開く

CWMは、コードを「書く」から「動かす」「直す」までカバーする、プログラミングの新時代を予感させるモデルです。デバッグ、競技プログラミング、教育、プロジェクト管理—どこでも活躍するポテンシャルがあります。Metaのオープンソース戦略で、コミュニティ主導の進化も期待できます。コードが「生き物」のように動く世界、少しワクワクしませんか?

もっと詳しく知りたいことがあれば、具体的なユースケースや技術的な質問をお気軽にどうぞ。たとえば、「CWMでこんなコードを直せますか?」や「競技プログラミングで試すには?」など、どんな質問でもお答えします。

参考

Discussion