OpenAI Codex가 인간이 작성한 어셈블리 코드가 단 한 줄도 없이, 18개의 소스 파일과 약 2,500줄의 코드로 구성된 완전한 16비트 x86 어셈블리 기반 Asteroids 스타일의 DOS 게임을 개발했습니다. 이번 실험은 AI가 단순한 "코드 완성" 시연을 넘어, 계획부터 디버깅에 이르기까지 전체 소프트웨어 수명 주기를 직접적인 프로그래머의 개입 없이도 주도할 수 있음을 보여줍니다.

이번 테스트가 중요한 이유

대부분의 공개적인 AI 코딩 시연은 아주 작은 코드 조각이나 간단한 유틸리티 수준에서 그칩니다. 이번 실험은 한계를 시험하기 위해 Codex를 상상할 수 있는 가장 제약이 많은 환경, 즉 게임 엔진, 그래픽 라이브러리, 또는 고수준 언어의 편리함이 전혀 없는 DOS 기반의 16비트 x86 어셈블리 환경으로 몰아넣었습니다. 목표는 AI가 단순히 코드를 생성하는 것을 넘어, 주변의 엔지니어링 작업까지 관리할 수 있는지 확인하는 것이었습니다.

역할 분담 방식

인간의 역할은 다음 세 가지 작업으로 제한되었습니다:

  • 전체 프로젝트 목표 정의 (Asteroids 스타일의 슈팅 게임).
  • 게임 플레이와 관련된 질문에 답변.
  • 각 빌드를 플레이 테스트하고 발견된 버그 보고.

Codex의 역할은 그 외의 모든 것을 포함했습니다:

  • 프로젝트 계획 및 아키텍처 초안 작성.
  • 어셈블리 소스 파일 작성.
  • 코드 디버깅, 리팩토링 및 구조 재조정.
  • 커밋 및 브랜치 관리를 포함한 Git 저장소 유지 관리.
  • 바이너리 빌드 및 DOS 에뮬레이터에서 실행.

인간은 어셈블리 명령어를 단 한 번도 입력하지 않았고, 컴파일러를 호출하지도 않았으며, 개발 과정 중 게임을 실행하지도 않았습니다. 상호작용은 버그 증상을 설명하는 수준에서 멈췄으며, AI가 스스로 근본 원인을 찾아 해결했습니다.

반복적인 워크플로우

각 사이클은 Codex가 마일스톤(예: "플레이어 함선 이동 구현")을 제안하며 시작되었습니다. 그 후 Codex는 해당 소스 파일을 생성하고, 커밋하고, 실행 파일을 빌드한 뒤, 실행 가능한 빌드를 테스터에게 전달했습니다. Codex는 증상을 분석하고 코드베이스를 추적하여 추가적인 인간의 가이드 없이 패치를 발행했습니다.

최종 결과물 구성

  • 18개의 어셈블리 소스 파일: 관습적인 저장소 구조로 정리됨.
  • 약 2,500줄의 어셈블리 코드: 입력 처리, 스프라이트 그리기, 충돌 감지 및 하이스코어 시스템 포함.
  • 실행 가능한 DOS 실행 파일: 표준 DOS 환경에서 실행되며 클래식 Asteroids 게임 플레이를 재현함.
  • 인간이 작성한 어셈블리 0줄: AI가 모든 저수준 프로그래밍 작업을 처리했음을 입증함.

영향 및 시사점

AI가 구상 단계부터 작동하는 바이너리 제작에 이르기까지 프로젝트를 자율적으로 이끌 수 있다면, 코드베이스의 주요 조정자로서 프로그래머가 갖는 전통적인 역할은 변화하게 될 것입니다. 기업은 보일러플레이트 설정, 문서화, 일상적인 디버깅에 소요되는 시간을 단축하여, 엔지니어가 설계와 제품 전략에 더 집중할 수 있도록 할 수 있습니다.

또한 이번 실험은 한계점도 보여줍니다. 테스트 환경은 의도적으로 좁게 설정되었습니다. 즉, 메커니즘이 잘 알려진 싱글 플레이어 DOS 게임이었습니다. 외부 종속성, 보안 제약 또는 성능이 매우 중요한 코드 경로를 가진 대규모 멀티 모듈 시스템으로 이 접근 방식을 확장할 수 있을지는 아직 검증되지 않았습니다. 더욱이 인간 테스터가 여전히 최종 품질 관문 역할을 수행했습니다. 만약 이러한 감시가 없었다면 감지되지 않은 논리적 오류가 그대로 넘어갔을 수도 있습니다.

반론 및 남은 과제

  • 신뢰성: 어셈블리 프로그래밍은 실수가 용납되지 않습니다. 단 한 번의 오프 바이 원(off-by-one) 오류로도 프로그램 전체가 충돌할 수 있습니다. Codex는 눈에 보이는 버그는 수정했지만, 스트레스 테스트 중에만 나타나는 미묘한 타이밍 문제를 놓칠 수도 있습니다.
  • 유지보수성: 인간의 스타일 가이드라인 없이 생성된 코드는 향후 개발자가 읽거나 확장하기 어려울 수 있습니다. 특히 AI의 명명 규칙이 팀의 표준과 다를 경우 더욱 그렇습니다.
  • 지적 재산권: AI가 코드를 작성했을 때 그 소유권은 누구에게 있는가? 현재의 라이선스 체계는 인간의 저작권을 전제로 하므로, AI가 생성한 결과물에 대해서는 회색 지대가 존재합니다.

향후 주목할 점

  • 더 광범위한 벤치마크: 동일한 자율 워크플로우를 네트워크 애플리케이션, 모바일 앱 또는 현대적인 C/C++ 프로젝트에 적용하여, 이 접근 방식이 레트로 스타일 게임을 넘어 확장 가능한지 테스트할 것입니다.
  • 도구 통합: Codex를 CI/CD 파이프라인에 통합하면 코드 생성뿐만 아니라 테스트, 보안 스캐닝 및 배포까지 자동화할 수 있습니다.
  • 정책의 진화: AI 생성 코드가 확산됨에 따라, 법적 및 기업 정책은 소유권, 책임 및 준수 사항을 다루어야 할 것입니다.

결론은 명확합니다. AI는 이제 잘 정의되고 범위가 한정된 프로젝트에서 인간의 수동 코딩 없이도 기능적인 저수준(low-level) 코드를 제공하며, 단독 소프트웨어 엔지니어로서 역할을 수행할 수 있습니다. 이러한 역량이 주류 개발 방식을 재편할 수 있을지는 생태계가 신뢰성, 유지보수성, 그리고 법적 문제를 얼마나 신속하게 해결하느냐에 달려 있습니다.