OpenAI Harness팀의 실험: 코드 0줄 직접 작성, Codex만으로 제품 만들기
안녕하세요, Tom입니다.
이번에 소개할 글은 OpenAI 엔지니어링팀이 직접 공유한 에이전트 퍼스트 개발 경험기예요. 5개월 동안 수동으로 작성한 코드 0줄, 100% Codex가 생성한 코드로 실제 제품을 만들었다는 내용인데, 읽으면서 꽤 충격 받았습니다.
실험의 핵심: 인간은 방향을 잡고, 에이전트가 실행한다
OpenAI Harness팀은 의도적으로 "코드를 직접 작성하지 않겠다"는 제약을 걸었어요. 빈 git 저장소에서 시작해서 5개월 만에 약 100만 줄의 코드, 1,500개 이상의 PR을 만들어냈습니다.
🎯 놀라운 숫자:
- 엔지니어 1인당 하루 평균 3.5개 PR
- 기존 방식 대비 1/10 시간으로 구축
- 수백 명의 내부 사용자가 실제 사용
💡 핵심 인사이트: 초기에는 예상보다 느렸대요. Codex 능력 부족이 아니라, 환경이 충분히 명시적이지 않았기 때문이었습니다.
엔지니어의 역할 변화
코드를 직접 작성하지 않으니 엔지니어의 역할이 완전히 바뀌었어요:
| 기존 | 에이전트 퍼스트 |
|---|---|
| 코드 작성 | 환경 설계 |
| 디버깅 | 피드백 루프 구축 |
| 코드 리뷰 | 에이전트 간 리뷰 위임 |
| 수동 QA | 에이전트 가시성 확보 |
⚠️ 제가 특히 인상적이었던 부분: 무언가 실패하면 "더 열심히 해봐"가 아니라, "어떤 능력이 부족한가? 에이전트가 이해하고 실행할 수 있도록 어떻게 만들까?"를 물었다는 점이에요.
AGENTS.md는 목차여야 한다
하나의 거대한 AGENTS.md에 모든 지시사항을 넣는 방식은 실패했다고 해요:
- 컨텍스트가 희소한 자원이라 핵심이 묻힘
- 너무 많은 지시 = 지시 없음과 동일
- 유지보수가 안 돼서 금방 낡아짐
대신 AGENTS.md를 약 100줄짜리 목차로 만들고, 실제 지식은 docs/ 디렉토리에 구조화해서 관리했어요. Progressive disclosure — 에이전트에게 지도를 주되, 1,000페이지 매뉴얼은 주지 않는 거죠.
에이전트 가독성이 최우선
완전히 에이전트가 생성한 코드베이스이기 때문에, 인간이 아닌 Codex의 가독성을 최우선으로 최적화했어요.
💡 핵심 원칙: 에이전트가 컨텍스트 내에서 접근할 수 없는 정보는 존재하지 않는 것과 같다.
- Google Docs에 있는 논의? ❌ 에이전트에겐 보이지 않음
- Slack 스레드의 합의? ❌ 에이전트에겐 보이지 않음
- 저장소에 커밋된 마크다운? ✅ 에이전트가 참조 가능
그래서 모든 의사결정, 아키텍처 패턴, 코딩 규칙을 저장소 안에 마크다운으로 기록했어요.
아키텍처 강제로 속도와 품질 양립
에이전트한테 자유를 주되, 경계는 엄격하게 관리했어요:
- 비즈니스 도메인별 고정된 레이어 구조 (Types → Config → Repo → Service → Runtime → UI)
- 의존 방향 기계적 검증
- 커스텀 린터로 맛(taste) 강제 — 네이밍 컨벤션, 파일 크기 제한, 구조화 로깅 등
🤔 제 생각: 보통 팀이 수백 명일 때나 하는 아키텍처 투자를 초기부터 했다는 게 인상적이에요. 에이전트 환경에서는 이런 제약이 오히려 속도를 높여주는 거죠.
자율 실행까지 도달
최근에는 단일 프롬프트로 Codex가 end-to-end로 기능을 완성하는 수준까지 도달했대요:
- 코드베이스 상태 검증
- 버그 재현 + 영상 녹화
- 수정 구현 + 검증
- PR 생성 + 피드백 대응
- 빌드 실패 감지 및 수정
- 필요시 인간에게 에스컬레이션
- 머지
⚠️ 현실적 주의: 이건 이 특정 저장소의 도구와 구조에 크게 의존하는 결과예요. 아직 일반화하기는 어렵습니다.
엔트로피와 가비지 컬렉션
에이전트가 기존 패턴을 복제하면서 품질이 서서히 떨어지는 문제도 있었어요. 처음에는 매주 금요일(주의 20%)을 "AI slop 청소"에 썼는데, 당연히 확장되지 않았죠.
대신 "golden principles"를 저장소에 인코딩하고, 주기적으로 백그라운드 Codex 태스크가 스캔해서 수정 PR을 올리는 방식으로 전환했어요. 기술 부채의 가비지 컬렉션이라 할 수 있습니다.
총평
이 글은 AI 코딩 도구의 미래를 보여주는 중요한 사례예요. 단순히 "AI가 코드를 써준다"가 아니라, 개발팀의 역할 자체가 재정의되는 과정을 보여줍니다.
💰 핵심 교훈:
- 코드를 잘 쓰는 게 아니라 환경을 잘 설계하는 게 중요
- 에이전트에게 지도를 주되 매뉴얼은 주지 말 것
- 제약은 속도의 적이 아니라 동맹
에이전트 퍼스트 개발에 관심 있으시다면 꼭 원문을 읽어보세요. 구체적인 디렉토리 구조와 운영 방식까지 공개되어 있어서 참고할 게 많습니다.
원문: Harness engineering: leveraging Codex in an agent-first world