OpenAI의 Codex 연구 프리뷰를 직접 사용해보고 느낀 점을 정리한 리뷰입니다. Codex의 작동 방식, 장점, 개선이 필요한 점, 그리고 실제로 생산성 향상에 어느 정도 도움이 되었는지를 다룹니다.
내가 원했던 인터페이스, 하지만 아직 기다려야 할 성능...
Codex는 현재 채팅 기반 경험에 집중되어 있습니다. 초대받거나 Pro 구독(월 200달러)을 결제하면 이용할 수 있습니다.
접근 권한을 얻으면, 우선 다중 인증을 활성화해야 하며, Codex를 사용하려면 필수입니다. 이후 Codex GitHub 앱을 연동해 특정 조직에서 작업할 수 있도록 설정합니다.
Codex는 사용자의 리포지토리를 자체 샌드박스 환경에 복제하여 명령을 실행하거나 브랜치를 생성할 수 있게 만듭니다.
공개/비공개 저장소를 다수 관리한다면 프로젝트 간 전환과 태스크 큐잉이 매우 편리해집니다. 그러나 단일 혹은 두 개 리포만 관리한다면, 그냥 LLM에 직접 묻거나 AI 에디터(Cursor 등)에서 작업하는 게 간편하게 느껴질 수 있습니다.
Codex는 마치 나를 위해 디자인된 것 같습니다.
GitHub 연동을 통해 현재 명령이 어떤 리포와 브랜치를 위한 것인지 지정할 수 있습니다. 주 채팅 인터페이스 자체가 하루치의 다양한 태스크를 쏟아붓고 동시에 여러 작업을 병렬적으로 돌릴 수 있도록 설계된 점이 매력적입니다.
Codex 베스트 프랙티스 가이드도 필요한 만큼 태스크를 동시에 실행하는 것을 권장합니다. 현재의 레이트 리밋도 이를 허용합니다.
이런 점은 Codex에서 가장 좋아하는 부분 중 하나로, 저와 같은 업무 방식과 잘 맞는다고 느낍니다.
아침에 일을 시작하며 오늘 끝내고 싶은 일감 리스트가 항상 있는데, 자연어로 동시에 여러 작업을 지시할 수 있는 인터페이스가 합리적으로 느껴졌습니다.
AI와 산책하며 대화하기 글에도 썼듯, 이상적으로는 아침에 사무실에서 태스크들을 시작하고, 일정 부분을 끝낸 뒤, 자연 속에서 산책을 즐기고 싶습니다.
Codex는 오늘날에도 핸드폰으로 사용할 수 있습니다:
결국 Codex가 더 다듬어진다면 저와 같은 이용자들이 데스크에서 벗어나서도 업무를 효과적으로 수행할 수 있게 될 것이라고 생각합니다.
처음 주문한 태스크가 어느 정도 진행되면 해당 태스크를 클릭해 진행상황 및 로그를 확인하고, 익숙한 채팅 UI를 통해 추가 요청도 보낼 수 있습니다.
변경된 브랜치에 만족했다면 Codex에 PR 생성을 지시할 수 있으며, 설명도 자동으로 입력됩니다.
각 태스크에 들어가 채팅창, 원시 로그(실제 Codex가 실행한 명령어와 셸 기록) 등도 모두 확인할 수 있습니다.
태스크 시작 실패, PR 생성 실패 등 종종 발생합니다.
왜 그럴까요?
딱히 알 방법이 없습니다.
3일 정도 Codex를 써보는 동안, OpenAI가 설명하는 대로 GPT-3 후손 모델에 12개 이상 언어에 능통하지만, 뛰어난 성능 차이는 아직 못 느꼈습니다.
지금은 여러 태스크를 병렬로 띄우고, 그 중 약 40~60%만이 PR을 바로 생성할 만큼 만족스럽고, 나머지는 수정이 필요하다 느꼈습니다.
Codex는 유지보수용 사소한 변경(문구, 스타일, 작은 작업)에 아주 유용합니다. 반면 대규모 리팩터링을 요청하면 경험이 불편해집니다. 현재 워크플로우는 각 반복마다 새 PR을 열려고 하므로, 기존 브랜치에 커밋을 푸시하는 건 어색합니다.
기존 PR 업데이트가 어렵습니다.
어떤 시점에, 혹은 실제로 기존 브랜치에 커밋이 푸시될지 불확실합니다. 앱은 오히려 더 많은 PR 생성을 유도합니다. 이 때문에 다단계 리팩터링이 번거로워서 저는 Codex를 단일 작업으로 한번에 처리 가능한 경우에만 활용하려 합니다.
분명히 의도된 디자인 선택임을 이해합니다. 리모트 코드 실행 취약성 등을 방지합니다.
하지만 현 개발자들은 종종 네트워크 접속이 필요합니다. 예를 들어 최신 패키지를 설치하거나 lockfile을 재생성하려는 경우 등.
Codex는 인터넷에 접속할 수 없지만, 복제된 리포는 자신의 실행환경에 제공합니다.
즉, pnpm add @tar-fs@latest
같은 명령은 작동하지 않습니다. 당분간은 해당 브랜치를 직접 내려받아 수정하거나, PR에서 @dependabot rebase
등을 수동으로 써야합니다.
아직은 아닙니다. 하지만 조만간 다음과 같은 변화가 있다면 달라질 것입니다:
현재로서는 Codex가 하루의 시작, 우선순위가 낮지만 양이 많거나 단순반복적인 유지보수 작업을 빠르게 비우는 데에 매우 유용합니다.
대규모 리팩터링이나 신규 기능 개발에는 여전히 IDE에서 LLM을 옵션으로 두고 직접 작업하는 것이 더 효율적입니다.
머지않아 Codex가 하루 업무의 시작점이자, 추가 관리가 필요한 사안과 다음 태스크를 파악하는 최고의 인터페이스가 될 것이라 확신합니다.