TuBrief
구독 채널
비디오
커뮤니티

혼자 만드는 웹 서비스에 Claude Sonnet만 쓰면 안 되는 이유

TuBrief 편집팀
2026년 8월 22일
0
컴퓨터/소프트웨어

원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.

한국어EnglishEspañol中文العربيةहिन्दीDeutschFrançaisPortuguêsРусскийBahasa Indonesia

관련 영상

Gemini 3.5 Flash는 그냥... 적당하네요6:48

Gemini 3.5 Flash는 그냥... 적당하네요

Better Stack

커뮤니티의 다른 글

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

2026년 9월 13일

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

2026년 9월 13일

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

2026년 9월 13일

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

2026년 9월 13일

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

2026년 9월 12일

Apple Won the AI Race

2026년 9월 12일

댓글 (0)

Log in to leave a comment

아직 작성된 글이 없습니다

© 2026 . All rights reserved.

TuBrief
구독 채널
비디오
커뮤니티
로그인

혼자 만드는 웹 서비스에 Claude Sonnet만 쓰면 안 되는 이유

월 예산 500만 원 밑으로 혼자 웹 서비스를 만들고 운영할 때, 최상위 AI 모델만 쓰면 API 요금이 순식간에 불어납니다. 벤치마크 점수만 보고 코딩 보조 모델을 고르면 실제 개발 환경에서 몇 턴 지나지 않아 지출 한도를 넘깁니다. 작업 단계별로 토큰 소모량을 파악하고 모델을 나눠 쓰면 개발 속도를 유지하면서 API 지출을 30% 이상 줄일 수 있습니다.


1. 혼자 개발할 때 나오는 실제 토큰 소모량과 계산식

웹 서비스 개발은 프로토타이핑, 핵심 로직 작성, 리팩토링, 디버깅으로 나뉩니다. 하루 평균 50번씩 한 달(20일 기준)에 1,000번 API를 호출한다고 가정하면 작업 단계마다 입력 토큰 비중이 크게 달라집니다. 단일 대화창에 에러 로그와 이전 코드가 쌓이는 디버깅 단계는 한 번에 입력 토큰이 45,000개까지 치솟고, 백엔드 로직 작성도 25,000개 수준의 높은 입력을 요구합니다.

개발 단계 월간 호출 횟수 회당 평균 입력 토큰 회당 평균 응답 토큰 월간 총 입력 토큰 월간 총 응답 토큰
프로토타이핑 및 초기 설계 150회 3,000 1,500 450,000 225,000
핵심 로직 구현 450회 25,000 2,000 11,250,000 900,000
리팩토링 및 코드 리뷰 200회 15,000 1,000 3,000,000 200,000
디버깅 및 에러 트레이싱 200회 45,000 2,500 9,000,000 500,000
월간 합계 1,000회 -- -- 23,700,000 **1,825,000

API 지출을 계산할 때는 입력 토큰과 응답 토큰의 단가 차이를 반드시 넣어야 합니다. 응답 토큰은 실시간 연산 자원을 쓰기 때문에 입력 토큰보다 최소 3배에서 최대 5배까지 비쌉니다. 월간 총 지출 비용은 다음 수식으로 계산합니다.

Costmonthly=∑m(Tinput,m1,000,000⋅Pinput,m+Tcache,m1,000,000⋅Pcache,m+Toutput,m1,000,000⋅Poutput,m)\text{Cost}_{\text{monthly}} = \sum_{m} \left( \frac{T_{\text{input}, m}}{1,000,000} \cdot P_{\text{input}, m} + \frac{T_{\text{cache}, m}}{1,000,000} \cdot P_{\text{cache}, m} + \frac{T_{\text{output}, m}}{1,000,000} \cdot P_{\text{output}, m} \right)Costmonthly​=m∑​(1,000,000Tinput,m​​⋅Pinput,m​+1,000,000Tcache,m​​⋅Pcache,m​+1,000,000Toutput,m​​⋅Poutput,m​)

모든 작업을 단일 모델인 Claude 3.5 Sonnet(입력 1M당 $3.00, 응답 1M당 $15.00)으로 처리하면 월간 총량(입력 약 2,370만, 응답 약 182.5만) 기준으로 월 $98.48(약 135,000원)이 나옵니다. 문제는 대화가 길어져서 컨텍스트가 누적될 때입니다. 입력량이 3배 늘어나면 월 지출은 곧바로 $250를 넘깁니다. 1인 개발자는 전체 운영 예산의 10% 미만인 100 100~100 150 수준을 AI 상한선으로 잡고, 공급자 콘솔에서 50%(50)와8050)와 80%(50)와8080) 알림, 100% 강제 차단(Hard Limit)을 걸어두어야 안전합니다.


2. 불필요한 파일 제외와 프롬프트 캐싱

프로젝트 폴더 전체를 코딩 에이전트에 그대로 집어넣으면 node_modules, dist/, package-lock.json 같은 부가 파일까지 들어가면서 입력 토큰의 60~70%가 허공으로 날아갑니다. CLI 도구인 Repomix를 써서 필요한 비즈니스 로직 파일만 골라 담는 편이 좋습니다.

{
  "output": {
    "filePath": "repomix-output.xml",
    "style": "xml",
    "removeComments": true,
    "removeEmptyLines": true
  },
  "ignore": {
    "useGitignore": true,
    "useDefaultPatterns": true,
    "customPatterns": [
      "</strong>/node_modules/<strong>",
      "</strong>/dist/<strong>",
      "</strong>/*.test.ts",
      "**/*.spec.ts",
      "<strong>/package-lock.json",
      "</strong>/yarn.lock",
      "**/*.public/<strong>",
      "</strong>/*.svg"
    ]
  }
}

시스템 프롬프트와 공통 라이브러리 코드에는 프롬프트 캐싱을 걸어줍니다. Anthropic Claude API의 경우 최소 1,024토큰 이상의 시스템 프롬프트에 cache_control 브레이크포인트를 넣으면, 처음 작성한 뒤 5분 안에 다시 요청할 때 90% 할인된 $0.30/1M 캐시 읽기 단가가 적용됩니다.

{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 2048,
  "system": [
    {
      "type": "text",
      "text": "사용자는 TypeScript 및 Next.js 전문 1인 개발자입니다. 정밀한 인터페이스 사양에 맞추어 코드만 반환하세요.",
      "cache_control": {"type": "ephemeral"}
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": "공통 DB 스키마 정의 파일 내용..."
    }
  ]
}

프롬프트 길이를 줄이는 방법은 세 단계로 정리할 수 있습니다.

  • Repomix 실행 시 --compress 옵션을 줘서 내부 구현부를 빼고 인터페이스와 함수 시그니처만 뽑아냅니다.
  • --remove-comments와 --remove-empty-lines 플래그를 붙여서 주석과 공백을 쳐냅니다. 토큰 길이가 15~20% 더 줄어듭니다.
  • 추출한 코드 블록을 평문 대신 XML 태그로 감싸서 모델이 파싱할 때 헷갈리지 않게 만듭니다.

3. UI 초안과 백엔드 로직에 쓰는 모델 분리

단순한 컴포넌트 배치나 Tailwind CSS 스타일 작업에 고가 모델을 쓸 필요는 없습니다. 프론트엔드 UI 초안에는 긴 컨텍스트를 저렴하게 처리하는 Gemini 2.0 Flash(입력 $0.10/1M, 응답 $0.40/1M)나 GPT-4o mini(입력 $0.15/1M, 응답 $0.60/1M)를 씁니다.

작업 영역 작업 세부 내용 추천 모델 선택 사유
프론트엔드 UI 스크린샷 기반 Tailwind CSS 작성, HTML 레이아웃 구성 Gemini 2.0 Flash 저렴한 멀티모달 처리 및 빠른 응답 속도
일반 백엔드 RESTful API 구현, 기본 DB CRUD, 입력값 유효성 검증 DeepSeek V3 Claude 대비 1/10 단가로 준수한 성능 제공
고난도 백엔드 다중 트랜잭션, 동시성 제어, 복잡한 리팩토링, 보안 검증 Claude 3.5 Sonnet 하위 모델에서 오류가 반복될 때 핀포인트 교체

일반 CRUD나 단발성 API 로직은 Claude 3.5 Sonnet 대비 단가가 10분의 1 수준인 DeepSeek V3(입력 $0.25/1M, 응답 $0.95/1M)로 작성합니다. 여러 테이블이 얽힌 복잡한 쿼리나 동시성 제어 트랜잭션처럼 까다로운 코드에서 오류가 잡히지 않을 때만 Claude 3.5 Sonnet으로 전환합니다.

두 모델 사이에서 컨텍스트 낭비를 줄이는 연결 방식은 다음과 같습니다.

  • Gemini 2.0 Flash로 생성한 UI 컴포넌트에서 전체 코드를 제외하고 TypeScript Interface(Props 및 State)만 뽑아냅니다.
  • 백엔드에 넘겨줄 목적으로 HTTP 메서드, URL 경로, 요청과 응답 본문이 담긴 경량 JSON 스키마를 짭니다.
  • DeepSeek V3에 이 스키마만 전달해 백엔드 API 엔드포인트를 구현합니다. 세션당 15,000토큰을 아끼면서 전체 개발 작업 시간을 5시간가량 단축할 수 있습니다.

4. 자율 수정 루프 차단과 실무 점검 기준

공개 벤치마크는 단발성 질의로 측정하기 때문에 코딩 에이전트(Aider 등) 환경과 다릅니다. 대화가 10턴 이상 이어지면 이전 대화 기록이 매번 같이 전송되어 오타 하나 고치는데 1 1~1 2가 나갑니다.

에이전트가 테스트 실패 후 스스로 코드를 고치고 재실행하는 자율 수정 루프에 빠지면 몇 분 만에 20 20~20 50가 빠져나갑니다. 이를 막으려면 세 가지 통제 기준을 걸어두어야 합니다.

  • 에이전트 실행 옵션에서 사람 개입 없는 최대 자율 반복 횟수(Max Iterations)를 3~5회로 묶습니다.
  • 에러 로그 전체를 넘기지 않고 상위 20줄 이내의 핵심 메시지만 잘라 넣어줍니다.
  • 같은 파일 위치에서 세 번 이상 수정이 맴돌면 즉시 프로세스를 강제 종료하고 직접 코드를 확인합니다.
검증 항목 세부 검토 내용 실행 및 점검 방법
프롬프트 격리 무시 파일 설정 및 패킹 크기 확인 .gitignore, repomix.config.json 적용 후 패킹 토큰 수 사전 측정
모델 분배 작업 난이도별 모델 지정 UI는 Gemini Flash, CRUD는 DeepSeek V3, 고난도 로직은 Claude Sonnet 지정
프롬프트 캐싱 최소 토큰 단위 및 브레이크포인트 검증 시스템 프롬프트 1,024토큰 이상 확인 후 cache_control 삽입
지출 상한선과 루프 제한 안전 차단 장치 설정 에이전트 자율 반복 5회 이하 제한, API 공급자 콘솔 지출 한도 설정

코딩 AI를 쓸 때 중요한 점은 무조건 최신 고가 모델을 붙이는 것이 아니라 작업 특성에 맞춰 도구를 통제하는 데 있습니다. 토큰 계산 수식으로 예산을 가늠하고, Repomix로 프롬프트를 쳐내며, 작업 성격에 맞게 모델을 섞어 쓰면 비용 부담 없이 프로덕트를 완성할 수 있습니다.