IT之家 AI

3か月、5000億トークン超:AIが2009年『モダン・ウォーフェア 2』のソースコードを再構築、83%がオリジナルとバイト単位で一致

IT之家 10月13日付報道、開発者のモーリス・ホイマン(Maurice Heumann)氏は10月9日にプロジェクト報告を公開した。チームは3か月にわたり5000億トークン(Tokens)以上を消費し、AIエージェントを用いて2009年の『Call of Duty: Modern Warfare 2』ゲームを逆コンパイルし、C++ソースコードとして再構築した…

画像の出典 · IT之家 AI

IT之家 10月13日付報道、開発者のモーリス・ホイマン(Maurice Heumann)氏は10月9日にプロジェクト報告を公開した。チームは3か月にわたり5000億トークン(Tokens)以上を消費し、AIエージェントを用いて2009年の『Call of Duty: Modern Warfare 2』ゲームを逆コンパイルし、C++ソースコードとして再構築した。

チームメンバーとして、このプロジェクトはホイマン氏が主導し、RektInator、Future、st0rm およびその他のコミュニティメンバーの協力を得た。

AIの利用面では、チームは当初 Claude Max (20x) と Codex Pro のサブスクリプションを併用し、Claude Code CLI と Codex CLI でAIエージェントを実行した。モデルは Sonnet 5、Opus 5.5、Luna、Sol、Terra を含み、エージェントは GitHub Issues でタスクを追跡し、Discord を通じて情報を交換した。

プロジェクト初月には4個のエージェントを展開し、うち3個が逆コンパイルとコード提出を担当し、1個がレビューを担当した。この段階で約80%の関数が完成し、ゲームは起動してメインメニューを表示しマップを読み込むことができた。しかしチームは、コードには可読性があるものの、関数シグネチャ、型、構造体レイアウトおよびロジックのレベルでセマンティクスエラーが存在することを発見した。

チームはその後「バイト単位一致逆コンパイル」の検証メカニズムを導入した。このメカニズムは、オリジナルのゲームコンパイラでオブジェクトファイルを再構築し、再構築した関数を元の EXE / PDB 内の関数とバイト単位で比較し、合格したものは PASS とマークし、不合格のものはエージェントが再度修正する。

エージェントが検証を回避するのを防ぐため、チームはインラインアセンブリ、ベア関数、オブジェクトパッチおよびコード内へのバイト埋め込みを禁止し、CI を通じて検証スクリプトのハッシュ値を GitHub Actions secret と比較した。このメカニズムにより、低コストのモデルでも厳格なフィードバックのもとで高精度なタスクを遂行でき、人間またはエージェントによるレビュー工程が置き換えられた。

プロジェクト後期には主に14個の Luna エージェントと2個の Opus 5.5 エージェントを実行し、エージェントは独立したブランチと Pull Request でコードを提出した。最終的に、ゲームの関数の99%が再構築ソースコードに取り込まれ、83%の関数がバイト単位一致を達成した。残りの関数は、非決定的な特徴やリンカの挙動により完全な一致が困難であった。

バイト単位一致(Byte-for-byte Matching)とは、再構築したコードをコンパイルした後の関数のバイナリデータを、オリジナルプログラム内の対応する関数とバイト単位で比較することを指す。データが一致する場合、通常その関数が対象のコンパイル環境においてオリジナルと同じセマンティクスと挙動を保持していることを意味する。

ホイマン氏は関連コードを公開しないと表明しており、再構築の成果は私的用途のみに保持される。

IT之家は参考リンクを添付する

広告声明:文中に含まれる外部ジャンプリンク(ハイパーリンク、QRコード、パスワードなどの形式を含むがこれらに限らない)は、より多くの情報を伝達し、選別時間を節約するために用いられるものであり、結果は参考目的にすぎません。外部リンクを含む IT之家 の記事にはすべて本声明が含まれます。

原文の出典

IT之家 AI

内容について

原文の公開と権利は出典元に帰属します。

機械翻訳 · 原文をご参照ください