IT之家 AI

3개월, 5000억 토큰 이상: AI가 2009년 《모던 워페어 2》 소스 코드를 재구축, 83%가 원본과 바이트 단위 일치

IT之家 10월 13일 소식, 개발자 모리스 호이만(Maurice Heumann)이 10월 9일 프로젝트 보고서를 발표했다. 팀은 3개월에 걸쳐 5000억 토큰(Tokens) 이상을 소모하며, AI 에이전트를 호출해 2009년 《콜 오브 듀티: 모던 워페어 2》 게임을 디컴파일하고 C++ 소스 코드로 재구축했다. 팀 멤버 면에서, 이 프로젝트는 호이만이 주도했으며 RektInator…

이미지 출처 · IT之家 AI

IT之家 10월 13일 소식, 개발자 모리스 호이만(Maurice Heumann)이 10월 9일 프로젝트 보고서를 발표했다. 팀은 3개월에 걸쳐 5000억 토큰(Tokens) 이상을 소모하며,AI 에이전트를 호출해 2009년 《콜 오브 듀티: 모던 워페어 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

내용 안내

원문 발행 및 권리는 출처에 있습니다.

기계 번역 · 원문을 참고하세요