GitHub Copilot vs Cursor vs Cline — AI 코딩 어시스턴트 비교 실전 기록

목차

# FastAPI 엔드포인트 — Redis 캐싱 적용
@app.get("/users/{user_id}")
async def get_user(user_id: int):
    cached = await redis.get(f"user:{user_id}")
    if cached:
        return json.loads(cached)
    user = await db.fetch_user(user_id)
    await redis.set(f"user:{user_id}", json.dumps(user), ex=300)  # 5분 TTL
    return user

이 코드에 "캐시 무효화 로직 추가해줘"라고 GitHub Copilot, Cursor, Cline 세 도구에 동시에 요청했다. AI 코딩 어시스턴트 비교를 본격적으로 해봐야겠다고 마음먹은 게 이때부터다. Copilot은 TTL을 줄이라고 했고, Cursor는 프로젝트의 다른 엔드포인트까지 훑어본 뒤 write-through 패턴을 제안했으며, Cline은 데코레이터 기반 캐시 레이어를 통째로 만들어냈다. 같은 프롬프트인데 접근이 완전히 달랐다.

AI 코딩 도구 라이선스를 하나로 통일하려면 어떤 기준으로 고르는 게 맞는지 막막했다. 3주간 M2 MacBook Pro + VS Code + iTerm2 환경에서 FastAPI 프로젝트를 대상으로 세 도구를 비교했다.

AI 코딩 어시스턴트 비교를 시작한 배경

Copilot을 1년 넘게 개인적으로 쓰고 있었는데, 팀 전체 도입을 검토하면서 비교가 필요해졌다. Copilot Business는 $19/user/month, 5인 팀 기준 연간 $1,140이다. 이 비용을 쓰려면 대안과 비교한 근거가 있어야 했다.

Cursor와 Cline이 대안으로 올라왔고, 셋을 비교하기로 했다. 기준은 다섯 가지 — 자동완성 정확도, 프로젝트 컨텍스트 이해력, 월 비용, 팀 온보딩 난이도, 코드 보안.

테스트 환경은 이렇다. Python 3.12 + FastAPI 0.109 + SQLAlchemy 2.0 기반 백엔드 모노레포. 파일 약 180개, 전체 코드 약 2.3만 줄. 규모가 크지는 않지만 커스텀 예외 클래스, 데코레이터, 미들웨어 등 프로젝트 고유 패턴이 꽤 들어있는 구조다.

같은 프롬프트, 세 가지 결과

체계적으로 비교하려고 동일한 프롬프트 10개를 세 도구에 던졌다. FastAPI 프로젝트에서 자주 쓰는 패턴 — 입력값 검증, 에러 핸들링, DB 트랜잭션 래핑, 캐시 무효화, 테스트 작성 — 을 골랐다. 그중 하나를 예로 들면 이렇다.

# 테스트 프롬프트: "이 함수에 입력값 검증과 에러 핸들링을 추가해줘"
@app.post("/orders")
async def create_order(order: OrderCreate):
    product = await db.fetch_product(order.product_id)
    if product.stock < order.quantity:
        raise HTTPException(status_code=400, detail="재고 부족")
    new_order = await db.create_order(order)
    return new_order

Copilot은 함수를 try-except 블록으로 감싸고 Pydantic validator를 추가하는 방식을 택했다. 반응속도가 가장 빠르다. 탭 누르면 1~2초 안에 결과가 나온다. 문제는 프로젝트에 이미 존재하는 커스텀 예외 클래스(AppException)를 무시하고 표준 HTTPException만 사용한 점이다. 현재 열려 있는 파일만 보고 추론하는 것으로 보인다.

Cursor는 달랐다. Cmd+K로 같은 요청을 날렸더니 exceptions.pyvalidators.py를 자동으로 참조해서 기존 컨벤션에 맞는 코드를 생성했다. AppException(ErrorCode.STOCK_INSUFFICIENT)를 쓰고, 이미 정의된 validate_positive_integer 유틸까지 가져왔다. 응답까지 3~5초 정도 걸려 Copilot보다 느리지만, 후속 수정할 부분이 눈에 띄게 적었다.

Cline은 접근 자체가 다르다. 프롬프트를 주면 먼저 "관련 파일을 읽어도 되겠냐"고 묻는다. 승인하면 프로젝트 구조를 탐색한 뒤 코드를 내놓는다. 이 과정에서 LLM API 호출이 여러 차례 일어나고, 응답까지 10~15초가 걸렸다. Claude 3.5 Sonnet 기준 건당 API 비용은 $0.03~$0.08이었다. 결과물 정확도는 Cursor와 비슷했지만 매번 승인 과정을 거쳐야 하는 점이 걸렸다.

10개 프롬프트 중 "프로젝트 기존 패턴을 그대로 따른" 비율은 이렇다:

  • Copilot: 3/10
  • Cursor: 7/10
  • Cline (Claude 3.5 Sonnet): 8/10

수치만 보면 Cline이 앞선다. 그런데 응답 속도와 승인 과정까지 포함한 체감 생산성은 Cursor 쪽이 한 수 위였다. 10초 넘게 기다리면 흐름이 끊긴다. 코딩할 때 이 차이가 생각보다 크다.

컨텍스트 이해력 — 코딩 어시스턴트의 진짜 차이

자동완성 속도는 표면적인 지표에 불과하다. AI 코딩 어시스턴트 비교에서 진짜 중요한 건 "이 프로젝트를 얼마나 이해하고 코드를 쓰느냐"다.

항목 GitHub Copilot Cursor Cline
컨텍스트 범위 현재 파일 + 열린 탭 프로젝트 전체 인덱싱 명시적 승인한 파일
인덱싱 방식 없음 (실시간 추론) 로컬 임베딩 자동 생성 없음 (온디맨드)
대형 프로젝트 파일 수 무관 10만 줄 이상 시 인덱싱 지연 API 비용 증가
커스텀 규칙 .github/copilot-instructions.md .cursorrules 시스템 프롬프트 직접 수정
멀티파일 수정 제한적 Composer 모드 지원 기본 지원

Cursor의 .cursorrules는 실무에서 체감 효과가 분명하다. 프로젝트 루트에 다음과 같은 파일을 두면 AI가 규칙을 따른다:

# .cursorrules — 실제 프로젝트에서 사용 중인 설정
- Python 3.12 + FastAPI 0.109 + SQLAlchemy 2.0 + Pydantic v2
- 예외 처리: 반드시 app.exceptions.AppException 사용
- DB 접근: async_session 경유만 허용, 동기 세션 금지
- 테스트: pytest-asyncio 기반, conftest.py의 픽스처 활용
- 주석 언어: 한국어
- import 순서: stdlib → third-party → local

이 파일을 추가하기 전에는 Cursor가 동기식 SQLAlchemy 코드(Session)를 생성하는 경우가 잦았다. 추가 후에는 async_session을 일관되게 사용하기 시작했다. 규칙 파일 하나로 컨벤션 준수율이 체감 50% 이상 올라간 셈이다 (개인적으로 이 기능이 Cursor를 선택한 결정적 이유였다).

Copilot도 .github/copilot-instructions.md를 2024년 10월부터 지원한다 (출처: GitHub Changelog, 2024-10-29). 다만 Cursor의 규칙 파일에 비해 반영률이 낮았다. 10번 요청 중 2~3번은 규칙과 무관한 코드를 내놓더라.

Cline은 시스템 프롬프트를 직접 편집할 수 있어 자유도가 가장 높다. 반면 프로젝트 구조 자동 파악 기능은 없다. 필요한 파일을 매번 지정하거나 Cline이 요청할 때 하나하나 승인해야 한다. 파일 50개 이하 소규모 프로젝트에서는 무난하지만 200개를 넘어가면 비효율적이다.

비용 구조와 팀 도입 현실

비용은 월 구독료만 보면 오판하기 쉽다. Cline처럼 API 종량제인 경우 사용 패턴에 따라 편차가 크기 때문이다.

GitHub Copilot — Individual $10/month, Business $19/user/month, Enterprise $39/user/month (2025년 3월 기준). 코드 생성 품질은 Individual과 Business가 사실상 동일하다. Business의 차별점은 관리자 대시보드, 조직 정책 관리, IP 보상(IP indemnity) 정도다.

Cursor — Hobby 무료(월 2,000 completions), Pro $20/month(무제한 completions + fast request 500회), Business $40/user/month. Pro 플랜의 fast request가 소진되면 slow 모드로 전환되는데, 이때 응답이 체감 10초 이상으로 느려진다. 우리 팀에서 한 명이 3주 만에 fast request를 전부 소진했다. AI와 대화하면서 코딩하는 스타일이라면 500회는 빠듯할 수 있다.

Cline — 도구 자체는 무료 오픈소스다 (출처: GitHub – cline/cline). API 비용만 내면 된다. Claude 3.5 Sonnet 기준 하루 30~50회 요청 시 월 $15~$25 정도 나왔다. GPT-4o를 쓰면 이보다 30% 정도 저렴해진다. 문제는 비용 예측이 어렵다는 점이다. 복잡한 리팩토링 요청 한 건에 $0.50을 넘긴 적도 있었다.

5인 팀 기준 월 비용 추산은 이렇다:

  • Copilot Business: $95 (고정)
  • Cursor Pro: $100 (고정, fast request 소진 시 속도 저하)
  • Cline + Claude API: $75~$125 (변동)

비용 차이는 크지 않다. 의사결정은 결국 온보딩 난이도에서 갈렸다. Copilot은 VS Code 확장 하나 설치하면 끝이라 누구든 10분이면 쓸 수 있다. Cursor는 IDE 자체를 바꿔야 해서 초기에 저항이 있었다. VS Code 설정을 대부분 가져올 수 있긴 한데, 일부 확장이 호환되지 않아 세팅에 반나절이 걸렸다. Cline은 API 키 발급부터 시스템 프롬프트 작성까지 전부 개발자가 직접 해야 한다. "러닝커브가 있다"는 게 팀원들의 공통 반응이었다.

코드 보안 — 민감 코드는 어디로 가는가

세 도구 모두 코드를 외부 서버로 전송한다. Copilot은 GitHub/Microsoft 서버, Cursor는 자체 프록시 서버 + OpenAI/Anthropic API, Cline은 설정한 LLM 제공자 서버다. 금융·의료·국방 등 코드 유출에 민감한 조직이라면 Copilot Enterprise의 전용 모델 옵션이나 Cline + 로컬 LLM 조합을 검토하는 게 맞다. 우리 팀은 B2B SaaS라 이 부분이 크게 걸리지 않았지만, .cursorignore.copilotignore.env, 시크릿 경로를 등록하는 건 기본으로 해뒀다.

3주 파일럿 이후 운영 방식

팀 공식 도구는 Cursor로 정했다. 이유는 단순하다 — PR 리뷰에서 "AI가 쓴 코드인데 컨벤션을 안 따른다"는 지적이 줄었다. Copilot 사용 시 주 평균 4.2건이던 컨벤션 관련 리뷰 코멘트가 Cursor 전환 뒤 1.8건으로 떨어졌다. Cline은 1.5건으로 수치상 가장 낮았지만, 응답 대기 시간과 승인 과정 때문에 팀 전체 생산성 기준으로는 Cursor가 나았다.

Copilot을 완전히 버리진 않았다. 단순한 보일러플레이트 — import문, 반복적인 CRUD 엔드포인트, 테스트 픽스처 — 에서는 인라인 탭 자동완성이 여전히 가장 빠르다. Cursor의 강점은 Cmd+K 채팅 기반 생성이라, 한 줄짜리 반복 작업에서는 오히려 오버킬이 된다.

Cline은 특정 시나리오 전용으로 쓰고 있다. 대규모 리팩토링이나 "이 모듈 테스트 커버리지를 80%까지 끌어올려줘" 같은 복잡한 요청에서 진가가 나온다.

# Cline에 실제로 넘긴 멀티파일 수정 요청
# "app/services/ 디렉토리의 모든 서비스 클래스에
#  로깅 데코레이터를 추가해줘.
#  기존 app/utils/logging.py의 @log_execution 데코레이터를 쓸 것.
#  변경 전 각 파일의 import 구조를 먼저 확인할 것."

# 결과: 12개 파일을 한 번에 수정 완료
# 기존 import 순서(stdlib → third-party → local) 유지됨
# 소요 시간: 약 45초 / API 비용: $0.12

이런 배치 작업에서 Copilot이나 Cursor는 파일을 하나씩 열어서 처리해야 한다. 12개 파일을 수동으로 돌리면 체감 15분은 걸리는 작업인데, Cline의 에이전트 방식은 1분 안에 끝낸다. 이 격차는 무시하기 어렵다.

현재 운영 구성은 이렇다. 일상 코딩에는 Cursor Pro를 쓰고($20/month), 인라인 자동완성은 Cursor 내장 기능으로 충분해 Copilot 유료 구독은 해지했다. 대규모 수정 작업이 있을 때만 Cline을 켠다. 월 API 비용은 $10 내외. 인당 월 $30 이하로 세 도구를 조합해 운영하고 있다.

이건 5인 백엔드 팀이 FastAPI 모노레포 하나를 다루는 조건에서 나온 결론이다. 프론트엔드 중심 팀이나 마이크로서비스 구조에서는 결과가 달라질 수 있고, 프론트엔드 쪽 성능은 직접 테스트하지 않아서 단정하기 어렵다. AI 코딩 어시스턴트 시장 자체가 분기마다 판이 바뀌고 있어서, 이 비교 결과가 반년 뒤에도 유효할지는 더 지켜봐야 한다.

관련 글

Chiko
Chiko

Platform Engineer. Python, AI, Infra에 관심이 많습니다.