Codex 변경을 리뷰하고 테스트하기
코드를 수정한 세션의 설명만 읽으면 놓친 조건을 찾기 어렵습니다. Codex의 로컬 리뷰 기능으로 다른 관점의 지적을 받을 수 있지만, "문제없음"이라는 응답이 테스트나 보안 감사를 대신하지는 않습니다.
이 글은 공식 리뷰 안내를 바탕으로 정리한 비공식 해설입니다. 아래 요청은 자체 예제이며 실제 리뷰나 테스트를 실행한 결과가 아닙니다.
비교 대상을 먼저 고르세요
Git 저장소에서 CLI 세션의 입력창에 /review를 입력하면 리뷰 범위를 선택할 수 있습니다. 일반 터미널의 셸 명령과 구분하세요. 이 기능은 모델 작업이므로 실제 사용 시 이용량이 발생할 수 있습니다.
/review
공식 CLI 문서는 다음 범위를 설명합니다.
- 기준 브랜치와 비교: merge base를 찾아 현재 브랜치의 변경을 리뷰합니다.
- 커밋되지 않은 변경: staged·unstaged·untracked 파일을 포함합니다.
- 특정 커밋: 선택한 커밋의 변경을 봅니다.
- 사용자 지정 지침: 원하는 검토 기준을 추가합니다.
커밋되지 않은 변경에는 사용자가 직접 고친 파일이나 다른 도구의 결과도 포함될 수 있습니다. Codex가 수정한 파일만 보인다고 가정하지 마세요. 기준 브랜치 이름도 저장소마다 다르므로 무조건 main을 선택하지 않습니다.
리뷰는 증거를 얻는 과정
공식 문서에 따르면 로컬 /review는 선택한 diff를 읽고 우선순위가 있는 지적을 보고하며 작업 트리를 수정하지 않습니다. 지적을 적용하라는 후속 요청은 별도 수정 작업입니다. 자동으로 커밋·push·머지까지 진행하도록 범위를 넓히지 마세요.
다음과 같이 원하는 실패 조건을 알려줄 수 있습니다.
빈 입력 처리 변경을 검토해줘.
입력값, 재현 절차, 기대 결과, 실제 코드 경로를 함께 설명해줘.
기존 정상 이름 입력과 공백 입력을 구분해줘.
수정하거나 외부에 리뷰 코멘트를 게시하지 말고 지적만 정리해줘.
보고된 파일·줄·조건을 실제 diff에서 확인합니다. 존재하지 않는 경로나 이미 수정된 문제를 가리킬 수 있으므로 최신 변경을 기준으로 판단하세요.
지적 하나마다 재현하기
예를 들어 공백 입력을 놓쳤다는 지적이 있다면 먼저 그 입력을 사용한 테스트를 만듭니다. 테스트가 수정 전에는 기대한 이유로 실패하고 수정 후에는 통과하는지 확인해야 합니다. import 오류나 테스트 환경 오류로 실패했다면 기능 결함을 재현한 것이 아닙니다.
검증 수준도 나누어 기록하세요.
| 검사 | 확인하는 것 | 대신하지 못하는 것 |
|---|---|---|
| 타입·린트 | 타입 관계와 정적 규칙 | 실제 화면·API 동작 |
| 단위 테스트 | 명시한 입력과 함수·컴포넌트 동작 | 전체 사용자 흐름 |
| E2E·브라우저 | 실제 페이지와 사용자 조작 | 모든 환경·운영 상태 |
| 배포 후 점검 | 배포된 버전의 공개 동작 | 이후의 상시 감시 |
이 표는 일반적인 검증 구분이지 Codex가 모든 검사를 자동으로 제공한다는 뜻은 아닙니다. 프로젝트에 실제로 있는 명령만 실행하고, 네트워크·계정·비용이 필요한 검사는 먼저 범위를 확인합니다.
완료 보고에 남길 것
변경한 범위, 실행한 명령, 종료 결과, 남은 실패, 실행하지 못한 검증을 적습니다. 테스트가 통과해도 리뷰 대상 SHA가 이후 바뀌면 같은 결과를 그대로 적용할 수 없습니다. 최종 변경을 다시 확인하세요.
GitHub의 리뷰 연동이나 자동 PR 코멘트는 별도 연결과 권한이 필요한 흐름입니다. 로컬 /review를 사용했다고 그런 연동까지 설정된 것은 아닙니다. 오류가 계속되면 문제 해결에서 단계별로 원인을 분리하세요.
공식 한국어 도움말: ChatGPT 플랜과 Codex에서 계정별 이용 안내를 확인할 수 있습니다. 이 글은 해당 도움말의 공식 번역이 아니며, 계정 조건과 요금은 공식 안내를 우선합니다.