Docs | A- | A+ | -/-
매주 100만 명이 넘는 개발자가 오픈AI의 멀티 에이전트 코딩 어시스턴트를 사용한다. 'Codex'라는 이름의 이 도구는 1월 초 이후 사용량이 5배 증가했다고 팀이 알려왔다. 2월 첫째 주에 오픈AI는 Codex 데스크톱 앱을 출시했다. CEO 샘 알트만은 이 macOS 애플리케이션을 "우리가 만든 내부 제품 중 가장 사랑받는 제품"이라고 부른다. 며칠 뒤 오픈AI는 GPT-5.3-Codex를 출시했다. 스스로 만드는 것을 도운 첫 번째 모델이라고 그들은 설명한다.
개인적으로 나는 프래그매틱 엔지니어 팟캐스트에서 OpenClaw 창작자 피터 스타인버거와 인터뷰를 하면서 Codex에 흥미를 갖게 됐다. 그는 밝혔다 OpenClaw를 모두 Codex로 작성하며 더 길게 실행되는 에이전트 루프를 선호한다고. 업데이트: 월요일에 피터는 차세대 에이전트 구축 작업을 위해 오픈AI에 합류한다고 발표했다. 이는 오픈AI와 Codex 팀에게 큰 성과인 반면, OpenClaw는 독립적이고 오픈소스로 남는다. OpenClaw(당시 Clawd)가 큰 탄력을 받던 시절 피터의 첫 심층 인터뷰인 내 팟캐스트를 확인해보라.
Codex가 어떻게 만들어졌는지, 오픈AI 팀들이 어떻게 사용하는지, ChatGPT 개발사에서 소프트웨어 엔지니어링 실무에 어떤 영향을 미치는지 알아보기 위해 오픈AI 사람 세 명과 이야기를 나눴다:
이 심층 분석은 다음을 다룬다:
지난주 샌프란시스코에서 열린 첫 번째 프래그매틱 서밋에서 티보와 나, 그리고 청중과의 파이어사이드 채팅이 있었고 Codex가 어떻게 만들어졌는지 새로운 세부사항이 공개됐다. 유료 구독자는 지금 이 녹화를 볼 수 있다. 무료 구독자는 몇 주 후 프래그매틱 서밋의 모든 영상에 접근할 수 있다.
오랜 독자라면 Claude Code 창작 엔지니어들과의 인터뷰를 바탕으로 한 Claude Code는 어떻게 만들어졌나라는 심층 분석을 기억할 것이다. 오늘 주제와의 비교는 명확하다: Codex와 Claude Code는 각각 성과를 거두고 있는 베팅을 했다. 나는 지난 10월 Codex 팀과 대화했을 때 회의적이었다. 클라우드 우선, 장기 실행 작업 접근법이 내게 맞지 않았기 때문이다. 하지만 이제 마음이 바뀌었다.
2024년 오픈AI는 소프트웨어 에이전트 구축을 위한 다양한 접근법을 실험하고 있었다. 그해 가을, 회사는 aSWE(자율 소프트웨어 엔지니어) 구축을 2025년 최우선 목표로 선언했다. 이 비전은 최고경영층에서 나왔다: 그렉 브록맨과 샘 알트만은 팀과 함께 일하는 자율 소프트웨어 엔지니어가 있어야 한다고 믿었다. 티보는 그 생각을 설명한다:
"그렉과 샘은 강한 확신을 가지고 있었다: '결국 우리와 함께 일하는 자율 소프트웨어 엔지니어가 있어야 한다. o1-프리뷰에서 보여준 역량을 고려하면 지금이 바로 이것을 현실로 만들 데 전념할 그룹을 만들 때다'."
초기 프로토타입을 작업했던 여러 사람들이 이 노력에 합류했다:
오픈AI는 두 팀이 문제 공간의 다른 부분을 해결하도록 했다: Codex Web은 비동기 클라우드 기반 솔루션에 집중하고, Codex CLI는 반복적인 로컬 개발을 목표로 했다. 두 제품은 봄에 출시됐다. Codex CLI는 2025년 4월에 발표됐고, ChatGPT의 Codex는 5월에 소개됐다.
Codex와 Claude Code의 명확한 차이는 프로그래밍 언어다. Claude Code는 TypeScript로 작성됐으며 "배포 기반"으로 기본 모델의 강점을 활용한다. 반면 Codex CLI는 Rust로 작성됐다. 티보가 그 이유를 설명한다:
"TypeScript, Go, Rust를 논의했다. 세 가지 모두 다른 시간 범위에서 타당한 후보처럼 보였다. 결국 우리의 추론은 몇 가지 층위로 내려왔다: - 성능: 결국 모든 밀리초가 중요한 대규모로 이 에이전트를 실행하고 싶다. 성능은 샌드박스 환경에서 로컬로 실행할 때도 중요하다. - 정확성: 강력한 타이핑과 메모리 관리 같은 것으로 한 종류의 오류를 없애는 데 도움이 되는 언어를 선택하고 싶었다. - 엔지니어링 문화과 엔지니어링 품질: 언어 선택이 하는 흥미로운 것이 있다: 당신이 설정하는 엔지니어링 기준에 대해 생각하게 만든다. 우리는 핵심 에이전트 구현이 극도로 높은 품질이어야 하기 때문에 Rust를 선택했다."
의존성에 대한 실질적인 우려도 있었다. TypeScript를 선택하면 npm 패키지 관리자를 사용한다는 뜻이다. npm을 사용하면 종종 완전히 이해하지 못하는 패키지 위에 구축한다는 뜻이 되는데, 이는 분명 문제가 될 수 있다. Rust를 선택함으로써 팀은 의존성이 매우 적고 그 몇 안 되는 의존성을 철저히 검토할 수 있다.
또한 결국 노트북과 데이터 센터뿐 아니라 임베디드 시스템 같은 곳에서도 Codex 에이전트를 모든 종류의 환경에서 실행하고 싶다. Rust는 TypeScript나 Go보다 성능 관점에서 이를 더 달성 가능하게 만든다.
티보는 Rust로 Codex의 초기 성능이 TypeScript보다 덜 돋보였지만 모델이 따라잡을 것으로 예상했다고 말한다. 게다가 Rust를 선택한 것은 하나 더 많은 엔지니어링 도전을 제공했다. Codex 팀은 Ratatui — 터미널 사용자 인터페이스(TUI) 구축을 위한 Rust 라이브러리 — 관리자도 고용했다. 그는 이제 Codex 팀에서 풀타임으로 오픈소스 작업을 하고 있다.
핵심 에이전트와 CLI는 GitHub에서 완전히 오픈소스다.
핵심 루프는 상태 머신이며, 에이전트 루프는 Codex CLI의 핵심 로직이다. 이 루프는 사용자, 모델, 모델이 사용하는 도구 간의 상호작용을 조율한다. 이 "에이전트 루프"는 Codex만이 아니라 모든 AI 에이전트가 사용하는 것이다. 아래는 Codex가 이것을 어떻게 구현하는지 높은 수준에서 보여준다:
컴팩션(compaction)은 에이전트를 효율적으로 실행하는 중요한 기술이다. 대화가 길어지면 컨텍스트 윈도우가 찬다. Codex는 컴팩션 전략을 사용한다: 대화가 특정 토큰 수를 초과하면 특별한 Responses API 엔드포인트를 호출하고, 이것이 대화 기록의 더 작은 표현을 생성한다. 이 작은 버전이 오래된 입력을 대체하고 이차 추론 비용을 피한다. 우리는 셀프 어텐션이 어떻게 이차적으로 확장되는지 2024년 ChatGPT 심층 분석에서 다뤘다.
안전은 LLM이 비결정적이기 때문에 중요한 고려사항이다. Codex는 기본적으로 네트워크 접근과 파일시스템 접근을 제한하는 샌드박스 환경에서 실행된다. 티보는 이 선택에 대해 성찰한다:
"샌드박싱에 대해 일반적인 채택에 해로운 입장을 취한다. 하지만 기본적으로 안전하지 않은 것을 홍보하고 싶지 않다. 개발자라면 언제든지 설정에 들어가 원하면 이 설정을 비활성화할 수 있다.
우리가 이 기본 설정을 만든 것은 많은 사용자가 그렇게 기술적이지 않기 때문이다. 우리는 그들에게 의도치 않은 결과가 있을 수 있는 것을 주고 싶지 않다."
주당 여러 번 릴리스된다. 내부적으로 팀은 하루에 최대 3~4번 새 버전의 Codex를 배포한다. 외부적으로는 며칠마다 새 릴리스가 나오고 패키지 관리자, Homebrew, npm을 통해 배포된다.
마이클 볼린의 최근 블로그 게시물 "Unrolling the Codex Agent Loop"는 에이전트 루프가 어떻게 작동하는지 내부를 설명한다.
Codex 앱 코드의 90% 이상을 Codex 자신이 생성했다고 팀은 추산한다. 이것은 Anthropic이 Claude Code에 대해 보고한 것과 거의 일치한다고 그 창작자 보리스 체르니가 나에게 말해준 바 있다. 두 AI 연구소 모두 코딩 도구로 자신의 코드를 작성하는 메타 순환성을 공유한다.
티보는 Codex 팀의 전형적인 엔지니어가 4~8개의 병렬 에이전트를 실행한다고 말하며, 이들은 다음과 같은 다양한 작업을 수행한다:
Codex 엔지니어는 이제 "에이전트 관리자"가 됐으며 더 이상 단순히 코드를 작성하지 않는다. 티보는 엔지니어가 노트북에서 여러 탭을 열고 사무실에 들어오는 것이 흔하다고 말한다: 하나에서 코드 리뷰가 실행되고, 다른 하나에서 기능이 구현되고, 세 번째에서 보안 감사가 진행되고, 다른 탭에서 코드베이스 요약이 생성된다. 그는 말한다:
"Codex는 정말 멀티태스킹을 위해 만들어졌다. 대부분의 작업이 완료될 것이라는 이해가 있다.
우리 팀의 사람들은 Codex가 무엇을 할 수 있고 없는지 파악했다. 하지만 이 모든 것에서 까다로운 것이 있다: 우리는 모든 모델에서 이 역량을 다시 배워야 한다."
"에이전트 스킬"은 Codex를 작업별 역량으로 확장하는 방법이며, 이것은 Claude Code의 스킬과 거의 동일한 개념이다. 내부적으로 Codex 팀은 공유하고 선택할 100개 이상의 스킬을 만들었다. 세 가지 흥미로운 예:
티보가 스킬에 대해 생각하는 방식은 스킬이 모델을 더 구체적인 동작으로 이끄는 데 도움이 된다는 것이며, 스킬은 결합될 수도 있다. 스킬은 내부적으로 지속적으로 게시되고 팀원들이 서로 복사한다.
팀은 AI 코드 리뷰를 설정했고 항상 실행된다. 팀은 코드 리뷰를 위해 맞춤형 모델을 훈련했으며, 신호 대 잡음 비율에 최적화했다. 10개 중 약 9개의 댓글이 타당한 이슈를 지적한다고 티보는 말하며, 이것은 인간 리뷰어와 같거나 약간 더 낫다. AI 리뷰는 풀 리퀘스트가 "드래프트" 상태에서 "리뷰 중" 상태로 이동할 때마다 자동으로 실행되며, GitHub 웹훅을 통해 자동화된다.
AI 리뷰 후 두 가지 가능한 다음 단계가 있다:
티보가 Codex 팀에 도움이 된다고 평가하는 더 많은 실무들이 있다:
Codex 팀은 Codex에 대해 논의하기 위해 회의를 갖고, 그동안 엔지니어가 Codex 내에서 스레드를 발사해 정보를 가져올 수 있는지 보는 것이 흔하다. 이번 1월에 흥미로운 일이 일어나기 시작했다고 티보가 말했다:
"Codex가 왜 특정 방식으로 실행되는지와 관련된 질문을 했을 때, Codex는 자신의 시스템을 디버깅하기로 결정했다. 로그에 연결하고, 연구 개발 박스에 SSH로 접속하고, ML 불안정성을 분석했다.
많은 유용한 정보를 파악했고, 화면에 표시할 수 있는 작은 보고서를 작성했다. 그래서 회의에서 이 문서를 검토했다."
이것은 Codex가 스스로를 디버깅하는 또 다른 메타 순환성처럼 느껴진다 — 또는 적어도 그것에 동력을 제공하는 시스템들을!
Codex는 소프트웨어 엔지니어뿐 아니라 연구원들도 만들며, 그 중 한 명이 SQ 마다. 그는 베수비오 챌린지에 참가하여 소프트웨어 엔지니어링에서 연구로 옮겼다. 이 챌린지는 기원후 79년 베수비오 산의 격변적인 화산 폭발로 묻힌 고대 로마 도시 폼페이의 천년 된 탄화된 두루마리를 읽는 것이었다. SQ는 구글 클라우드에서 GPU를 대여하고, 모델을 훈련하고, 연구 아이디어를 가져와 유용한 알고리즘으로 전환하여 대회에서 2위를 했다.
그렇다면 오픈AI에서 "연구"란 무엇인가? SQ의 견해:
(이하 내용은 epub 엔드포인트에서 누락됨)