AI가 작성한 코드에 리뷰를 맡기지 않는 방법: Claude Code와 Codex를 번갈아 사용하는 3가지 원칙
요약
AI 코딩 도구인 Claude Code와 Codex를 함께 사용하며 발생하는 규칙 관리 및 추적의 어려움을 해결하는 3가지 원칙을 제시합니다. 핵심은 두 도구가 가진 고유한 파일 로드 방식 차이를 이해하고, 역할을 분담시키며, 상호 리뷰 과정을 거치는 것입니다.
핵심 포인트
- 규칙 본체는 통합 파일에 두고, 로드 코드는 각 도구별로 배치해야 합니다.
- 담당자 교대 시에는 인수인계 메모를 작성하여 추적성을 확보하는 것이 중요합니다.
- AI 간의 상호 리뷰(Cross-review) 과정을 거쳐 코드 품질을 높일 수 있습니다.
저는 입사 1년 차 엔지니어입니다. 현재 Claude Code와 Codex 두 가지 모두 사용하고 있습니다.
이 두 도구를 사용하면서 처음 어려움을 겪은 부분은 '규칙을 어느 쪽에 작성할 것인가'와 '각 도구가 무엇을 했는지 추적하는 것'이었습니다. 규칙을 하나의 파일로 통합하는 방법에 대해서는 이미 좋은 글들이 많이 있습니다.
이 글은 그 내용을 통합한 후의 이야기입니다. 두 도구에게 역할을 어떻게 분담시키고, 서로 어떻게 리뷰를 맡기고 있는지에 대해 작성하겠습니다. 후반부에서는 작은 스크립트 하나를 예시로 들어 Codex에게 3번 리뷰를 시킨 결과를 공유합니다 (수정은 2회 진행했고, 3번째는 지적 사항이 없는지 확인하는 과정입니다).
원칙은 세 가지입니다.
- 규칙의 본체는 한 파일에 두고, 로드(loading) 코드는 각 도구마다 배치한다.
- 담당자를 교대할 때는 인수인계 메모를 작성하게 한다.
- 작성한 AI와 다른 AI에게 리뷰를 맡기고, 수정된 내용을 다시 보여준다.
※ 내용은 2026년 10월 시점의 사양을 기준으로 합니다.
원칙 1: 규칙의 본체는 한 파일에, 로드 코드는 각 도구마다 배치하기
두 도구 모두 AGENTS.md라는 이름의 파일을 읽을 수 있습니다. 그래서 'AGENTS.md 하나만 작성하면 두 도구 모두에게 적용될 것'이라고 생각하기 쉽지만, 찾아가는 위치가 다릅니다. 공식 문서를 확인한 내용을 표로 정리했습니다.
| 공통 규칙 (전체 프로젝트) | 프로젝트별 규칙 | | :--- | :--- | :--- |
| Codex | ~/.codex/AGENTS.md를 자동으로 읽습니다 | Git의 루트부터 작업 폴더까지, 각 계층의 AGENTS.md를 자동으로 읽습니다 |
| Claude Code | 읽지 않습니다 | 2.1.277 버전 이후에는 자동으로 읽습니다. 다만 같은 계층이나 그 위에 CLAUDE.md가 있으면 해당 파일만 읽습니다 |
알아두어야 할 점이 두 가지 있습니다.
Claude Code는 ~/.codex/AGENTS.md를 읽지 않습니다. Claude Code가 자동으로 읽는 AGENTS.md는 작업 폴더와 그 상위 계층에 있는 파일뿐입니다. 공통 규칙을 ~/.codex/AGENTS.md에 두려면, Claude Code 측에는 로드 지정이 필요합니다. 제 경우의 ~/.claude/CLAUDE.md는 내용이 이 한 줄뿐입니다.
@~/.codex/AGENTS.md
프로젝트의 AGENTS.md를 Claude Code가 자동으로 읽게 되는 것은 2.1.277 버전 이후부터입니다. 제 환경은 2.1.251이었기 때문에 아직 자동 로드가 되지 않았습니다. 그래서 프로젝트 측에도 한 줄짜리 CLAUDE.md 파일을 두고 있습니다.
@AGENTS.md
공식 문서에 따르면, 이 한 줄을 남겨두어도 버전이 올라간 후 문제가 없다고 합니다. 동일한 AGENTS.md가 중복으로 읽히지는 않는다고 합니다. 또한, 2.1.277 버전 이후에도 Amazon Bedrock 경유 등 일부 세션에서는 2.1.281 미만일 경우 자동으로 읽히지 않을 수 있습니다. 한 줄을 남겨두면 이러한 차이점을 신경 쓰지 않아도 됩니다.
Codex 측의 주의할 점도 하나 있습니다. 공통 규칙과 프로젝트 규칙은 합쳐서 최대 32KiB까지만 읽을 수 있습니다 (설정의 project_doc_max_bytes로 변경 가능합니다). 저는 공통 규칙이 짧게 유지되도록 노력하고 있습니다.
참고:
보충: 공통 규칙에 작성한 내용
~/.codex/AGENTS.md의 시작 부분에는 다음과 같이 적어둡니다.
프로젝트 고유 사항은 각 리포지토리의 AGENTS.md에 작성합니다 (후자가 우선권을 가집니다).
Codex는 작업 폴더와 가까운 파일일수록 나중에 읽고, 후자의 내용이 우선됩니다. 위의 문장은 이 로드 순서와 정확히 일치합니다.
내용은 짧게 유지했습니다. 효과를 보고 있는 네 가지 항목을 꼽자면 다음과 같습니다.
- 모호하면 추측하지 말고 먼저 확인한다. 변경은 최소한으로 하고, 요청받지 않은 리팩토링은 하지 않는다.
따라서 담당자가 교대할 때는 인수인계 메모(docs/handoff.md)에 단 3가지만 적도록 했습니다. 공통 규칙에는 다음과 같이 쓰여 있습니다.
적어야 할 내용은 3가지뿐입니다:
현황 — 현재 작동 중이거나, 고장 난 것 / 변경 내용 — 최근 무엇을 어떻게 바꿨는지 / 다음 요청 사항 — 다음 담당자에게 구체적으로 부탁할 내용
'시작하기 전에 읽고, 떠나기 전에 업데이트한다'는 규칙입니다. 항목을 3가지로 줄인 이유는 길어지면 쓰지 않게 되고, 읽히지 않는다고 느꼈기 때문입니다.
나중에 소개할 실험에서 Claude Code가 작성한 인수인계 메모의 '다음 요청 사항'은 다음과 같았습니다.
## 다음 요청 사항
- 커밋되지 않은 변경사항(`check_noindex.py`)을 검토해 줬으면 합니다. **아직 수정하지 말고**, 지적만 돌려줘요
- 특히 봐줬으면 하는 부분
...
결정 규칙 3: 작성한 AI와 다른 AI에게 리뷰를 맡기고, 수정한 후 다시 보여주기
리뷰 요청 방식은 정형화했습니다.
docs/handoff.md 를 읽고 나서, 커밋되지 않은 변경사항을 검토해 줘. 아직 수정하지 마.
- '커밋되지 않은 변경사항'으로 리뷰 범위를 좁힙니다.
- '아직 수정하지 마'로 리뷰하는 쪽이 멋대로 고치는 것을 막습니다.
- 지적 사항을 채택할지 여부는 작성한 쪽(그리고 자신)이 결정합니다.
직접 해보기: Claude Code가 작성하고 Codex가 3번 리뷰하기
주제는 HTML 파일에 `<meta name=
두 번째: 수정한 부분이 새로운 구멍을 만들고 있었다
수정된 버전을 리뷰하게 하자, 지난번 지적 사항 3건은 해소되었다는 것을 확인했습니다. 그 위에 새로운 지적이 1건 나왔습니다.
<meta name=robots content=index content=noindex>
이 부분을 OK로 처리해버립니다.
원인은 1차 수정에서 넣었던 이 한 줄에 있었습니다.
values = {name.lower(): (value or "") for name, value in attrs}
사전에 정리하면, 같은 속성이 두 번 있었을 때는 나중 값이 남게 됩니다. HTML 사양에서는 중복된 속성 중 첫 번째 값이 유효합니다(HTML Standard: duplicate-attribute). 즉, noindex가 적용되지 않은 페이지를 검사가 통과해 버립니다.
첫 번째 값을 남기는 방식으로 고치고, 이 케이스의 테스트를 추가했습니다.
values = {}
for name, value in attrs:
values.setdefault(name.lower(), value or "")
수정이 새로운 구멍을 만들기도 합니다. 이번에는 수정한 후에도 다시 리뷰하게 함으로써 발견할 수 있었습니다.
세 번째: 지적 사항 제로
테스트는 11건 모두 합격했습니다. Codex는 name 속성의 중복이나 대소문자 차이 등, 우리가 요청하지 않은 케이스까지 시도한 후에 '지적 사항은 없습니다'라고 답변했습니다.
'일본어 파일명'과 'UTF-8 이외의 HTML'은 Codex가 3번 모두 '미검증'이라고 명시하고 있었습니다. 모르는 범위까지 적어주기 때문에, 다음에 무엇을 확인해야 할지 알 수 있습니다.
해보니 알게 된 주의점
- 같은 작업을 두 개의 도구에 동시에 시키지 마세요. 같은 파일을 서로 덮어쓰게 됩니다. 담당 교대는 한쪽이 끝나고 인계 메모를 작성한 후에 하는 것이 좋습니다.
- 프로젝트에
CLAUDE.md를 두면, Claude Code는 그것만 읽습니다.AGENTS.md에 적은 규칙을 적용하고 싶다면,CLAUDE.md안에서@AGENTS.md로 불러와야 합니다. 자신만을 위한CLAUDE.local.md(커밋하지 않는 개인용 규칙)를 둔 경우도 마찬가지입니다. - 리뷰 전후에 리뷰하는 쪽이 정말 아무것도 바꾸지 않았는지, 자신의 눈으로 확인할 수 있습니다 (
git status비교).
요약
- 규칙의 본체는 한 장으로 만들고, 불러오는 코드를 각 도구에 배치합니다. Claude Code는
~/.codex/AGENTS.md를 읽지 않으므로,~/.claude/CLAUDE.md에 1줄이 필요합니다. 담당을 교대할 때는 인계 메모(현황・변경 내용・다음 요청 사항)를 작성하게 합니다. - 작성한 사람과는 다른 AI에게 리뷰를 맡기고, 선택과 배제는 작성자가 합니다. 수정한 후에는 다시 한번 리뷰를 시킵니다.
이번 실험에서는, 작성자는 자신이 예상한 케이스만 확인했습니다. 어느 쪽 도구가 더 우수하다는 이야기는 아닙니다. 1회의 실험이므로 일반화할 수는 없지만, '작성자 본인과는 다른 눈으로 보는 것'의 효과는 적어도 이 작은 스크립트에서 명확하게 드러났습니다.
※ 사용 환경은 Claude Code 2.1.251, Codex CLI 0.153.4, Windows 11입니다.
토론
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기