한 줄 요약

이 페이지에서 배우는 것

  • Review Pane이 무엇이고, 왜 필요한지
  • Git diff의 기본 개념 (빨간색 = 삭제, 초록색 = 추가)
  • Codex가 수정한 코드를 검토하는 전체 흐름
  • 인라인 코멘트로 AI에게 구체적인 피드백을 주는 방법
  • 3가지 보기 모드(미커밋, 브랜치, Last turn)의 차이점
  • AI 코드 리뷰가 중요한 이유와 실전 시나리오

Review Pane이 뭔가요?

Microsoft Word에서 "변경 내용 추적(Track Changes)" 기능을 사용해 본 적이 있나요? 누군가 문서를 수정하면, 어디가 지워지고 어디가 추가되었는지 색깔로 표시해 주는 기능입니다.

Review Pane은 코드 버전의 "변경 내용 추적"이라고 생각하면 됩니다. Codex가 여러분의 코드를 수정하면, Review Pane이 다음을 보여줍니다:

삭제된 줄 (빨간색)
기존 코드에서 제거된 부분입니다. Word에서 취소선이 그어진 텍스트와 같습니다.
추가된 줄 (초록색)
새로 작성되거나 수정된 코드입니다. Word에서 밑줄이 그어진 새 텍스트와 같습니다.
변경 없는 줄 (회색)
수정되지 않은 기존 코드입니다. 주변 맥락을 이해할 수 있도록 함께 보여줍니다.

Review Pane에서 각 변경을 확인한 뒤, 승인(Accept)하거나, 마음에 들지 않으면 인라인 코멘트로 "이 부분은 다르게 수정해 줘"라고 피드백을 남길 수 있습니다. Codex는 그 피드백을 읽고 다시 수정합니다.

Git diff란?

Review Pane을 제대로 이해하려면, Git diff가 무엇인지 알아야 합니다. 어렵지 않습니다!

한 줄 요약

비유로 이해하기: 여러분이 에세이 초안을 작성하고 저장했습니다 (이것이 "이전 버전"). 다음 날 수정했습니다 (이것이 "현재 버전"). Git diff는 이 두 버전을 나란히 놓고 "어디가 달라졌는지" 보여주는 것입니다.

실제 Git diff 화면은 이렇게 생겼습니다:

  function greet(name) {
-   return "Hello, " + name;        // 삭제된 줄 (빨간색)
+   return `Hello, ${name}!`;       // 추가된 줄 (초록색)
  }

위 예시에서 - 표시는 "이전에 있던 코드가 삭제되었다"는 뜻이고, + 표시는 "새로운 코드가 추가되었다"는 뜻입니다. 이렇게 빨간색(삭제)과 초록색(추가)으로 변경 사항을 한눈에 파악할 수 있습니다.

주의: Git 저장소가 아니면 Review Pane이 동작하지 않습니다. 프로젝트 폴더에서 git init 명령어로 Git을 초기화해야 합니다. 초기화하지 않은 경우, Codex가 자동으로 초기화를 안내합니다.

왜 Review가 중요한가요?

AI는 놀랍도록 똑똑하지만, 완벽하지는 않습니다. Codex도 때때로 실수를 합니다. Review는 여러분의 안전망입니다.

버그 예방
AI가 의도와 다르게 코드를 수정할 수 있습니다. Review를 통해 잘못된 수정을 프로젝트에 반영하기 전에 잡아낼 수 있습니다. 마치 출판 전 교정 작업과 같습니다.
학습 기회
AI가 수정한 코드를 읽으면서 "왜 이렇게 고쳤을까?" 생각해 보면, 프로그래밍 실력이 자연스럽게 향상됩니다. 좋은 코드 예시를 보는 것이 최고의 공부입니다.
의도 확인
"로그인 기능 수정해 줘"라고 요청했는데, AI가 회원가입 기능까지 건드렸을 수 있습니다. Review를 통해 요청한 범위만 수정되었는지 확인할 수 있습니다.
팀 협업
리뷰 내용을 팀원과 공유하면, AI가 만든 변경에 대해 함께 논의할 수 있습니다. 혼자 판단하기 어려운 부분도 팀의 도움을 받을 수 있습니다.

리뷰 워크플로

Codex로 코드를 수정하고 리뷰하는 전체 과정을 단계별로 살펴봅니다. 각 단계에서 무엇을 하는지 자세히 설명합니다.

1
코드 변경 요청
Codex에게 "이 함수의 버그를 수정해 줘"처럼 자연어로 요청합니다. Codex가 코드를 분석하고 수정을 시작합니다.
2
Review Pane 열기
Codex가 작업을 완료하면 Review Pane이 활성화됩니다. 여기서 빨간색(삭제)과 초록색(추가)으로 변경된 모든 줄을 확인합니다.
3
보기 모드 선택
"미커밋 변경", "브랜치 변경", "Last turn 변경" 중 원하는 모드를 선택합니다. 초보자에게는 "Last turn 변경"을 추천합니다. Codex가 방금 수정한 부분만 깔끔하게 보여줍니다.
4
인라인 코멘트 작성
수정이 마음에 들지 않는 줄이 있다면, 그 줄을 클릭하고 코멘트를 남깁니다. 예: "여기는 for 루프 대신 map을 사용해 줘". 구체적으로 쓸수록 Codex가 더 정확히 이해합니다.
5
피드백 반영 확인
코멘트가 자동으로 대화 스레드에 연결됩니다. Codex가 피드백을 이해하고 코드를 다시 수정합니다. 만족할 때까지 이 과정을 반복할 수 있습니다.

변경 보기 모드 비교

Review Pane에는 3가지 보기 모드가 있습니다. 상황에 따라 적절한 모드를 선택하면 원하는 변경만 집중해서 볼 수 있습니다.

모드 무엇을 보여주나요? 언제 사용하나요? 초보자 추천
미커밋 변경 아직 Git에 저장(커밋)하지 않은 모든 변경을 보여줍니다. Codex가 수정한 것뿐만 아니라, 여러분이 직접 수정한 것도 함께 표시됩니다. "현재 폴더에서 아직 저장하지 않은 모든 변경"이라고 생각하세요. 기본값입니다. 전체 작업 상황을 한번에 파악하고 싶을 때 사용합니다. 보통
브랜치 변경 현재 브랜치에서 시작점 이후로 쌓인 모든 변경을 보여줍니다. 여러 번 커밋한 내용이 합쳐서 표시됩니다. "이 브랜치에서 한 작업 전체"를 의미합니다. 작업을 마무리하고 전체 변경을 한눈에 검토할 때 사용합니다. PR(풀 리퀘스트)을 만들기 전에 유용합니다. 나중에
Last turn 변경 Codex가 가장 최근에 수정한 부분만 보여줍니다. 다른 변경은 숨기고, Codex의 마지막 응답에서 발생한 코드 변경만 집중적으로 표시합니다. Codex에게 피드백을 주고 다시 수정을 받았을 때, "방금 뭘 고쳤는지"만 빠르게 확인하고 싶을 때 최적입니다. 추천!

Review Pane이 보여주는 것

Review Pane은 Codex 전용 화면이 아니라 Git diff 뷰어입니다. 따라서 Codex가 수정한 코드 외에도 다른 변경이 함께 보일 수 있습니다. 이것은 버그가 아니라 정상적인 동작입니다.

3가지 핵심 navigation 패턴 (공식 review 문서)

  • 파일명 클릭 — 해당 파일의 diff로 점프
  • 파일 배경(빈 영역) 클릭 — 파일 헤더를 토글해 diff를 접거나 펼치기 — 큰 PR을 빠르게 훑을 때 유용
  • 코드 라인 Cmd+클릭 — 해당 줄을 외부 에디터(Settings의 file_opener로 지정)로 바로 열기
Codex가 만든 변경
Codex가 생성하거나 수정한 모든 코드 변경 사항입니다. 여러분이 요청한 작업의 결과물입니다.
사용자 직접 변경
여러분이 에디터에서 직접 수정한 내용도 함께 보입니다. 아직 커밋하지 않은 수정이라면 모두 표시됩니다.
다른 도구의 변경
패키지 설치(npm install 등)로 자동 생성된 파일 변경도 Git diff에 포함되어 보일 수 있습니다.
Staged / Unstaged 전환
로컬 환경에서는 Staged(스테이지에 올린 변경)와 Unstaged(아직 올리지 않은 변경)를 전환하며 검토할 수 있습니다 — 실제 UI에 표시되는 영문 라벨이 그대로 Staged/Unstaged입니다.
Codex 전용 뷰가 아닙니다
Review Pane은 Git diff 뷰어이므로, Codex가 만들지 않은 변경도 보일 수 있습니다. 헷갈린다면 "Last turn 변경" 모드를 사용하세요. Codex가 방금 수정한 부분만 볼 수 있습니다.
Git 저장소 필수
Git 저장소가 초기화되지 않은 폴더에서는 Review Pane이 동작하지 않습니다. 터미널에서 git init으로 먼저 초기화하세요.

리뷰 워크플로 단계별 진행

아래는 Codex에게 작업을 요청하고, 결과를 리뷰하고, 피드백을 주는 전체 과정을 시간순으로 보여줍니다.

1단계: Codex에 작업 요청
채팅창에 자연어로 요청합니다. 예: "calculateTotal 함수에서 세금 계산이 잘못되고 있어. 수정해 줘." 요청이 구체적일수록 Codex가 더 정확하게 수정합니다.
2단계: Codex 작업 완료 대기
Codex가 코드를 분석하고 수정합니다. 작업이 완료되면 "변경 사항을 확인하세요"라는 알림이 나타나고, Review Pane이 활성화됩니다.
3단계: Review Pane에서 diff 확인
Review Pane을 열면 빨간색(삭제)과 초록색(추가) 줄이 보입니다. 위에서 아래로 천천히 읽으며 "이 변경이 맞는가?" 확인합니다. 처음에는 "Last turn 변경" 모드로 Codex의 수정만 보는 것을 추천합니다.
4단계: 인라인 코멘트로 피드백
수정이 마음에 들지 않는 줄을 클릭하고 코멘트를 남깁니다. 예: "이 변수명을 price 대신 unitPrice로 바꿔 줘." 코멘트는 자동으로 대화 스레드에 연결됩니다.
5단계: Codex 재수정 및 최종 확인
Codex가 피드백을 반영하여 코드를 다시 수정합니다. Review Pane에서 재수정 내용을 확인하고, 만족하면 승인합니다. 만족하지 않으면 다시 코멘트를 남길 수 있습니다.

실전 시나리오: 코드 리뷰 따라하기

실제로 Codex를 사용하여 코드를 리뷰하는 과정을 따라해 봅시다. 아래 시나리오를 처음부터 끝까지 읽으면, Review Pane 사용법을 자연스럽게 익힐 수 있습니다.

상황: 장바구니 합계 함수에 버그 발견
여러분의 쇼핑몰 프로젝트에서 calculateTotal() 함수가 세금을 계산하지 않는 버그가 있습니다. Codex에게 수정을 요청하기로 합니다.
1. Codex에게 요청하기
채팅창에 이렇게 입력합니다: "calculateTotal 함수에서 세금(10%)이 포함되지 않는 버그를 수정해 줘." Codex가 코드를 분석하고 수정을 시작합니다.
2. Review Pane에서 변경사항 확인
Codex가 작업을 완료하면 Review Pane에서 이런 diff를 볼 수 있습니다:
  function calculateTotal(items) {
    const subtotal = items.reduce((sum, item) =>
      sum + item.price * item.qty, 0);
-   return subtotal;
+   const tax = subtotal * 0.1;
+   return subtotal + tax;
  }
빨간색 줄: 기존 return subtotal;이 삭제됨. 초록색 줄: 세금 계산 후 합계를 반환하도록 수정됨.
3. 인라인 코멘트로 피드백 남기기
세금율이 하드코딩(0.1)되어 있는 것이 마음에 들지 않습니다. const tax = subtotal * 0.1; 줄을 클릭하고 코멘트를 남깁니다: "세금율을 상수(TAX_RATE)로 분리해 줘. 나중에 세금율이 변경될 수 있어."
4. Codex가 피드백을 반영하여 재수정
Codex가 피드백을 이해하고 코드를 다시 수정합니다:
+ const TAX_RATE = 0.1;
  function calculateTotal(items) {
    const subtotal = items.reduce((sum, item) =>
      sum + item.price * item.qty, 0);
-   const tax = subtotal * 0.1;
+   const tax = subtotal * TAX_RATE;
    return subtotal + tax;
  }
이번에는 세금율이 상수로 분리되었습니다. 만족스러우므로 승인합니다!

인라인 코멘트 작성법

인라인 코멘트는 Review Pane에서 가장 강력한 기능입니다. 일반 채팅으로 "3번째 줄 수정해 줘"라고 말하는 것보다, 해당 줄을 직접 클릭하고 코멘트를 남기는 것이 훨씬 정확합니다.

  • 1 변경된 줄 클릭: Review Pane에서 피드백을 남기고 싶은 줄을 클릭합니다. 해당 줄 옆에 코멘트 입력창이 나타납니다.
  • 2 구체적으로 작성: "이거 좀 이상해"보다는 "이 변수명을 data 대신 userList로 바꿔 줘. 의미가 더 명확해져"처럼 구체적으로 쓰세요.
  • 3 이유도 함께 적기: "왜" 변경을 원하는지 이유를 함께 적으면, Codex가 의도를 더 정확히 이해합니다. 예: "이 함수가 너무 길어서 두 개로 분리해 줘. 유지보수가 어렵거든."
  • 4 코멘트 전송: 작성을 마치면 전송 버튼을 누릅니다. 코멘트가 자동으로 대화 스레드에 연결되어, Codex가 정확히 어떤 줄에 대한 피드백인지 알 수 있습니다.
  • 5 결과 확인: Codex가 피드백을 반영하여 코드를 재수정합니다. "Last turn 변경" 모드로 전환하면 방금 수정된 부분만 깔끔하게 확인할 수 있습니다.
팁: 여러 줄에 각각 코멘트를 남길 수도 있고, 하나의 코멘트에 여러 수정 사항을 한번에 적을 수도 있습니다. 상황에 따라 편한 방법을 선택하세요.

핵심 포인트

  • 1 Review Pane은 코드의 "변경 내용 추적" 기능입니다. 빨간색(삭제)과 초록색(추가)으로 무엇이 바뀌었는지 보여줍니다.
  • 2 Git 저장소가 아니면 Review Pane이 동작하지 않습니다. git init으로 먼저 초기화하세요.
  • 3 초보자에게는 "Last turn 변경" 모드를 추천합니다. Codex가 방금 수정한 부분만 깔끔하게 볼 수 있습니다.
  • 4 인라인 코멘트로 구체적인 피드백을 남기면, Codex가 더 정확하게 재수정합니다.
  • 5 AI도 실수할 수 있으므로, Review는 여러분의 안전망입니다. 항상 변경 사항을 확인하고 승인하세요.

실전 팁

인라인 코멘트 활용
일반 채팅에서 "3번째 줄 고쳐 줘"라고 하면 어떤 파일의 3번째 줄인지 헷갈릴 수 있습니다. 인라인 코멘트는 정확한 위치에 피드백을 남기므로 오해가 없습니다.
Last turn changes 뷰
여러 번 수정을 주고받았을 때, "Last turn 변경" 모드를 사용하면 가장 최근 수정만 볼 수 있습니다. 불필요한 정보가 줄어들어 검토가 훨씬 쉬워집니다.
Codex 외 변경도 보임
Review Pane에 Codex가 만들지 않은 변경이 보일 수 있습니다. 이것은 정상입니다. Git diff는 모든 미커밋 변경을 보여주기 때문입니다. 공식 FAQ에서도 이 점을 안내하고 있습니다.

자주 묻는 질문 (FAQ)

한 줄 요약

Q: Codex가 수정하지 않은 파일도 Review에 보이는 이유는?

Review Pane은 Codex 전용 화면이 아니라 Git diff 뷰어입니다. 여러분이 다른 파일을 직접 수정했거나, npm install 같은 명령어로 자동 생성된 파일이 있으면 함께 보입니다. Codex의 수정만 보고 싶다면 "Last turn 변경" 모드로 전환하세요.

한 줄 요약

Q: Review 없이 Codex의 변경을 바로 적용할 수 있나요?

기술적으로는 가능하지만, 권장하지 않습니다. AI는 때때로 의도와 다른 수정을 할 수 있습니다. 예를 들어, 버그를 고치면서 다른 기능을 실수로 망가뜨릴 수 있습니다. 몇 분만 투자해서 Review를 확인하면 나중에 몇 시간의 디버깅을 절약할 수 있습니다.

한 줄 요약

Q: 코드를 모르는데 리뷰를 어떻게 하나요?

완벽하게 이해하지 못해도 괜찮습니다! 다음 사항만 확인해 보세요:

  • 변경 범위: 요청하지 않은 파일이 수정되지는 않았는지 확인하세요.
  • 삭제된 코드: 빨간색으로 표시된 삭제 부분이 정말 삭제해도 되는 내용인지 살펴보세요.
  • 상식적 판단: 변수명이 이상하거나, 숫자가 비정상적으로 크거나, 의미 없는 코드가 추가되었다면 Codex에게 질문하세요.
  • Codex에게 물어보기: 이해되지 않는 부분은 "이 변경이 왜 필요한지 설명해 줘"라고 인라인 코멘트를 남기면 됩니다.
한 줄 요약

Q: 변경사항을 되돌리려면 어떻게 하나요?

아직 커밋하지 않은 변경이라면, 터미널에서 git checkout -- 파일이름 명령어로 특정 파일을 원래 상태로 되돌릴 수 있습니다. 모든 변경을 한번에 되돌리려면 git checkout .을 사용합니다. 이미 커밋한 경우에는 git revert를 사용하여 이전 커밋을 취소하는 새 커밋을 만들 수 있습니다. 되돌리기가 어렵다면 Codex에게 "마지막 변경을 취소해 줘"라고 요청할 수도 있습니다.

한 줄 요약

Q: 팀원과 리뷰 내용을 공유할 수 있나요?

네, 가능합니다. Codex에서 작업한 내용은 Git 브랜치에 반영되므로, 브랜치를 Push하고 GitHub에서 Pull Request를 만들면 팀원들이 동일한 diff를 볼 수 있습니다. PR 코멘트로 논의하면 됩니다. Codex의 Review Pane 자체를 직접 공유하는 기능은 없지만, Git을 통해 동일한 변경 내용을 팀원과 함께 검토할 수 있습니다.

한 줄 요약

Q: 한 번에 여러 파일을 리뷰할 수 있나요?

네! Review Pane은 변경된 모든 파일 목록을 보여줍니다. 파일을 하나씩 클릭하면서 각 파일의 diff를 확인할 수 있습니다. 변경된 파일이 많다면, "Last turn 변경" 모드로 Codex가 방금 수정한 파일만 필터링하면 효율적입니다.

/review 슬래시 명령

Composer에서 /review를 입력하면 Codex가 현재 리뷰 패널의 변경 내용을 분석해 인라인 코멘트를 자동 생성합니다. 사람이 직접 줄별 코멘트를 다는 대신 1차 검토를 AI에게 맡기고, 사용자는 강조된 라인만 빠르게 확인할 수 있습니다.

Git 액션 3단계 (Diff / File / Hunk)

공식 Review 문서는 Git 액션을 세 가지 단위로 제공합니다.

  • Complete diff — 현재 변경 전체에 대해 Stage all / Unstage all / Revert all.
  • Individual file — 특정 파일 단위로 Stage / Unstage / Revert.
  • Single hunk — 변경 블록(hunk) 단위로 Stage / Unstage / Revert. 같은 파일에서 일부만 커밋하고 싶을 때 사용.

로컬 프로젝트에서는 Staged / Unstaged 보기가 분리되어 표시되며, 코드 라인을 Cmd+클릭하면 사용자가 지정한 외부 에디터(VS Code 등)에서 해당 줄이 바로 열립니다.

PR 리뷰 워크플로 (GitHub 통합)

GitHub PR을 Codex 안에서 체크아웃·리뷰하려면 GitHub CLI가 필요합니다. 최초 1회만 인증하면 이후 PR이 자동으로 로컬 worktree로 체크아웃됩니다.

gh auth login         # 1회 인증
gh pr checkout 1234   # PR을 로컬 브랜치로 체크아웃 (Codex가 자동 호출)

체크아웃 후 Review Pane에서 동일한 Diff/File/Hunk 액션을 그대로 사용할 수 있고, /review로 인라인 코멘트를 자동 생성해 PR 리뷰 시간을 단축합니다.

다음 단계

Review Pane의 기본 사용법을 배웠습니다! 다음으로 알아두면 좋은 내용들입니다:

Worktree 알아보기
Codex가 별도의 작업 공간(worktree)에서 코드를 수정하면, 여러분의 현재 작업에 영향을 주지 않습니다. 안전하게 여러 작업을 동시에 진행할 수 있습니다.
로컬 환경 설정
Codex를 로컬에서 실행하면 staged/unstaged 전환 등 더 세밀한 리뷰가 가능합니다. 로컬 환경 설정 방법을 알아보세요.
자동화 연결
PR이 생성될 때 자동으로 Codex가 코드를 리뷰하도록 설정할 수 있습니다. 반복적인 리뷰 작업을 자동화하는 방법을 알아보세요.

장점 / 단점 / 한계점

✅ 장점

  • 시각적 diff로 AI 변경사항을 직관적으로 확인 가능
  • 파일별·라인별로 승인/수정/거부 선택 가능
  • Git diff 기반이라 기존 코드 리뷰 경험과 동일
  • Last turn 모드로 최신 변경만 필터링 가능

❌ 단점

  • 대량 변경 시 리뷰에 시간이 많이 소요될 수 있음
  • 바이너리 파일이나 이미지 변경은 diff로 확인 불가
  • Review Pane 자체를 팀원과 직접 공유하는 기능 없음

⚠️ 한계점

  • AI가 생성한 코드의 품질을 최종적으로 판단하는 것은 사용자의 몫
  • 자동 생성된 파일(lock 파일 등)도 함께 표시되어 노이즈가 발생할 수 있음
  • 복잡한 리팩토링의 경우 diff만으로 의도 파악이 어려울 수 있음

공식 출처

  • Review developers.openai.com/codex/app/review
  • Troubleshooting developers.openai.com/codex/app/troubleshooting