공식 참고 자료: Best Practices · Subagents · Review · Worktrees
커리큘럼 흐름
- Codex 시작하기 — 설치, 첫 작업, 체크포인트까지 — 입문 루프
- Codex 지시문 — AGENTS.md를 진짜 쓸모 있게 만드는 법 — 저장소 규칙
- Codex 샌드박싱 — 권한, 승인, 클라우드 환경 이해하기 — 권한과 승인
- Codex 작업 설계 — 소원 말고 이슈처럼 프롬프트 쓰기 — 좋은 task shape 만들기
- Codex Skills — 반복 프롬프트를 재사용 가능한 워크플로우로 바꾸기 — 반복 워크플로우를 재사용 자산으로 만들기
- Codex 서브에이전트 — 병렬 실행과 위임 패턴 — 병렬 실행과 위임
- Codex MCP — 외부 컨텍스트를 복붙 대신 연결하기 — 외부 시스템 연결
- Codex 리뷰와 자동화 — /review, worktree, 반복 엔지니어링 운영하기 — 반복 작업 운영
- Codex Worktrees — 브랜치 충돌 없이 병렬 실행하기
- Codex 핸드오프 — 병렬 레인을 머지 가능한 결과로 연결하기 ← 현재 문서
- Codex 검증 루프 — 머지 전에 동작을 증명하기
- Codex 릴리스 준비도 — 프로덕션 전 최종 게이트
- Codex 첫날 안전 루프 — 초반 실수를 줄이는 입문 워크플로우
- Codex 팀 딜리버리 플레이북 — 중급 레인 운영
- Codex 고위험 변경 거버넌스 — 크리티컬 릴리스를 위한 고급 통제
- Codex 운영 매뉴얼 — 팀의 일/주/릴리스 리듬 정렬하기
- Codex 사고 복구 플레이북 — 프로덕션 압박 상황에서의 결정론적 대응
- Codex 사고 후 하드닝 루프 — 복구를 내구성 있는 통제로 전환하기
- Codex 카오스 복원력 드릴 — 실패가 오기 전에 리허설하기
- Codex 복원력 지표와 SLO — 실패 전에 신뢰성을 측정하기
- Codex Ralph 지속 루프 — 긴 작업을 검증 가능한 완료까지 가져가기
이 문서에서 참고한 공식 문서
- 작업 분해와 명시적 제약 — Best Practices
- 위임 워커를 통한 병렬 레인 구성 — Subagents
- diff 범위 기반 검토 체크포인트 — Review
- 브랜치/파일 격리 모델 — Worktrees
왜 핸드오프에서 품질이 새는가
Codex로 빠르게 코드를 만드는 팀은 많습니다. 하지만 레인 사이에서 작업을 깔끔하게 넘기는 팀은 훨씬 적습니다.
핸드오프가 깨지는 대표 원인:
- 목표 상태가 없음
- 검증 근거가 없음
- diff 범위가 불명확함
- 리스크/롤백 메모가 없음
- 다음 오너가 명시되지 않음
이 중 하나라도 빠지면 다음 레인이 컨텍스트를 다시 발굴해야 합니다. 그 지점에서 시간과 품질이 동시에 손실됩니다.
최소 핸드오프 계약
레인 간 핸드오프를 작은 API로 취급하세요. 항상 아래 5개 필드를 요구합니다.
- Goal 상태 — done / partial / blocked
- Evidence — lint/tests/build 출력(또는 생략 사유)
- Diff 범위 — 무엇이 어디서 바뀌었는지
- Risk 노트 — 롤백 경로와 미해결 edge case
- 다음 오너 — 누가 다음 액션을 수행하는지
긴 서술보다 짧고 고정된 계약이 훨씬 강합니다.
변경 유형별 근거 강도
| 변경 유형 | 최소 근거 | 권장 근거 |
|---|---|---|
| UI/콘텐츠 중심 수정 | lint + 로컬 렌더 sanity | lint + build + 스크린샷 체크 |
| 동작 변경 없는 리팩토링 | lint + 대상 테스트 | lint + 테스트 + review scope 스냅샷 |
| auth/billing/security 로직 | lint + 테스트 + build | lint + 전체 테스트 + 리뷰어 승인 + 롤백 메모 |
| migration/데이터 스키마 변경 | lint + migration 체크 | lint + migration 테스트 + 롤백 계획 + 검증 레인 |
영향 범위가 클수록 핸드오프 근거를 더 두껍게 가져가야 합니다.
복붙 가능한 핸드오프 템플릿
### Handoff: <lane-name> -> <lane-name>
- Goal 상태: done | partial | blocked
- Evidence:
- lint: <pass/fail + command>
- tests: <pass/fail + command>
- build: <pass/fail + command>
- Diff 범위:
- 변경 디렉터리: <list>
- 핵심 파일: <list>
- Risk 노트:
- 롤백 경로: <short>
- 미해결 edge case: <list or none>
- 다음 오너: <person/role/lane>
- 다음 액션 기한: <date/time or trigger>이슈, PR 코멘트, 런북 어디든 같은 형태를 유지하세요. 도구보다 일관성이 중요합니다.
잘 동작하는 레인 라우팅 패턴
패턴 A — 탐색 후 실행
- 서브에이전트 레인에서 2~3개 접근법 탐색
- 메인 레인에서 1개 선택
- worktree 레인에서 구현
- 검증 레인에서 PR 전 확인
패턴 B — 구현 + 독립 검증
- 구현 worktree에서 코드 후보 생성
- 별도 검증 worktree에서 체크 재실행 + diff 감사
- 리뷰 레인에서 머지/재작업 결정
패턴 C — 릴리스 안전 문서 흐름
- 구현 머지 완료
- docs/release 레인에서 문서/릴리스 노트만 수정
- 리뷰 레인에서 사용자 노출 일관성 확인
핵심은 패턴 이름보다, 매 단계의 오너십을 명시하는 것입니다.
흔한 핸드오프 안티패턴
커맨드 출력 없이 “문제 없어 보임”
근거가 없으면 다음 레인이 검증을 처음부터 다시 해야 합니다.
오너 미지정 상태의 “누가 리뷰해 주세요”
소유권 공백에서 작업이 멈춥니다.
검증 레인에 너무 큰 혼합 diff 전달
리스크를 빠르게 분리할 수 없습니다. 더 이른 단계에서 레인을 쪼개야 합니다.
리스크를 알면서 롤백 계획 미작성
사고 시점에 롤백 전략을 즉석에서 만들게 됩니다.
머지 전 15분 핸드오프 점검
머지 직전에 확인:
- 5개 계약 필드가 모두 채워졌는가?
- 근거가 최신 실행 결과인가?
- diff 범위가 stated goal과 일치하는가?
- 남은 액션마다 다음 오너가 지정되어 있는가?
- 변경 범위에 맞는 현실적인 롤백이 있는가?
하나라도 아니오면, 핸드오프 한 사이클을 더 돌리세요.
blocked 레인 에스컬레이션 프로토콜
레인이 한 사이클 이상 막히면:
- 상태를
blocked로 표시 - 블로커 근거를 첨부
- 대체 경로 1개 제안
- 다음 오너를 명시
- 다음 체크인 시점을 timebox
막힘 자체는 정상입니다. 오너 없는 막힘이 비쌉니다.
1인 개발자 버전
혼자 작업해도 같은 계약을 단계 간에 유지하세요:
- builder 역할의 나
- verifier 역할의 나
- reviewer 역할의 나
처음에는 번거롭지만, 자기확신 기반 블라인드 스팟을 크게 줄여줍니다.
빠른 체크리스트
핸드오프 전에:
- 5개 계약 필드 완료
- 근거 첨부
- 다음 오너 명시
머지 전에:
- 검증 레인 피드백 반영 완료
- review scope 정리 완료
- 롤백 경로 문서화
좋은 Codex 출력만으로는 부족합니다. 좋은 핸드오프가 있어야 병렬 워크플로우가 팀 규모에서도 안정적으로 작동합니다. 머지 전 근거 품질을 표준화하려면 Codex 검증 루프로 이어서 보세요.