
최근 소프트웨어 개발 방식에 대한 근본적인 실험이 진행됐습니다. 사람이 한 줄도 직접 코드를 작성하지 않고, 모든 코드를 AI 에이전트가 생성하도록 한 것입니다. 애플리케이션 로직, 테스트 코드, CI 설정, 문서, 관측 도구, 내부 개발 유틸리티까지 전부 에이전트가 작성했습니다.
이 글에서는 Codex 기반 에이전트 중심 개발 방식이 어떻게 작동했는지, 기존 엔지니어링 방식과 무엇이 달라졌는지, 그리고 이 실험이 시사하는 바는 무엇인지 정리합니다. 단순한 자동화 사례가 아니라, “엔지니어의 역할” 자체가 어떻게 재정의되는지에 대한 이야기입니다.
1. 0줄 코드로 시작한 제품 개발 실험
사람이 코드를 쓰지 않는 개발
이 실험의 핵심 철학은 명확했습니다.
사람이 직접 코드를 작성하지 않는다.
초기 Git 저장소는 비어 있는 상태에서 시작했습니다. 첫 커밋부터 애플리케이션 구조, CI 구성, 포맷 규칙, 패키지 매니저 설정, 프레임워크 설정까지 모두 Codex가 생성했습니다. 심지어 에이전트가 어떻게 동작해야 하는지를 정의하는 AGENTS.md 파일도 Codex가 작성했습니다.
5개월이 지난 시점에서 저장소는 약 100만 줄 규모로 성장했습니다. 수천 건의 Pull Request가 생성되고 병합됐으며, 실제 내부 사용자와 외부 알파 테스터들이 사용하는 제품으로 운영됐습니다. 개발 속도는 수작업 대비 약 10배 수준으로 추정됩니다.
여기서 중요한 점은 단순한 코드 생성이 아니라, 지속적으로 운영되는 제품을 구축했다는 것입니다.
2. 엔지니어의 역할 재정의: Humans steer, Agents execute
코드 작성자에서 시스템 설계자로
이 실험에서 인간 엔지니어의 역할은 완전히 달라졌습니다.
기존에는 사람이 코드를 작성하고 리뷰하고 배포했다면, 이제는 다음과 같은 역할을 수행했습니다.
- 목표를 정의한다
- 작업을 작은 단위로 분해한다
- 에이전트가 수행할 수 있도록 명확히 지시한다
- 실패 원인을 분석하고 환경을 개선한다
- 피드백 루프를 설계한다
핵심 질문은 항상 이것이었습니다.
“에이전트가 이 일을 못하는 이유는 무엇인가?”
“무엇이 부족한가? 도구인가? 구조인가? 문서인가?”
문제가 발생하면 사람이 직접 고치지 않습니다. 대신 에이전트가 문제를 해결할 수 있도록 환경을 수정합니다.
이 방식은 단기적으로는 느릴 수 있지만, 장기적으로는 기하급수적인 생산성 향상을 만듭니다.
3. 애플리케이션을 에이전트가 ‘읽을 수 있게’ 만들다
UI, 로그, 메트릭을 에이전트에 노출
개발이 진행되면서 병목은 인간 QA 시간이 됐습니다. 그래서 팀은 애플리케이션 자체를 에이전트가 이해할 수 있도록 개선했습니다.
- Git worktree별로 앱을 실행 가능하게 구성
- Chrome DevTools Protocol을 에이전트 런타임에 연결
- DOM 스냅샷, 스크린샷, 네비게이션 기능을 스킬로 제공
- 로그, 메트릭, 트레이스를 에이전트가 직접 조회 가능하게 구성
이제 에이전트는 다음을 수행할 수 있습니다.
- 버그 재현
- UI 동작 검증
- 성능 기준 확인 (예: 시작 시간 800ms 이하)
- 특정 사용자 여정에서 2초 초과 구간 탐지
에이전트는 격리된 환경에서 앱을 실행하고, 로그를 LogQL로 조회하고, 메트릭을 PromQL로 분석합니다. 작업이 끝나면 환경은 정리됩니다.
결과적으로 에이전트가 최대 6시간 이상 단일 작업을 수행하는 경우도 발생했습니다. 사람이 자는 동안 기능이 완성되는 구조입니다.
4. 거대한 매뉴얼 대신 ‘지식 지도’를 제공하다
AGENTS.md는 목차, 진짜 지식은 docs/
초기에는 하나의 큰 AGENTS.md 파일에 모든 지침을 담으려 했지만 실패했습니다.
문제는 다음과 같았습니다.
- 컨텍스트는 제한된 자원이다
- 모든 것이 중요하면 아무 것도 중요하지 않다
- 문서는 빠르게 낡는다
- 단일 문서는 검증이 어렵다
그래서 접근 방식을 바꿨습니다.
- AGENTS.md는 약 100줄 내외의 “목차” 역할만 수행
- 실제 지식은 구조화된 docs/ 디렉터리에 저장
- 설계 문서, 실행 계획, 제품 명세, 품질 점수, 기술 부채 트래커를 버전 관리
- 문서 최신성은 CI와 린터로 자동 검증
- 오래된 문서를 탐지하는 에이전트를 별도로 운영
이 방식은 에이전트에게 1000페이지 매뉴얼을 던지는 대신,
“어디를 봐야 하는지 알려주는 지도”를 제공하는 구조입니다.
5. 아키텍처를 강제하는 자동 규칙
느슨한 스타일 대신 강력한 구조
에이전트는 구조가 명확할수록 잘 작동합니다. 그래서 애플리케이션은 엄격한 계층 구조를 가졌습니다.
각 도메인은 다음과 같은 고정 레이어를 따릅니다.
Types → Config → Repo → Service → Runtime → UI
의존성은 항상 한 방향으로만 허용됩니다.
교차 관심사는 Provider 인터페이스를 통해서만 접근 가능합니다.
이 규칙은 커스텀 린터와 구조 테스트로 기계적으로 강제됩니다.
에러 메시지에는 수정 방법까지 포함되어 에이전트에게 피드백이 됩니다.
중요한 점은 세부 구현을 강제하지 않는다는 것입니다.
경계와 불변 조건만 강제하고, 내부 표현은 자유롭게 둡니다.
이 방식은 사람 중심 환경에서는 답답할 수 있지만, 에이전트 중심 환경에서는 속도를 유지하는 핵심 장치가 됩니다.
6. 높은 처리량이 만든 병합 철학의 변화
에이전트의 처리량이 인간의 주의력을 초과하면서 기존 개발 문화가 바뀌었습니다.
- Pull Request는 짧게 유지
- 테스트 플래키는 후속 수정으로 처리
- 병합을 지연시키는 대신 빠르게 수정
저처리량 환경에서는 위험한 전략이지만,
고처리량 환경에서는 기다리는 비용이 더 큽니다.
수정은 저렴하고, 대기는 비쌉니다.
7. 완전한 에이전트 자율 기능의 구현
최근에는 단일 프롬프트만으로 다음을 수행할 수 있는 수준에 도달했습니다.
- 코드베이스 상태 검증
- 버그 재현 및 영상 기록
- 수정 구현
- 수정 후 검증
- Pull Request 생성
- 리뷰 대응
- 빌드 실패 자동 수정
- 필요 시 인간에게 에스컬레이션
- 병합 완료
이 모든 과정이 에이전트 중심으로 동작합니다.
단, 이 수준은 저장소 구조, 문서 체계, 도구 통합에 대한 충분한 투자 이후에야 가능했습니다.
8. AI 슬롭을 제거하는 ‘기술 부채 가비지 컬렉션’
에이전트는 기존 패턴을 복제합니다.
좋은 패턴도, 나쁜 패턴도 모두 복제합니다.
초기에는 사람이 매주 하루를 정리 작업에 사용했습니다.
하지만 이는 확장 가능하지 않았습니다.
그래서 “Golden Principles”를 정의하고, 이를 자동 검사하도록 만들었습니다.
예시:
- 경계에서 데이터 스키마를 반드시 검증
- 공유 유틸리티 우선 사용
- 구조화된 로깅 강제
- 파일 크기 제한
정기적으로 백그라운드 에이전트가 코드베이스를 스캔하고 리팩터링 PR을 생성합니다.
기술 부채는 고금리 대출과 같습니다.
조금씩 상환하는 것이 가장 효율적입니다.
9. 아직 풀리지 않은 질문들
이 전략은 내부 런치와 초기 확장 단계까지는 효과적으로 작동했습니다.
하지만 아직 모르는 부분도 있습니다.
- 수년 단위에서 아키텍처 일관성은 유지될까?
- 인간 판단은 어디에 가장 큰 레버리지를 제공하는가?
- 모델 성능 향상에 따라 구조는 어떻게 변할까?
분명한 것은 이것입니다.
소프트웨어 개발에서 규율은 여전히 중요합니다.
다만 그 규율이 코드 자체가 아니라,
환경, 도구, 피드백 루프 설계에 더 많이 적용된다는 점이 달라졌습니다.
에이전트 중심 개발이 요구하는 새로운 역량
이번 실험은 단순히 AI가 코드를 잘 쓴다는 이야기가 아닙니다.
핵심은 이것입니다.
- 코드를 직접 작성하는 일은 줄어든다
- 대신 시스템을 설계하는 일이 중요해진다
- 구조와 불변 조건이 속도를 만든다
- 문서와 지식은 저장소 안에 존재해야 한다
- 자동화된 품질 통제가 필수다
에이전트 퍼스트 시대에는 개발자의 경쟁력이
“얼마나 잘 코딩하느냐”가 아니라
“얼마나 잘 설계하고 통제하느냐”로 이동합니다.
이 접근은 아직 진화 중이지만,
대규모 복잡한 소프트웨어를 더 빠르고 안정적으로 구축할 수 있는 새로운 가능성을 보여주고 있습니다.
Harness engineering: leveraging Codex in an agent-first world
By Ryan Lopopolo, Member of the Technical Staff
openai.com

'인공지능' 카테고리의 다른 글
| 에이전틱 엔지니어링 시대, 개발자가 반드시 갖춰야 할 9가지 생존 스킬 (0) | 2026.03.03 |
|---|---|
| Claude Code 컨텍스트 소비 98% 절감, Context Mode MCP 서버로 세션 6배 확장하는 방법 (0) | 2026.03.03 |
| Qwen 3.5 Small 시리즈 공개: 0.8B부터 9B까지 네이티브 멀티모달과 262K 컨텍스트를 담다 (0) | 2026.03.03 |
| MaxClaw: 10초 만에 상시 온라인 개인 AI 에이전트 구축하는 방법 (0) | 2026.03.02 |
| Microsoft Copilot Tasks: 대화형 AI를 넘어 실행하는 AI로의 진화 (0) | 2026.03.02 |