36단계GitHub 코드 리뷰를 Codex에게
PR마다 다른 에이전트가 한 번 더 읽게 하고, 지적을 받아들일지는 사람이 정합니다.
걸리는 시간 · 읽기 약 12분 · 따라 하기 약 40분 · 난이도 ★★★ 심화
이 단계를 마치면
- 내 저장소에 Codex 코드 리뷰를 켜고,
@codex review로 리뷰를 부를 수 있습니다. - AGENTS.md의
## Code Review Rules에 우리 도구에 맞는 리뷰 기준을 적을 수 있습니다. - 리뷰 지적마다 받아들일지, 보류할지, 반박할지를 정하고 그 이유를 PR에 남길 수 있습니다.
제3부에서 우리는 에이전트가 만든 것을 스스로 확인했습니다. 화면을 열고, 바뀐 파일을 묻고, 테스트를 되돌려 봤습니다. 그런데 회사에서 누군가 이렇게 묻는다면 어떨까요? "이 변경을 만든 사람 말고 누가 봤습니까?" 개발팀에서는 이 질문에 답하려고 코드 리뷰를 합니다. 변경을 바로 본줄에 넣지 않고 PR로 올린 뒤, 다른 사람이 읽고 승인하면 합칩니다.
비개발자 혼자 만드는 도구에는 읽어 줄 동료가 없습니다. Codex의 GitHub 연동이 그 빈틈을 일부 메워 줍니다. PR에 댓글 하나를 달면 Codex가 변경 내용을 읽고 리뷰를 올립니다. 이 단계에서는 리뷰를 켜는 법, 부르는 법, 그리고 가장 중요한 일인 지적을 판단하는 법을 익힙니다.
켜는 법과 부르는 법
Codex 코드 리뷰는 Codex cloud 위에서 돌아갑니다. 그래서 35단계의 클라우드 설정이 먼저 되어 있어야 합니다. 로그인은 ChatGPT 계정이어야 하고, API 키 로그인으로는 쓸 수 없습니다. 요금표 기준으로 자동 코드 리뷰 같은 클라우드 연동은 Plus 요금제부터 들어 있습니다.
켜는 곳은 Codex 설정의 코드 리뷰 화면(chatgpt.com/codex/settings/code-review)입니다. 저장소 목록에서 내 저장소의 Code review를 켭니다. 이 설정을 바꾸려면 그 저장소에 push 권한이나 admin 권한이 있어야 합니다. 25단계에서 만든 개인 저장소라면 주인이니 문제가 없고, 회사 저장소라면 관리자에게 부탁해야 합니다.
부르는 방법은 두 가지입니다.
| 방법 | 하는 법 | 언제 쓰나 |
|---|---|---|
| 수동 리뷰 | PR 댓글에 @codex review를 적습니다 |
중요한 변경만 골라 보고 싶을 때 |
| 초점 리뷰 | @codex review for issues in the database migration처럼 뒤에 볼 곳을 붙입니다 |
특정 위험만 따로 확인하고 싶을 때 |
| 자동 리뷰 | 같은 설정 화면에서 Automatic reviews를 켭니다 | 모든 PR을 빠짐없이 보게 하고 싶을 때 |
@codex review를 달면 Codex가 👀 반응을 답니다. 읽기 시작했다는 표시입니다. 잠시 뒤 리뷰가 올라옵니다. 공식 문서에 따르면 GitHub에는 P0과 P1 등급의 문제만 표시합니다. P0, P1은 개발 현장에서 흔히 쓰는 우선순위 표시로, 숫자가 작을수록 급한 문제입니다. 사소한 취향 지적으로 PR이 뒤덮이지 않도록 걸러 낸 셈입니다.
@codex 뒤에 review가 아닌 다른 말을 붙이면 리뷰 대신 작업이 시작됩니다. 예를 들어 @codex fix the P1 issue라고 쓰면 그 PR을 맥락으로 클라우드 작업이 돌아 고친 결과를 내놓습니다. 편하지만, 지적을 판단하기 전에 바로 고치게 하면 판단을 건너뛰게 됩니다. 아래 순서대로 먼저 판단하고, 고칠 것만 맡기십시오. 보안 쪽만 따로 보는 @codex security review도 있는데, 집필 시점에는 연구 프리뷰 단계입니다.
PR을 올리기 전에 내 컴퓨터에서 먼저 리뷰를 받을 수도 있습니다. Codex CLI에서 /review를 입력하거나, 터미널에서 codex review --uncommitted(아직 커밋하지 않은 변경), codex review --base main(본줄과 다른 부분)을 실행합니다. 로컬 리뷰로 한 번 거르고, PR에서 한 번 더 받는 순서가 좋습니다.
리뷰 규칙은 AGENTS.md에
리뷰가 무엇을 볼지는 AGENTS.md의 ## Code Review Rules 섹션에 적습니다. 33단계에서 만든 AGENTS.md 아래에 섹션을 하나 더 붙이면 됩니다. 규칙은 23단계에서 배운 대로 확인할 수 있는 문장으로 씁니다.
## Code Review Rules
- 개인정보(이름 전체, 전화번호, 이메일)가 화면, 주소창, 내려받는 파일에 그대로 나오면 P1로 표시한다.
- 인증키나 비밀번호로 보이는 문자열이 코드에 있으면 P0으로 표시한다.
- 화면 문구는 한국어여야 한다. 영어 오류 문구가 사용자에게 보이면 표시한다.
- 이 도구에는 관리자 로그인이 없다. 관리자 권한 검사가 없다는 지적은 하지 않는다.
- 리뷰 설명은 한국어로 쓴다.
마지막 규칙처럼 언어를 정해 둘 수 있지만, 실제로 따르는지는 첫 리뷰에서 확인해야 합니다. 규칙 파일은 부탁이라는 29단계의 말이 여기에도 해당합니다.
지적을 사람이 판단하는 법
리뷰가 올라오면 고치기 전에 지적마다 판단부터 합니다. 리뷰어는 코드를 읽었을 뿐, 우리 도구를 누가 어떻게 쓰는지는 모릅니다. 그 맥락을 아는 사람은 만든 사람입니다.
| 판단 | 이럴 때 | PR에 남길 것 |
|---|---|---|
| 받아들임 | 지적한 문제를 화면에서 재현할 수 있습니다 | 재현한 방법, 고친 커밋 |
| 보류 | 맞는 말이지만 지금 고치면 범위가 커집니다 | 나중에 할 일 목록에 올렸다는 기록 |
| 반박 | 우리 도구의 쓰임과 맞지 않습니다 | 이유 한두 문장, 필요하면 Code Review Rules에 추가 |
| 모름 | 무슨 뜻인지 이해하지 못했습니다 | 다른 에이전트나 사람에게 물어본 결과 |
비개발자가 리뷰를 읽을 때는 세 가지만 확인하면 됩니다. 첫째, 어떤 파일의 어느 부분을 가리키는가. 둘째, 그 문제가 사용자에게 어떤 모습으로 나타나는가. 셋째, 내가 화면에서 직접 재현할 수 있는가. 셋째가 가장 중요합니다. 재현이 안 되는 지적은 곧바로 고치지 말고, Codex나 Claude Code에게 "이 지적을 내가 화면에서 확인하는 방법을 알려 줘. 고치지는 마"라고 먼저 묻습니다.
리뷰가 아무 지적도 하지 않았다고 해서 문제가 없다는 뜻은 아닙니다. P0, P1만 표시하니 작은 문제는 걸러졌을 수 있고, 리뷰어가 못 본 문제도 있습니다. 리뷰는 30단계의 확인을 대신하지 않습니다. 확인 위에 한 겹을 더하는 일입니다.
현장 장면
가람시 민원여권과 배수민 주무관은 34단계에서 민원 현황 파일을 Codex로 합친 뒤, 제3부의 방법으로 만들어 둔 민원 서류 안내 페이지에도 Codex를 붙이기로 했습니다. 어떤 민원에 어떤 서류가 필요한지 고르면 목록이 나오고, 문의 양식에 이름과 연락처를 남기면 담당자가 전화를 거는 페이지입니다. 시 정보통신팀은 외부에 공개하기 전에 한 가지를 요구했습니다. "변경마다 검토 흔적을 남겨 주세요."
배 주무관은 자동 리뷰를 켜고, 문의 양식을 손본 PR을 올렸습니다. 몇 분 뒤 리뷰 두 건이 달렸습니다. 첫째는 P1이었습니다. 문의 양식을 보내면 입력한 이름과 전화번호가 주소창에 그대로 붙는다는 지적이었습니다. 배 주무관은 휴대폰으로 배포된 주소를 열어 가짜 이름을 넣고 보내 봤습니다. 주소창 끝에 이름과 번호가 보였습니다. 이 주소가 방문 기록에 남으면 개인정보가 새는 셈입니다. 받아들이고, 재현한 방법을 PR 댓글에 적은 뒤 고치게 했습니다.
둘째 지적은 관리자 화면에 비밀번호 확인이 없다는 내용이었습니다. 그런데 이 페이지에는 관리자 화면이 없었습니다. 문의 내용은 담당자 메일로 가고, 페이지에는 저장되지 않습니다. 배 주무관은 이유를 두 문장으로 적어 반박하고, AGENTS.md의 Code Review Rules에 "이 도구에는 관리자 화면이 없다"는 규칙을 보탰습니다. 다음 PR부터 같은 지적은 나오지 않았습니다.
정보통신팀 담당자는 PR 목록을 훑어보고 말했습니다. "지적마다 판단한 이유가 있으니 검토 기록으로 충분하네요." 배 주무관이 PR에 남긴 판단의 기록이 곧 검토 흔적이 된 셈입니다.
따라 하기
- 35단계의 클라우드 환경이 내 저장소에 있는지 확인합니다. 성공 기준: chatgpt.com/codex의 환경 목록에 저장소가 보입니다.
- 코드 리뷰 설정 화면에서 내 저장소의 Code review를 켭니다. 자동 리뷰는 아직 켜지 않습니다. 성공 기준: 저장소 옆의 리뷰 설정이 켜져 있습니다.
- AGENTS.md에
## Code Review Rules섹션을 붙이고 규칙 세 개 이상을 적어 커밋합니다. 아래 첫 번째 프롬프트로 초안을 받아도 됩니다. 성공 기준: 규칙마다 화면이나 파일에서 지켜졌는지 가릴 수 있습니다. - 작은 변경 하나를 브랜치에서 만들어 PR을 열고, 댓글에
@codex review를 적습니다. 성공 기준: 👀 반응이 붙고 리뷰가 올라옵니다. - 지적마다 받아들임·보류·반박·모름 가운데 하나를 고르고, 이유를 PR 댓글로 남깁니다. 두 번째 프롬프트로 재현 방법을 물을 수 있습니다. 성공 기준: 지적 하나도 빠짐없이 판단이 적혀 있습니다.
- 받아들인 것만 고치게 하고, 고친 뒤 다시
@codex review를 부릅니다. 괜찮으면 합치고, 자동 리뷰를 켤지 정합니다. 성공 기준: 합친 뒤 배포된 주소에서 고친 부분을 직접 확인했습니다.
복사해 쓰는 프롬프트
AGENTS.md에 붙일 "## Code Review Rules" 섹션 초안을 만들어 줘. 파일은 아직 고치지 마.
이 도구는 [도구 설명 한 문장]이고, 쓰는 사람은 [사용자]야.
- 개인정보, 인증키, 사용자에게 보이는 문구에 관한 규칙을 먼저
- 우리 도구에 없는 기능(예: [없는 기능])에 대한 지적은 하지 말라는 규칙
- 규칙마다 P0인지 P1인지 표시
- 규칙은 사람이 지켜졌는지 예·아니오로 가릴 수 있는 문장으로
이 PR에 달린 리뷰 지적을 판단하려고 해. 아직 고치지는 마.
지적 내용: [리뷰 문장 붙여 넣기]
1. 이 지적이 사용자에게 어떤 모습으로 나타나는지 쉬운 말로 설명해 줘.
2. 내가 배포된 화면에서 직접 재현해 볼 수 있는 순서를 적어 줘.
3. 고친다면 어떤 파일을 얼마나 바꿔야 하는지, 범위를 짧게.
4. 우리 도구의 쓰임([쓰임 한 문장])에 비춰 이 지적이 해당하지 않을 가능성이 있으면 알려 줘.
막히면 이렇게
| 증상 | 원인 | 해결 |
|---|---|---|
@codex review를 달아도 반응이 없습니다 |
클라우드 설정이 안 됐거나 저장소의 Code review가 꺼져 있습니다 | 환경 목록과 코드 리뷰 설정 화면에서 저장소 상태를 확인합니다 |
| 리뷰 설정을 바꿀 수 없습니다 | 저장소에 push나 admin 권한이 없습니다 | 저장소 관리자에게 권한을 요청하거나 설정을 부탁합니다 |
| 우리 도구에 없는 기능을 지적합니다 | 리뷰어가 도구의 쓰임을 모릅니다 | 이유를 적어 반박하고, Code Review Rules에 해당 규칙을 보탭니다 |
| 지적이 무슨 뜻인지 모르겠습니다 | 개발 용어로 쓰였습니다 | 두 번째 프롬프트로 쉬운 말 설명과 재현 순서를 받습니다 |
| 리뷰에 지적이 없어 바로 합쳤는데 화면이 깨졌습니다 | 리뷰는 P0·P1만 표시하고, 화면 확인을 대신하지 않습니다 | 되돌린 뒤 30단계 방식으로 배포된 주소를 직접 확인하고 다시 합칩니다 |
스스로 점검
- ☐ 내 저장소에 Codex 코드 리뷰를 켜고,
@codex review로 리뷰를 받아 봤습니까? - ☐ AGENTS.md의
## Code Review Rules에 우리 도구에 맞는 규칙을 세 개 이상 적었습니까? - ☐ 리뷰 지적마다 받아들임·보류·반박·모름 가운데 하나를 고르고 그 이유를 PR에 남겼습니까?
점검 해설 보기
- PR 댓글에
@codex review를 달았을 때 👀 반응이 붙고 리뷰가 올라왔으면 통과입니다. 반응이 없으면 35단계의 클라우드 환경이 있는지, 코드 리뷰 설정 화면에서 저장소의 Code review가 켜져 있는지 차례로 확인합니다. 설정을 바꿀 수 없다면 저장소 권한부터 봅니다. ## Code Review Rules의 규칙마다 화면이나 파일을 보고 지켜졌는지 예·아니오로 가릴 수 있으면 통과입니다. 흐린 규칙이 있다면 「복사해 쓰는 프롬프트」의 첫 번째 프롬프트로 초안을 다시 받습니다. 우리 도구에 없는 기능에 대한 지적을 막는 규칙도 하나 넣어 둡니다.- PR의 모든 지적 옆에 받아들임·보류·반박·모름 가운데 하나와 그 이유가 댓글로 남아 있으면 통과입니다. 판단이 어렵다면 「지적을 사람이 판단하는 법」의 표를 옆에 두고, 두 번째 프롬프트로 재현 순서부터 받습니다. 재현되지 않은 지적을 바로 고치게 하지는 않습니다.
기억할 것
- 리뷰는 판단할 재료를 줍니다. 받아들일지는 화면에서 재현해 본 사람이 정합니다.
- 반박한 지적은 Code Review Rules로 옮겨, 같은 지적이 되풀이되지 않게 합니다.
- 리뷰를 통과해도 배포된 주소는 직접 엽니다.