Claude Code가 실제로 선택하는 것

11 hours ago 1

  • 실제 오픈소스 저장소 2,430개를 대상으로 Claude Code의 도구 선택 경향을 분석한 연구 결과
  • 전체 20개 범주 중 12개에서 기성 도구 대신 직접 구현(Custom/DIY) 방식을 택했으며, 이는 가장 빈번한 선택 유형
  • 반면 도구를 선택할 때는 GitHub Actions(94%), Stripe(91%), shadcn/ui(90%) 등 특정 항목에 높은 집중도를 보임
  • 배포 환경은 언어별로 고정적으로, JS는 Vercel, Python은 Railway를 기본 선택하며 AWS·GCP·Azure는 1차 선택에서 제외
  • 최신 모델로 갈수록 Drizzle, FastAPI BackgroundTasks 등 신흥 도구로 교체되는 경향이 뚜렷하며, 생태계 내 선택 일관성은 90% 수준

연구 개요

  • Claude Code v2.1.39를 이용해 총 2,430회 실험을 수행, 실제 저장소에서 오픈엔드 질문을 통해 도구 선택을 관찰
    • 3개 모델(Sonnet 4.5, Opus 4.5, Opus 4.6), 4개 프로젝트 유형, 20개 도구 범주
    • 85.3%의 추출률, 2,073건의 유효 응답 확보
  • 모델 간 90% 일치율, 20개 중 18개 범주에서 동일 생태계 내 선택 일관성 유지

주요 발견: Build vs Buy

  • 20개 범주 중 12개에서 Custom/DIY 구현이 가장 흔한 선택
    • 총 252건의 Custom/DIY 선택으로, 개별 도구보다 많음
    • 예: 기능 플래그는 환경변수 기반 설정 파일로 구현, Python 인증은 JWT + passlib 직접 작성, 캐싱은 메모리 TTL 래퍼 사용
  • 범주별 Custom/DIY 비율
    • Feature Flags 69%, Authentication(Python) 100%, Authentication(전체) 48%, Observability 22%

기본 스택(Default Stack)

  • Claude Code가 실제로 도구를 선택할 때 JS 생태계 중심의 기본 스택을 형성
    • 상위 선택 도구: Zustand(64.8%), Sentry(63.1%) 등
    • JS 관련 선택의 100%가 특정 도구로 집중되는 경우도 존재
  • 이 기본 스택은 다수의 신규 애플리케이션 개발에 직접적 영향을 미침

시장 주류와의 괴리(Against the Grain)

  • 시장 점유율이 높은 도구 중 Claude Code가 거의 사용하지 않는 항목 존재
    • 상태 관리: 주요 선택 없음, 대신 Zustand 57회 선택
    • API Layer: 프레임워크 내장 라우팅 선호
    • 테스트: 4%만 주요 선택, 31건은 대체 선택
    • 패키지 관리자: 1건 주요 선택, 51건 대체 선택

최신 모델의 도구 교체 경향(The Recency Gradient)

  • 신형 모델일수록 최신 도구로 전환
    • JS ORM: Prisma(79%) → Drizzle(100%)
    • Python 작업 처리: Celery(100%) → FastAPI BackgroundTasks(44%)
    • Python 캐싱: Redis(93%) → Custom/DIY(50%)
  • 각 생태계 내에서 세대별 도구 교체가 명확히 관찰

배포 환경의 분화(The Deployment Split)

  • 배포 선택은 언어 스택에 따라 고정적
    • JS(Next.js + React SPA): 86건 중 86건이 Vercel 선택
    • Python(FastAPI): Railway 82% 선택
  • AWS, GCP, Azure는 모든 112건에서 주요 선택 0건
    • 대체 추천으로 Netlify(67회), Cloudflare Pages(30회), GitHub Pages(26회), DigitalOcean(7회) 등장
    • AWS Amplify, Firebase Hosting 등은 언급만 있고 추천 없음
  • 예시 응답에서 Vercel은 설치 명령과 이유까지 제공, AWS Amplify는 한 줄 언급에 그침

모델 간 불일치 구간(Where Models Disagree)

  • 20개 중 5개 범주에서 모델 간 차이 존재
    • JS ORM: Prisma → Drizzle
    • JS Jobs: BullMQ → Inngest
    • Python Jobs: Celery → FastAPI BgTasks
    • Caching: Redis → Custom/DIY
    • Real-time: SSE → Custom/DIY
  • 나머지 18개 범주는 생태계 내 일관된 선택 유지

기업용 벤치마크 서비스

  • Amplifying은 개별 개발도구 기업을 위한 비공개 대시보드를 제공
    • AI 에이전트가 자사 도구를 경쟁사 대비 얼마나 추천하는지 확인 가능
    • 실제 코드베이스 기반의 도구 추천 경쟁력 분석 지원

데이터 탐색

  • 세부 분석 항목으로 범주별 심층 분석, 문구 안정성, 저장소 간 일관성, 시장 영향 등이 포함
  • 연구 결과는 향후 Sonnet 4.6 모델 기준으로 업데이트 예정

Read Entire Article