Claude Code와 Codex를 옆 패널에 띄워 서로 검토시켜 봤습니다
10월 5일, 이 블로그를 어떻게 살릴지 Claude Code에게 물으면서 “옆에 Codex와 상의해 봐”라고 했습니다. 두 에이전트는 터미널 두 패널에 나란히 떠 있었고, 저는 결론만 받았습니다.
결과부터 말하면 쓸 만했습니다. 다만 좋은 답이 나와서가 아니라, 서로 틀린 문장을 지워 줘서입니다. 최종안에는 새로운 아이디어보다 철회된 주장 목록이 더 길었습니다.
어떻게 붙였나
저는 cmux라는 터미널을 씁니다. 패널 하나에 Claude Code, 옆 패널에 Codex를 띄웁니다. cmux에는 다른 패널의 화면을 읽는 명령(read-screen)과 다른 패널에 입력을 보내는 명령(send)이 있습니다. 에이전트가 이 둘로 옆 에이전트와 대화합니다.
진행 순서는 미리 정해 둔 절차를 따랐습니다.
- 각자 독립 제안부터. Claude가 맥락만 담은 브리프 파일을 만들어 Codex에게 넘깁니다. 자기 안은 따로 적어 두고, Codex가 답하기 전에는 보여주지 않습니다. 상대 안을 먼저 보면 그쪽으로 끌려가기 때문입니다.
- 항목별 반박. 서로의 안을 읽고 항목마다 동의, 반대, 보완을 답합니다.
- 근거 표시. 주장마다 확인한 것(verified, 출처 포함)인지 추측(unverified)인지 붙입니다.
- 정리는 한쪽만. 마지막 정리는 Claude가 하고, Codex는 빠진 게 없는지만 봅니다.
중간에 파일은 고치지 말라고 양쪽에 걸어 뒀습니다. 상의는 상의일 뿐이고, 결정은 제가 합니다.
서로 무엇을 지웠나
이게 가장 쓸모 있던 부분입니다. 두 차례 상의에서 철회되거나 수정된 주장을 모았습니다.
Codex가 Claude에게서 지운 것
- “진행 중인 프로젝트가 많아서 글감 비용이 거의 0이다.” 소재가 있어도 사실 확인, 편집, 공개해도 되는 내용을 고르는 비용은 남는다는 지적이었습니다.
- “뉴스를 자동으로 재편집한 글은 구글 스팸 정책 위반이다.” 위반이라고 단정할 근거가 없고, 이 블로그의 글쓰기 원칙만으로도 뺄 이유가 충분하다고 했습니다.
- “Cloudflare로는 블로그 방문자를 측정할 수 없다.” 확인한 건 통계가 섞여 있고 샘플링돼 있다는 것까지이고, 측정 불가는 그다음 단계의 결론이라고 했습니다.
- “글이 25편 쌓이면 애드센스를 다시 검토한다.” 글 개수를 성과 지표로 쓰지 말자고 바로 앞에서 합의해 놓고, 같은 기준을 다시 꺼낸 셈이었습니다.
- “투자 글이 있으면 광고 계정 위험이 커진다.” 주제만으로 정책 위반 가능성을 단정할 근거가 없다는 반박이었습니다.
Claude가 Codex에게서 지운 것
- “Juni Space 사이트에는 분석 도구가 없다.” Codex는 볼트의 9월 기록을 근거로 했습니다. Claude는 그날 Cloudflare 대시보드를 직접 열어서 그 사이트가 등록돼 방문을 집계하고 있는 걸 봤습니다. 과거 기록보다 오늘 화면이 우선이었습니다.
- “웹 데모를 줄이는 건 사용자 결정이 필요하다.” 제가 이미 요청 문장에서 “게임의 일부만 플레이할 수 있게”라고 방향을 정했다는 지적이었습니다. 남은 결정은 어디까지 열어 둘지뿐이었습니다.
목록을 보면 성격이 갈립니다. Claude가 철회한 건 대부분 말이 앞서간 문장이었습니다. 근거보다 단정이 강했습니다. Codex가 철회한 건 오래된 정보였습니다. 문서에 적힌 과거 상태를 현재로 읽었습니다. 한 모델이 혼자 답했다면 둘 다 그대로 최종안에 들어갔을 겁니다.
어디서 막혔나
매끄럽지는 않았습니다.
- 첫 요청이 전송되지 않았습니다.
send는 글자만 입력하고, 실행하려면 Enter를 따로 보내야 합니다. Enter를 보냈는데도 첫 번째는 입력란에 문장만 남아 있었습니다. 화면을 읽어 확인하고 Enter를 한 번 더 보낸 뒤에야 시작됐습니다. - 답의 앞부분이 사라졌습니다. Codex의 화면은 터미널 스크롤백에 기록을 남기지 않는 방식이라, 긴 답을 쓰고 나면 앞부분을 읽을 방법이 없었습니다. 결국 두 번째부터는 답을 화면이 아니라 파일로 써 달라고 요청했습니다. 이게 훨씬 안정적이었습니다.
- 시간이 듭니다. 한 라운드에 1분 안팎이지만, 독립 제안·반박·정리를 거치면 혼자 답할 때보다 몇 배가 걸립니다. 바로 답이 필요한 질문에는 맞지 않습니다.
그래서 언제 쓰나
결론이 맞는지보다 결론에 섞인 틀린 문장을 걸러야 할 때 씁니다. 방향 결정, 정책 해석, 수치 해석처럼 한 번 틀리면 그 위에 계획이 쌓이는 질문들입니다. 코드 한 줄 고치는 일에는 과합니다.
조심할 점도 있습니다. 두 모델이 합의했다고 맞는 건 아닙니다. 이번 합의안도 전부 제안이고, 유입이 늘지는 아직 아무도 모릅니다. 서로를 반박하게 해도 둘 다 모르는 건 여전히 모릅니다. 실제로 두 모델 모두 “최근 통계부터 보자”고 했고, 통계는 결국 브라우저로 대시보드를 열어서 확인했습니다.
그래도 혼자 물었을 때보다 나은 점은 분명했습니다. 최종 기록에 “확인한 것”과 “추정한 것”이 나뉘어 남았습니다. 몇 주 뒤에 이 결정을 다시 볼 때 어디부터 의심해야 하는지 적혀 있다는 뜻입니다.