ClOr

ClOr

백엔드 실무 트러블슈팅과 AI 에이전트 구조 분석을 기록합니다.

Claude Code 해부학 (완결)

51만 줄 소스코드를 19편에 걸쳐 분석한 완결 시리즈

전체 시리즈 보기 →

백엔드 트러블슈팅

실무에서 겪은 장애와 해결 과정 기록

전체 시리즈 보기 →

최신 글

article thumbnail

목차

  • 먼저 결론
  • 한눈 비교표
  • 에이전트 실행 방식의 차이
    • Cursor 3: IDE가 곧 에이전트 허브
    • Claude Code: 터미널이 곧 에이전트
    • Codex: 클라우드가 곧 에이전트
  • 컨텍스트 관리 전략의 차이
    • Cursor 3: 사용자가 컨텍스트를 선택
    • Claude Code: 에이전트가 컨텍스트를 탐색
    • Codex: 레포 전체가 컨텍스트
  • 인간 감독 루프의 차이
    • Cursor 3: diff 기반 사후 승인
    • Claude Code: 명시적 권한 모델
    • Codex: 사후 리뷰 중심
  • 누구에게 맞는가
    • Cursor 3가 맞는 사람
    • Claude Code가 맞는 사람
    • Codex가 맞는 사람
  • 요약

먼저 결론

2026년 4월 기준, AI 코딩 에이전트 3대장은 확실히 갈렸다. Cursor 3, Claude Code, OpenAI Codex. 셋 다 "코드를 대신 짜준다"는 점은 같지만, 직접 써보면 손에 닿는 감각이 완전히 다르다.

짧게 말하면 이렇다.

  • Cursor 3: IDE 안에서 에이전트가 돌아가는 구조. 에디터를 떠나지 않고 싶은 사람에게 맞는다.
  • Claude Code: 터미널에서 에이전트를 직접 조종하는 구조. 컨텍스트를 내가 통제하고 싶은 사람에게 맞는다.
  • Codex: 클라우드에서 에이전트가 알아서 돌고 결과만 받는 구조. 비동기로 맡기고 싶은 사람에게 맞는다.

"어떤 도구가 더 좋으냐"는 질문에는 답이 없다. 대신 "나는 코딩할 때 어디서 가장 오래 머무는가"라는 질문에는 답이 있다. 그 답이 곧 도구 선택이다.


한눈 비교표

항목 Cursor 3 Claude Code Codex
실행 환경 IDE (VS Code 포크) 터미널 (CLI) 클라우드 샌드박스
에이전트 방식 IDE 내장 + Background Agent 로컬 터미널 에이전트 클라우드 비동기 에이전트
컨텍스트 범위 열린 파일 + @멘션 기반 프로젝트 전체 자동 탐색 레포 전체 스냅샷
멀티태스킹 최대 8개 병렬 Background Agent 서브에이전트 위임 태스크별 독립 컨테이너
출력 형태 IDE 내 diff + 직접 적용 로컬 파일 직접 수정 PR 생성 또는 diff 제안
인간 감독 diff 리뷰 후 수락/거절 권한 모델 (ask/auto 모드) 결과물 사후 리뷰
프로젝트 메모리 .cursorrules CLAUDE.md 레포 README + 환경 설정
가격 모델 월 구독 ($20~) API 토큰 과금 ChatGPT Plus/Pro 포함

이 표만 봐도 감이 올 수 있다. 세 도구는 에이전트가 어디서 실행되는지부터 다르고, 그 차이가 나머지 UX 전체를 결정한다.


에이전트 실행 방식의 차이

Cursor 3: IDE가 곧 에이전트 허브

Cursor 3는 기존 IDE 레이아웃을 버리고 에이전트 중심 인터페이스로 전환했다. 탭 하나가 에이전트 세션 하나다. 여러 탭을 열면 여러 에이전트가 동시에 다른 작업을 한다.

여기서 핵심은 Background Agent다. 로컬이 아니라 클라우드 Ubuntu VM에서 레포를 클론해서 작업하고, 끝나면 브랜치를 만들어 PR을 연다. IDE에서도, Slack에서도, 모바일에서도 트리거할 수 있다. 최대 8개 병렬 실행이 가능하니까, "이거 고쳐줘" 여덟 개를 동시에 던져놓고 다른 일을 할 수 있다.

거기에 BugBot이라는 자동 리뷰어가 붙어서, PR이 올라오면 알아서 버그를 찾고, 2026년 2월부터는 직접 수정 제안까지 한다.

Claude Code: 터미널이 곧 에이전트

Claude Code는 터미널에서 시작하고 터미널에서 끝난다. 에디터가 없다. 정확히는, 에이전트 자체가 파일을 읽고, 수정하고, 빌드하고, 테스트까지 터미널 안에서 다 한다.

직접 써보면 느끼는 가장 큰 차이는 에이전트가 프로젝트를 스스로 탐색한다는 점이다. "이 버그 고쳐줘"라고 말하면, 관련 파일을 찾고, 구조를 파악하고, 수정 계획을 세우고, 코드를 고치고, 그 과정을 전부 설명해준다. 내가 파일을 열어줄 필요가 없다.

서브에이전트라는 개념도 있다. 메인 에이전트가 복잡한 작업을 만나면, 서브에이전트에게 일부를 위임한다. 각 서브에이전트는 자기만의 컨텍스트 윈도우에서 독립적으로 작업한다.

Codex: 클라우드가 곧 에이전트

Codex는 접근 방식 자체가 다르다. 내 로컬 환경에서 아무것도 실행되지 않는다. 태스크를 던지면, 클라우드의 격리된 샌드박스에서 레포를 통째로 올려놓고 작업한다. 작업 중에는 인터넷 접속도 차단된다. 완전히 격리된 환경에서 코드만 가지고 일한다.

이게 주는 이점은 비동기 실행이다. 동료에게 JIRA 티켓 할당하듯이, Codex에 태스크를 맡기고 나는 다른 일을 한다. 끝나면 결과를 확인하고, PR을 머지하거나 수정을 요청한다.


컨텍스트 관리 전략의 차이

에이전트의 품질은 결국 "얼마나 많은 맥락을 얼마나 잘 이해하는가"로 결정된다. 세 도구의 전략이 여기서 크게 갈린다.

Cursor 3: 사용자가 컨텍스트를 선택

Cursor 3에서는 @멘션으로 컨텍스트를 지정한다. @file로 특정 파일을, @codebase로 전체를, @web으로 웹 검색 결과를 넣을 수 있다. 정밀한 제어가 가능하다는 장점이 있지만, 반대로 말하면 내가 뭘 넣어야 하는지 알아야 한다.

.cursorrules 파일에 프로젝트 규칙을 적어두면 매 세션마다 자동으로 로드된다. 하지만 대화가 길어지면 컨텍스트 윈도우가 차기 때문에, 작업 단위를 잘게 쪼개는 게 유리하다.

Claude Code: 에이전트가 컨텍스트를 탐색

Claude Code는 파일 시스템 전체에 접근할 수 있다. Glob, Grep, Read 같은 내장 도구로 필요한 파일을 알아서 찾는다. 사용자가 컨텍스트를 일일이 지정하지 않아도 된다.

CLAUDE.md라는 프로젝트 메모리 파일이 핵심이다. 여기에 프로젝트의 빌드 방법, 코딩 컨벤션, 아키텍처 결정 같은 정보를 적어두면, 세션이 시작될 때마다 자동으로 읽는다. 세션 간 맥락 유지가 자연스럽다.

컨텍스트가 길어지면 자동 압축이 작동하고, 프롬프트 캐싱으로 비용도 관리한다. 100만 토큰 컨텍스트 윈도우 덕분에 큰 프로젝트에서도 여유가 있다.

Codex: 레포 전체가 컨텍스트

Codex는 레포를 통째로 샌드박스에 올린다. 컨텍스트 선택의 문제가 아예 없다. 전부 다 있으니까. 대신 에이전트가 그 안에서 뭘 볼지는 모델의 판단에 달려 있다.

이 방식의 장점은 설정이 거의 필요 없다는 것이다. 레포만 연결하면 된다. 단점은 에이전트의 탐색 전략을 내가 세밀하게 조정하기 어렵다는 것이다.

항목 Cursor 3 Claude Code Codex
컨텍스트 선택 사용자 지정 (@멘션) 에이전트 자동 탐색 레포 전체 로드
프로젝트 메모리 .cursorrules CLAUDE.md 레포 설정 파일
컨텍스트 한계 대응 작업 잘게 분할 자동 압축 + 캐싱 샌드박스 리소스 한도
세션 간 연속성 대화 히스토리 CLAUDE.md + 메모리 태스크 히스토리

인간 감독 루프의 차이

AI 에이전트에게 코드를 맡긴다는 건, 결국 얼마나 감독할 것인가라는 질문이다. 세 도구의 감독 모델이 매우 다르다.

Cursor 3: diff 기반 사후 승인

Cursor 3는 에이전트가 코드를 수정하면 diff로 보여주고, 수락하거나 거절하는 구조다. IDE에 익숙한 사람에게 가장 자연스러운 감독 방식이다. 눈으로 바뀐 부분을 확인하고, Accept 또는 Reject를 누른다.

Background Agent는 비동기로 돌아가니까, PR이 올라온 뒤에 리뷰하는 방식이다. BugBot이 1차 리뷰를 해주기 때문에, 사람이 모든 변경을 직접 확인해야 하는 부담은 줄었다.

Claude Code: 명시적 권한 모델

Claude Code의 감독 방식은 가장 세밀하다. 기본 모드에서는 파일 수정, 명령 실행, 웹 접속 같은 행동마다 허가를 묻는다. 리눅스의 sudo 개념과 비슷하다.

직접 써보면, 처음에는 허가 요청이 많아서 번거롭게 느껴진다. 그런데 익숙해지면 이게 오히려 편하다. 에이전트가 뭘 하려는지 매 순간 알 수 있으니까. Auto 모드로 전환하면 안전한 작업은 자동 승인되고, 위험한 작업만 물어본다.

이 권한 모델은 "에이전트를 얼마나 풀어놓을 것인가"를 사용자가 스스로 결정할 수 있게 한다는 점에서, 세 도구 중 가장 명시적이다.

Codex: 사후 리뷰 중심

Codex는 가장 느슨한 감독 모델이다. 태스크를 던지면 에이전트가 샌드박스에서 알아서 작업하고, 끝난 결과만 사람이 확인한다. 작업 도중에 개입할 여지는 적다.

이게 장점이 될 수도 있다. 에이전트를 믿고 맡기면 내 시간을 절약할 수 있다. 하지만 결과가 기대와 다르면 처음부터 다시 해야 할 수도 있다. 중간 과정을 볼 수 없으니까.

감독 항목 Cursor 3 Claude Code Codex
감독 시점 수정 후 diff 리뷰 행동 전 권한 요청 완료 후 결과 리뷰
개입 가능성 중간 (diff 단위) 높음 (행동 단위) 낮음 (태스크 단위)
자동화 수준 BugBot 1차 리뷰 Auto 모드 선택 가능 기본 자율 실행
취소/되돌리기 diff 거절로 즉시 권한 거부로 즉시 태스크 취소 후 재시도

누구에게 맞는가

Cursor 3가 맞는 사람

  • IDE를 떠나고 싶지 않은 사람. 에디터에서 코드를 보면서 바로 수정하고, diff를 확인하고, 커밋하는 흐름이 몸에 배어 있다면 Cursor 3가 가장 마찰이 적다.
  • 여러 작업을 동시에 던져놓고 싶은 사람. Background Agent로 최대 8개 병렬 작업이 가능하니까, "이거 고치고, 저거 리팩터링하고, 테스트 추가해" 같은 요청을 한꺼번에 처리할 수 있다.
  • 팀에서 PR 리뷰 자동화가 필요한 사람. BugBot이 PR마다 자동으로 리뷰하고 수정까지 제안한다.

Claude Code가 맞는 사람

  • 터미널이 편한 사람. CLI 작업이 익숙하고, 에이전트에게 "이 프로젝트 구조부터 파악해"라고 열린 지시를 내리는 방식이 맞는다면 Claude Code가 낫다.
  • 에이전트가 뭘 하는지 매 순간 확인하고 싶은 사람. 권한 모델 덕분에 에이전트의 모든 행동을 감독할 수 있다. 보안이 중요한 프로젝트에서 특히 유리하다.
  • 긴 호흡의 리팩터링을 하는 사람. 100만 토큰 컨텍스트와 자동 탐색 덕분에, 파일 수십 개에 걸친 구조 변경을 한 세션에서 처리할 수 있다.

Codex가 맞는 사람

  • 비동기 작업 방식을 선호하는 사람. 동료에게 업무를 위임하듯, 에이전트에게 태스크를 맡기고 다른 일을 하는 워크플로우가 맞다면 Codex가 자연스럽다.
  • 설정 없이 바로 쓰고 싶은 사람. GitHub 레포만 연결하면 된다. CLAUDE.md를 작성하거나 .cursorrules를 설정할 필요 없이 시작할 수 있다.
  • 이미 ChatGPT Pro를 쓰고 있는 사람. 별도 과금 없이 Codex를 바로 쓸 수 있으니 진입 비용이 가장 낮다.

요약

  • Cursor 3는 IDE 안에서 에이전트가 돌아가는 구조로, 에디터 중심 워크플로우에 가장 매끄럽게 녹아든다. Background Agent와 BugBot으로 병렬 작업과 자동 리뷰까지 커버한다.
  • Claude Code는 터미널 기반 에이전트로, 프로젝트 전체를 자동 탐색하고 행동마다 권한을 요청하는 명시적 감독 모델이 특징이다. 긴 맥락의 리팩터링에서 강하다.
  • Codex는 클라우드 샌드박스에서 비동기로 돌아가는 에이전트로, 태스크를 맡기고 결과만 받는 워크플로우에 최적화되어 있다.
  • 세 도구의 핵심 차이는 "에이전트가 어디서 실행되는가"이고, 그 차이가 컨텍스트 관리, 감독 방식, 출력 형태를 전부 결정한다.
  • 도구 선택의 기준은 성능이 아니라 "나는 코딩할 때 어디서 가장 오래 머무는가"라는 질문이다.

관련글:

profile

ClOr

@ClOr

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

ClOr · 백엔드 트러블슈팅과 AI 에이전트 구조 분석을 기록합니다.