10月13日消息,開發者Maurice Heumann在部落格中詳細介紹了使用AI智能體重建《決勝時刻:現代戰爭2》(2009)源代碼的完整過程,項目歷時三個月,消耗超過5000億token,99%的函數已復現,其中83%與原版逐字節匹配,遊戲可完美運行。
Heumann使用Anthropic的Claude和OpenAI的Codex兩套智能體,通過IDA的Hex-Rays ida-mcp伺服器讀取原版2009年PC遊戲代碼。

最初以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帖子中的影片在版權方舉報後也被禁用。







