10月13日消息,開發者Maurice Heumann在部落格中詳細介紹了使用AI智能體重建《決勝時刻:現代戰爭2》(2009)源代碼的完整過程,項目歷時三個月,消耗超過5000億token,99%的函數已復現,其中83%與原版逐字節匹配,遊戲可完美運行。
Heumann使用Anthropic的Claude和OpenAI的Codex兩套智能體,通過IDA的Hex-Rays ida-mcp伺服器讀取原版2009年PC遊戲代碼。
MW2 decompilation is nearing its end. With currently 17 agents working in parallel, we're making progress at an incredible pace. The game is fully playable now and almost all visible bugs are gone. Only a few are left. I even managed to get my first nuke ☢️😂 https://twitter.com/momo5502/status/2105360274777624902
最初以4個智能體啟動,到9月30日已擴展至17個智能體並行工作,每個翻譯單元對應一個GitHub issue,所有智能體和人類共享一個Discord頻道,通過GitHub webhook接收CI通知。
開發者還將自動壓縮閾值從上下文窗口默認的90%下調至42%,幫助清理已完成函數釋放內存,由於智能體容易跑偏,因此設置了每小時一次的cron任務讓它們重讀指令。

模型方面主要依賴Sonnet 5,同時也用了不少Opus 5.5和OpenAI的Luna、Sol、Terra,Heumann最初使用Claude Max(20x)套餐,後加入Codex Pro。
據他估算,項目實際消耗6000至7000億token,訂閱方式成本約1200歐元,若按API計費則需20萬至25萬美元。
最大的挑戰不是生成代碼而是驗證正確性,第一個月的代碼可讀性極高但「語義錯誤」,函數簽名、類型和結構體布局有問題,邏輯被智能體擅自增刪。
智能體還做出不必要的架構改動,且reviewer智能體未能阻止這些問題,因為缺乏客觀驗收標準,worker智能體為變更寫的注釋起到了無意中提示注入的作用,團隊最終從源代碼中刪除所有注釋,Heumann稱這幫助很大。

解決方案是自動化校驗,團隊切換到原版遊戲使用的編譯器,腳本將每個重建函數與遊戲可執行文件在字節級別對比,調用和數據引用因地址不同跳過,改為檢查目標符號和偏移,數據和類型則做相同校驗。
每個函數只有通過或失敗兩種結果,每次匹配記錄在案供CI複查和回歸告警,匹配雖然緩慢且有時困難,但一旦匹配則保證行為完全一致,連原版bug都能復現。
校驗腳本上線前,較便宜的Haiku和Luna模型結果極差,校驗到位後反饋充足,模型開始正常工作,降低了成本,項目得以擴展。

又經過近兩個月,99%的函數已復現,83%滿足逐字節匹配要求,Heumann認為剩餘16%雖未逐字節匹配但語義正確,但邊際收益遞減已很明顯,部落格稱遊戲目前「完美運行」。
Heumann還表示,反編譯代碼顯然也受版權保護,動視已對項目施加版權壓力,此前的兩篇部落格文章已被刪除,X帖子中的影片在版權方舉報後也被禁用。







