Cursor·Claude Code·Codex 비교: 같은 저장소 테스트 설계와 Codex 단독 점검

같은 버그와 테스트를 고정해 코딩 도구를 비교하는 절차를 만들고 Codex에서 한 차례 점검했습니다. 실행하지 못한 Cursor와 Claude Code의 성능은 추정하지 않았습니다.

읽는 시간 약 7

추천 독자: 개발자

AI는 자료 조사와 초안 정리에 보조적으로 사용했으며, 편집부가 출처와 사실을 확인했습니다.

Cursor·Claude Code·Codex 비교를 위해 2026년 8월 18일 이 Mac의 설치와 인증 상태를 확인했다. 같은 저장소 과제를 바로 돌릴 수 있던 도구는 Codex뿐이었다. Claude Code는 설치돼 있었지만 로그인되지 않았고 Cursor CLI는 설치돼 있지 않았다.

그래서 세 도구의 성능표는 만들지 않았다. 공식 문서에서 확인한 실행 방식과 요금 구조를 맞춰 봤다. 재현용 버그 저장소와 Codex 단독 점검 결과도 공개한다. 한 도구의 성공을 세 도구 중 1위라는 말로 바꾸지 않는다.

Cursor·Claude Code·Codex 비교에서 확인된 상태

도구로컬 상태동일 과제 실행이 글에서 판단할 수 있는 것
Cursor CLI명령어 없음미실행공식 기능과 요금 구조
Claude Code2.1.226, 미인증미실행공식 기능과 요금 구조
Codex CLI0.148.0-alpha.9, 로그인1회테스트 절차가 작동하는지

새 계정을 만들거나 요금제를 결제하지 않았다. 인증되지 않은 도구를 우회해 실행하지도 않았다. 3자 실측의 출발 조건은 같은 날 세 도구가 설치·인증돼 있고 같은 기준 저장소의 격리된 복사본을 받는 것이다. 이번 환경은 이 조건을 충족하지 못했다.

세 도구는 실행 화면과 과금 단위부터 다르다

항목CursorClaude CodeCodex
주된 작업 위치에디터·CLI터미널·데스크톱CLI·앱·IDE·클라우드
비대화형 실행 예cursor-agent -pclaude -pcodex exec
사용량 확인구독에 포함된 에이전트 사용량과 추가 사용구독 사용량 또는 API 비용ChatGPT 플랜 사용량, 크레딧·토큰 기반 항목
이 환경의 작업당 금액미실행미실행확인 불가

Cursor CLI 안내는 터미널에서 코드를 검토하고 수정하는 흐름을 설명한다. CLI 매개변수 문서에는 비대화형 -p, 모델 선택, JSON·스트림 출력 옵션이 나와 있다.

브라우저 로그인이나 API 키를 쓰는 인증 방식도 따로 확인해야 한다.

Cursor의 공식 가격표는 무료 Hobby와 월 $20 개인 Pro를 구분한다. 하지만 구독료를 한 번의 버그 수정 비용으로 나눠 적을 수는 없다. 어떤 모델을 골랐는지, 구독에 포함된 사용량이 남았는지, 추가 사용이 발생했는지가 실제 비용에 영향을 준다.

Claude Code 비대화형 문서claude -p와 JSON 출력을 지원한다. 결과 객체에는 total_cost_usd 같은 비용 필드가 있다.

비용 관리 문서에 따르면 Claude Code는 API 토큰 비용이나 Claude 구독 사용량으로 쓸 수 있다. 같은 명령이라도 인증 방식이 다르면 비교할 비용 단위가 달라진다.

Codex는 ChatGPT 플랜에서 로컬·클라우드 코딩 작업에 쓸 수 있다. ChatGPT 플랜의 Codex 안내는 포함 플랜과 사용량 구조를 설명한다.

현재 토큰 기반 요율을 적용받는 계정은 OpenAI 크레딧 요율표에서 credits per million tokens 항목을 봐야 한다. 일부 Enterprise 계약에는 전환 전까지 legacy rate card가 적용될 수 있다.

월 구독료, API 달러 비용, 제품 크레딧은 같은 단위가 아니다. 세 값을 억지로 작업당 달러로 환산하기보다 도구가 실제로 내보낸 토큰·크레딧·청구액을 원래 항목대로 보존하는 편이 정확하다. 금액이 노출되지 않으면 확인 불가라고 적는다.

ChatGPT Enterprise 팀은 실행 로그와 함께 Codex 크레딧을 조직 단위로 확인하는 관리자 화면도 봐야 한다. 토큰 로그와 워크스페이스 예산은 같은 기록이 아니다.

같은 저장소 과제는 다섯 테스트로 고정했다

재현용 저장소에는 외부 패키지가 없다. Node.js의 node:test로 HTTP Retry-After 값을 밀리초로 바꾸는 함수 하나를 검사한다. 기준 상태에서는 다섯 테스트 중 두 개만 통과한다.

실패한 사례는 세 가지다. 과거 시각의 HTTP date는 0을 반환해야 한다. 음수 초와 해석할 수 없는 문자열은 null이어야 한다. 구현 파일, 테스트 파일과 package.json의 SHA-256을 기록해 도구마다 같은 출발점인지 확인할 수 있게 했다.

세 도구에 줄 문장은 아래 한 번뿐이다.

Fix retryAfterMs so every existing test passes. Change only files needed for the fix. Do not add dependencies. Run npm test and report the result. Do not change the tests merely to hide a failure.

코드 편집 능력을 보는 과제에서 한국어 해석 차이가 끼어들지 않도록 영어로 고정했다. 추가 힌트나 후속 대화는 허용하지 않는다. 각 도구는 새 임시 디렉터리의 같은 커밋에서 시작한다. 종료 뒤에는 도구가 아닌 별도 프로세스로 npm test를 다시 실행한다.

Codex 단독 점검은 31.86초 걸렸다

Codex에는 임시 세션, workspace-write 샌드박스, 사용자 설정과 프로젝트 규칙 무시 조건을 적용했다. 별도 모델 인자는 주지 않았다. CLI가 JSONL에 정확한 모델 이름을 내보내지 않았으므로 모델은 확인된 값처럼 추정하지 않았다.

측정값결과
외부에서 잰 경과 시간31.86초
프로세스 종료 코드0
독립 테스트5개 통과, 0개 실패
변경 파일1개
변경량7줄 추가, 2줄 삭제
테스트·의존성 변경없음

수정은 음수 초를 null로 처리한다. date 파싱 실패를 걸러낸 뒤 과거 시각은 0으로 고정했다. 요청 범위 밖 파일은 바꾸지 않았다.

CLI 이벤트에 기록된 사용량은 입력 102,642토큰, 캐시 입력 88,576토큰, 출력 907토큰, 추론 출력 210토큰이었다. 이 수치는 공개 API 정가로 환산하지 않았다. 실행 계정에서 차감된 크레딧이나 달러 금액과 선택 모델을 로그가 보여주지 않았기 때문에 작업 비용은 확인 불가다.

한 번의 통과로 Codex의 일반적인 성공률을 말할 수 없다. 작은 fixture에서 실행 조건과 로그 수집 방식이 작동했다는 뜻만 있다. Cursor와 Claude Code를 같은 과제에 실행하지 않았으므로 속도, 변경량, 비용 중 어느 항목에서도 세 도구의 순위를 낼 근거가 없다.

실제 3자 테스트는 실행 순서까지 맞춰야 한다

세 CLI가 설치되고 인증된 뒤에는 검증된 fixture를 서로 다른 임시 디렉터리로 복사한다. 각 복사본은 같은 기준 커밋에서 시작한다. 비대화형 모드와 일반적인 쓰기 샌드박스를 사용하고 MCP 서버, 브라우저와 네트워크 의존 테스트는 붙이지 않는다.

기록할 항목은 도구 버전, 노출되는 정확한 모델, 비식별 인증 방식, 시작·종료 시각, 표준 출력과 오류, 종료 코드, 독립 테스트, 변경 파일과 줄 수, 최종 패치, 도구가 내보낸 사용량·비용이다. 사용량 한도에 걸린 실행도 지우거나 다른 모델로 바꾸지 않고 실패로 남긴다.

첫 3자 실행은 프로토콜 점검에 가깝다. 공개 성능 비교로 쓰려면 도구마다 최소 세 번 반복해야 한다. 특정 도구가 늘 먼저 또는 마지막에 실행되지 않도록 순서도 돌린다. 숨은 테스트를 추가해 보이는 다섯 사례에만 맞춘 패치인지도 확인해야 한다.

지금 도구를 골라야 한다면 이 글에서 비교 가능한 것은 인터페이스와 결제 방식이다. 편집기 안의 흐름이 중요할 때는 Cursor, 터미널 자동화와 JSON 비용 필드가 필요할 때는 Claude Code, ChatGPT 플랜과 로컬·클라우드 작업을 함께 쓸 때는 Codex 문서가 출발점이다. 이것은 기능에 따른 후보 정리이지 품질 순위가 아니다.

로컬 모델이나 MCP 서버까지 함께 붙일 계획이라면 로컬 LLM·MCP 설정 가이드의 메모리·권한 조건도 먼저 확인해야 한다.

Cursor CLI와 Claude Code까지 같은 조건으로 실행한 뒤 원시 로그와 반복 결과를 이 기록에 보탠다. 그때도 첫 성공 화면만 고르지 않고 실패, 테스트 결과와 금액 미확인 항목을 함께 공개한다.

참고한 출처

공식 발표·문서·changelog 기반으로 작성했습니다. 전체 8개 중 공식 출처는 8개입니다.

함께 보면 좋은 글