OpenAI Sora for Android: Codex를 사용하여 28일 만에 구축

OpenAI는 4명의 엔지니어로 구성된 소규모 팀과 GPT-5.1-Codex 모델을 사용하여 Sora Android 앱의 프로덕션 버전을 28일 만에 개발했으며, 프로토타입에서 글로벌 출시로 이동했습니다. 이 빠른 개발 주기는 AI 지원 엔지니어링이 높은 신뢰성을 유지하면서 개인의 영향을 크게 증가시킬 수 있음을 보여주었으며,その結果 99.9% 크래시 프리율의 앱이 탄생했습니다.

AI 기반 개발 워크플로우

OpenAI는 Codex를 '새로 고용된 시니어 엔지니어'처럼 취급했으며, 수동 코드 작성보다는 코드 지시 및 검토에 중점을 두었습니다. 팀은 Codex가 제한된 범위 내에서 lourde 작업을 잘 수행하지만, 고수준 아키텍처 결정과 사용자 경험에 대해서는 인간의 지도가 필요하다는 것을 발견했습니다.

Codex의 기능과 강점

  • 코드베이스 신속 분석: Codex는 여러 프로그래밍 언어의 대규모 코드베이스를 빠르게 읽고 이해할 수 있습니다.
  • 테스트 커버리지: 모델은 회귀를 방지하기 위해 다양한 단위 테스트를 작성하는 데 매우 효과적입니다.
  • 피드백 통합: Codex는 CI 실패 로그를 제공받으면 빠르게 수정안을 제안할 수 있습니다.
  • 병렬 실행: 팀은 여러 Codex 세션을 병렬로 실행하여 재생, 검색, 오류 처리와 같은 다양한 모듈을 동시에 처리했습니다.
  • 연구 및 최적화: Codex는 SDK를 탐색하여 비디오 플레이어의 메모리 최적화를 제안하는 데 사용되었으며, 최종 앱의 메모리 사용량을 최소화했습니다.

제한 사항 및 인간 요구사항

  • 직관 부족: Codex는 명시되지 않은 선호도, 제품 전략, 또는 내부 규범을 추론할 수 없습니다.
  • 경험적 격차: 모델은 앱을 실행하여 사용자 흐름이 혼란스러운지 또는 스크롤이 "이상하다."고 느끼는지 감지할 수 없습니다.
  • 아키텍처 판단: 단독으로 남겨두면 Codex는 장기적인 깔끔함보다 즉각적인 기능을 우선시하여 불필요한 뷰 모델이나 잘못 배치된 로직을 도입할 수 있습니다.

기술 구현 전략

앱의 유지보수성을 보장하기 위해 엔지니어링 팀은 AI 생성을 활용하기 전에 탄탄한 기반을 구축하는 데 중점을 두었습니다.

수동 기초 및 패턴 설정

엔지니어는 아키텍처, 모듈화, 의존성 주입, 네비게이션, 인증, 기본 네트워킹 흐름을 포함한 시스템 설계를 수동으로 구현했습니다. 그런 다음 몇 가지 대표적인 기능을 엔드 투 엔드로 작성하여 '올바른' 예시로 삼았습니다. 이 접근 방식은 Codex가 작성한 코드의 약 85%가 팀의 기존 표준을 따르고 비용이 많이 드는 리팩터링을 피하도록 보장했습니다.

계획 루프

중요하지 않은 변경 사항에 대해, 팀은 Codex가 더長시간 무감독으로 작업할 수 있도록 다단계 계획 워크플로우를 구현했습니다:

  1. 시스템 이해: Codex에게 기능이 어떻게 작동하는지 요약해 달라고 요청했습니다.(예: API에서 UI로의 데이터 흐름)
  2. 정제: 인간이 모델의 추상화와 레이어에 대한 이해를 수정했습니다.
  3. 구현 계획: Codex는 파일 변경 사항과 상태 소개를 상세히 설명하는 미니 설계 문서를 만들었습니다.
  4. 실행: Codex는 계획을 단계별로 적용하고, 컨텍스트 창 제한 내에서 일관성을 유지하기 위해 계획을 파일에 저장했습니다.

AI를 통한 크로스 플랫폼 번역

OpenAI는 기존의 Sora iOS 앱을 Android 버전의 주요 진실 소스로 활용했습니다. Flutter나 React Native와 같은 공유 추상화 프레임워크를 사용하는 대신, 팀은 Codex를 사용하여 Swift에서 Kotlin로 로직을 번역했습니다.

  • 로그 이식성: 팀은 애플리케이션 로직(데이터 모델, 네트워크 호출, 검증 규칙)이 플랫폼 간에 일정하다는 원리를 활용했습니다.
  • 컨텍스트 프롬프트: Codex는 iOS 모델과 엔드포인트를 읽고 기존 API 클라이언트 및 모델 클래스를 사용하여 동등한 Android 구현을 제안하도록 프롬프트되었습니다.
  • 크로스 레포 네비게이션: 팀은 ~/.codex/AGENTS.md 파일을 사용하여 Codex가 iOS, 백엔드, Android 저장소 간을 발견하고 탐색하도록 도왔습니다.

소프트웨어 엔지니어링에 대한 시사점

이 프로젝트는 개발 병목 현상을 코드 작성에서 결정 내리기, 피드백 제공, 변경 사항 통합으로 이동시켰습니다. OpenAI는 AI 지원 개발이 AI의 주요 목표가 빠르게 기능적 목표에 도달하는 것이므로 시스템 이해 및 아키텍처에서의 인간적 엄격성의 필요성을 증가시킨다고 결론지었습니다. 소프트웨어 엔지니어의 역할은 AI 에이전트를 관리하여 반복적인 코드와 평범한 작업을 처리하는 '지휘자'로 진화하고 있으며,これにより humanos는 확장 가능한 시스템과 복잡한 알고리즘에 집중할 수 있습니다.

Sources