Claude Platform을 활용한 비용 절감 및 성능 향상 방안

@ClaudeDevs
영어2026년 9월 08일
481K
3.9K
287
150
5.1K

TL;DR

Anthropic은 애플리케이션 성능을 유지하거나 향상하면서 Claude API 비용을 최소화할 수 있는 실행 가능한 전략을 제시합니다. 개발자는 프롬프트 캐싱을 활용하고, 기존의 레거시 지침을 검토하며, 모델의 노력(effort) 설정을 조정할 수 있습니다.

프롬프트 캐싱, 지침, 노력 수준을 조정하면 애플리케이션 성능 저하 없이 Claude 비용을 절감할 수 있습니다.

성능과 비용은 종종 상충 관계로 여겨집니다. 즉, 지출을 줄이면 결과가 나빠진다는 것입니다. 실제로 Claude Platform을 사용하는 많은 애플리케이션이 세 가지 수정만으로 성능 저하 없이 비용을 절감할 수 있음을 발견했습니다: 프롬프트 캐시 적중률 극대화, 최첨단 Claude 모델로 업그레이드할 때 프롬프트에서 안티패턴 제거, 작업에 맞게 노력 수준 조정. 이 지침을 claude-api skill에 담았습니다. 이 글에서는 Claude Code가 claude-api skill을 사용하여 성능을 유지하거나 개선하면서 비용을 절감하는 방법을 자주 찾을 수 있음을 보여줍니다.

프롬프트 캐시

Claude가 응답을 생성하기 전에 먼저 프롬프트를 내부 작업 상태로 처리합니다. 프리필이라고 하는 이 단계가 입력을 처리하는 데 비용이 많이 드는 부분입니다. 프롬프트 캐싱은 해당 상태(키-값, 즉 KV 캐시)를 저장합니다. 요청이 동일한 접두사로 시작하면 Claude가 이를 다시 계산하는 대신 읽어옵니다. 캐시 읽기는 전체 입력 가격의 일부만 청구됩니다.

프롬프트 캐시를 효과적으로 사용하려면 몇 가지 실용적인 고려 사항이 있습니다. 첫째, 프롬프트 캐시는 특정 모델에 고정됩니다. 둘째, 프롬프트 캐시 읽기는 접두사 전체에 걸쳐 바이트 단위로 정확해야 합니다. 마지막으로, 프롬프트 캐시에는 제한된 TTL(Time-To-Live)이 있습니다.

이러한 점을 염두에 두고 몇 가지 실용적인 팁이 있습니다:

  • 대화 중간에 노력(effort) 설정을 변경할 때 주의하세요. 이러한 설정은 콘텐츠 앞의 프롬프트에 렌더링되므로 캐시된 접두사의 일부입니다. Opus 5 및 Fable 5.1을 포함한 일부 Claude 모델에서만 캐시를 깨지 않고 대화 중간에 노력을 업데이트할 수 있습니다.
  • 변경 가능한 값은 접두사에서 제외하세요. 시스템 프롬프트의 동적 타임스탬프나 ID는 모델 호출 간에 변경되어 캐시를 깨뜨릴 수 있습니다.
  • 순서가 바뀌는 도구 정의를 피하세요. Claude messages API를 사용할 때 프롬프트는 고정된 순서로 조립되며 도구 정의가 맨 위에 렌더링됩니다. 도구 정의가 변경되면 캐시가 깨집니다.
  • 대화를 포크할 때 주의하세요. 하위 에이전트와 분기는 포크의 접두사가 바이트 단위로 동일하고, 동일한 모델이며, 동일한 노력을 사용하는 경우에만 부모의 캐시를 공유합니다.

해결 방법

프롬프트 캐시 관리에 대한 몇 가지 교훈을 축적했습니다:

  • 프롬프트 캐시 적중률을 주의 깊게 모니터링하세요. Claude Console캐시 진단 API는 프롬프트 캐시 미스 이유(그림 1)와 두 요청이 정확히 어디에서 달라졌는지 등 프롬프트 캐시 진단 정보를 제공합니다.
ClaudeDevs - inline image
  • 드물게 사용되는 도구는 지연 로딩하세요. 모든 도구를 먼저 선언하되 드물게 사용되는 도구는 defer_loading으로 표시하세요. 캐시된 접두사에서 제외되고 Claude가 도구 검색으로 조회할 때만 대화에 추가되므로 캐시가 보존됩니다.
  • 시스템 프롬프트 업데이트를 메시지로 적용하세요. 특정 Claude 모델에서는 시스템 프롬프트를 편집하는 대신 대화 중간에 시스템 지침을 메시지로 추가할 수 있어 캐시가 보존됩니다.
  • 안정적인 부분이 안정적으로 유지되도록 요청을 배치하세요. 정적 컨텍스트(도구 정의 및 시스템 프롬프트)를 먼저 추가하고 그 뒤에 커지는 대화를 배치하세요(그림 2).
ClaudeDevs - inline image
  • 프롬프트 캐시가 이미 깨질 때 모델이나 노력을 변경하세요. 압축과 같은 특정 작업은 이미 캐시(대화)의 상당 부분을 다시 작성합니다. 이는 좋은 시점입니다. 어차피 미스에 대한 비용을 지불하고 있기 때문입니다.
  • 대화가 길어짐에 따라 캐시 중단점을 이동하세요. Claude Platform에서는 자동 캐싱을 설정하여 마지막 캐시 가능 블록에 캐시 중단점을 적용할 수 있습니다.
  • 캐시를 미리 워밍업하세요. 지연 시간을 줄이기 위해 실제 트래픽과 동일한 노력 설정을 사용하여 max_tokens: 0 및 명시적 캐시 중단점이 있는 요청을 보내세요. 이렇게 하면 아무것도 생성하지 않고 프롬프트를 처리하여 캐시에 기록합니다. 세션 시작 시(예: 사용자가 입력하는 동안) 실행하면 첫 번째 실제 요청이 워밍된 캐시에 도달합니다.
  • 프롬프트 캐시 TTL을 초과하지 마세요. 5분 캐시 TTL은 요청 시작 시점부터 계산됩니다. 에이전트가 5분 이상 실행되는 도구 호출이나 하위 에이전트 요청에서 차단되면 결과가 반환되기 전에 부모의 캐시가 만료됩니다. 이러한 경우 접두사에 1시간 TTL을 설정하는 것을 고려하세요.

지침

프롬프트에는 모델의 약점을 패치하는 지침이 축적될 수 있습니다. 이러한 지침은 최신 Claude 모델의 기능과 관련하여 부정확해질 수 있습니다. 다음은 최첨단 Claude 모델을 저해하고 의도치 않게 비용을 증가시킬 수 있는 일반적인 프롬프팅 "안티패턴"입니다:

  • 검증 의식. "작업을 다시 확인하세요" 또는 "응답하기 전에 두 번 확인하세요"와 같은 지침은 최첨단 모델에서 종종 문자 그대로 받아들여져 토큰을 낭비할 수 있습니다.
  • 철저함 및 강조 부스터. "최대한 철저히 하세요", "중요: 반드시..."는 최첨단 모델에서 장황함과 추가 도구 호출로 이어질 수 있습니다.
  • 필수 절차 및 스크래치패드 구조. 고정 단계 프로세스(예: "스크래치패드에서 단계별로 생각하세요") 또는 추론 템플릿은 최첨단 모델이 필요로 하지 않는 의식입니다. 이러한 구조는 기본 추론 위에 쌓여 불필요한 토큰을 사용할 수 있습니다.
  • 오래된 예시. 이전 모델의 실패 모드에 맞춰진 few-shot 예시는 최첨단 모델이 필요하지 않은 요청에서 긴 추론 체인을 모방하도록 가르칠 수 있습니다.
  • 모순된 규칙. 최첨단 모델은 지침 따르기 능력이 더 뛰어납니다. 모순된 지침("항상 정책 내에서 환불" 대 "에스컬레이션 없이 환불 금지")은 최첨단 모델에서 더 문자 그대로 따라져 성능 저하를 초래할 수 있습니다.
  • 오래된 구성. 이전 Claude 세대를 위해 작성된 설정(예: 수동 사고 예산)은 최신 모델에서 Claude Platform에 의해 거부될 수 있습니다.

해결 방법

claude-api skill을 이러한 안티패턴을 감시하는 새로운 명령어로 업데이트했습니다. Claude Code에서 프롬프트, skill 또는 도구 설명에 대해 /claude-api prompt-audit을 실행하세요. 감사는 작업 디렉토리의 모든 항목(Claude API를 호출하는 애플리케이션 코드 및 Claude Code 자체 구성(예: CLAUDE.md 또는 skill) 포함)을 다룹니다.

예를 들어, 고객 지원 벤치마크에서 Opus 4.8에서 Opus 5로의 모델 마이그레이션을 테스트했습니다. 깨끗한 프롬프트에서 시작하여 한 번에 하나의 안티패턴(사용 중단된 사고 설정, 모순된 환불 규칙 쌍, 수동 스크래치패드, "두 번 확인", "최대한 철저히", 필수 6단계 절차)을 심어 6개의 레거시 프롬프트를 만들었습니다.

각각을 Opus 4.8, 모델 ID만 변경한 Opus 5, 그리고 프롬프트당 한 번씩 /claude-api prompt-audit을 실행한 Opus 5에서 실행했습니다(그림 3은 6개의 평균을 보여줍니다).

ClaudeDevs - inline image

Opus 5에서 검증 의식("두 번 확인")은 모든 환불에서 주문 조회를 중복하여 불필요한 토큰을 사용했습니다. 강조 부스터("최대한 철저히")는 수십 개의 불필요한 지식 베이스 검색이 되었습니다.

/claude-api prompt-audit을 실행하면 안티패턴이 제거되어 비용이 평균 14.6% 감소하고 정확도가 5.3% 증가했습니다. 추가 도구 호출과 중복 추론이 제거되어 비용이 감소했습니다. 정확도가 증가한 데는 세 가지 이유가 있습니다. 사용 중단된 사고 설정으로 인해 API가 모든 라우팅 요청을 즉시 거부했습니다. 모순된 환불 규칙으로 인해 Opus 5가 고객에게 확인을 요청하면서 지급해야 할 4건의 환불을 보류했습니다. 그리고 수동 스크래치패드가 Opus 5의 내장 사고와 충돌하여 3개의 티켓에서 도구 호출을 추론 내부에 작성하고 실행하지 못했습니다.

노력(Effort)

노력은 Claude에게 "얼마나 열심히 일할지"를 알려줍니다. 낮은 노력에서 Claude는 일반적으로 더 빨리 결론에 도달합니다. 높은 노력에서 Claude는 답변하기 전에 숙고하고, 확인하고, 대안을 탐색합니다.

단일 모델 내에서 노력 수준에 따른 비용 대비 성능은 다양할 수 있습니다. 예를 들어, Claude Fable 5는 FrontierCode Diamond(가장 어려운 50개 작업)에서 낮은 노력으로 작업당 $5.35에 11.5%를 기록합니다. 최대 노력에서 Fable 5는 작업당 $19.00에 30.9%를 얻습니다. 노력을 변경하면 점수가 약 2.7배(+19포인트) 상승하는 반면 비용은 약 3.5배 증가합니다(그림 4).

Claude Fable 5.1에서 Humanity's Last Exam(도구 없음)은 마지막 단계에서 수익이 감소하는 가파른 곡선을 보여줍니다. 낮은 노력에서 질문당 약 $0.30에 약 53%를 기록하고 최대 노력에서 약 $2.23에 약 61%를 기록합니다. 최대 노력으로의 마지막 단계는 46% 더 많은 비용으로 약 0.5포인트를 추가합니다. 이득이 벤치마크의 실행 간 노이즈 내에 있으므로 측정 가능한 이득 없이 더 많은 비용을 지불하게 됩니다.

ClaudeDevs - inline image

노력은 어느 방향으로든 잘못 조정될 수 있습니다:

  • 높을수록 항상 더 좋다고 가정. 높은 노력은 과도한 사고를 유발할 수 있습니다. Claude가 작업이 필요로 하는 것보다 더 많은 시간을 숙고하는 데 소비하여 비용과 지연 시간을 추가하고 답변 품질을 저하시킬 수 있습니다. 숙고는 찾을 증거가 있는 동안에만 도움이 됩니다.
  • 낮은 노력으로 편향. 너무 낮게 설정하면 Claude가 충분한 증거를 확보하기 전에 중단됩니다. 도구 호출을 더 적게 하므로 세 번째 검색 결과 대신 첫 번째 검색 결과로 답변할 수 있습니다. 어려운 단계에서 덜 생각하고 일반적으로 실행하는 검사를 건너뜁니다. 답변은 완성된 것처럼 보이지만 부분적인 정보를 바탕으로 구축됩니다.

해결 방법

노력을 조정하는 몇 가지 유용한 방법이 있습니다:

  • 더 강력한 모델을 낮은 노력으로 테스트하세요. 낮은 노력의 더 강력한 모델은 열심히 일하는(높은 노력) 약한 모델보다 저렴할 수 있습니다. 예를 들어, CursorBench 3.2에서 낮은 노력의 Claude Fable 5.1은 비용의 1/3로 높은 노력의 Fable 5의 성능과 일치합니다(그림 5). 두 가지 이유로 최신 모델이 더 저렴합니다. 낮은 노력에서 작업당 더 적은 작업을 수행하고 Fable 5.1의 프롬프트 캐시 읽기는 백만 토큰당 $0.25로 Fable 5의 $1.00보다 저렴합니다. Fable 5의 가격에서도 낮은 노력의 Fable 5.1은 약 40% 저렴할 것입니다.
ClaudeDevs - inline image
  • 작업 형태를 이해하세요. 다양한 노력 수준에 걸쳐 애플리케이션 성능을 측정하는 것은 특정 작업에 대한 비용-성능 트레이드오프를 이해하는 유용한 방법입니다. 포화되지 않은 평가에서 노력 수준에 따른 평평한 비용-성능 곡선은 작업이 사고 컴퓨팅에 의해 제한되지 않음을 시사합니다. 노력을 높이는 것이 유익하지 않습니다.

이러한 조정에는 종종 모델 및 노력 수준에 걸친 평가 실행이 포함됩니다. Claude Code에서 /claude-api hillclimb이 이 검색을 수행합니다. 평가를 훈련 세트와 테스트 세트로 분할하고 구성 변경을 제안하며 실패한 훈련 예제를 읽어 발견한 문제를 수정합니다.

고객 지원 벤치마크에서 기본(높은) 노력의 Opus 4.8부터 시작하여 실행했습니다. hillclimber는 먼저 낮은 노력의 Opus 5를 시도하고 prompt-audit을 적용하여 필수 도구 호출 의식, 스크래치패드 단계 및 모순된 규칙을 제거했습니다. 이로써 98.9%의 훈련 정확도로 Opus 4.8 기준선을 넘었고 비용을 티켓당 2.6센트로 줄였습니다(그림 6).

ClaudeDevs - inline image

그런 다음 낮은 노력의 Sonnet 5로 단계를 낮추었는데, 이는 티켓당 1센트로 더 저렴했지만 정확도는 88.9%로 떨어졌습니다. 실패한 훈련 티켓을 읽고 Claude는 프롬프트에 라우팅 규칙과 환불 한도 상호 참조를 추가하여 동일한 비용으로 Sonnet 5를 98.9%로 되돌렸습니다.

검색에서 본 적 없는 14개의 보류 티켓에서 최종 구성은 원래 설정의 78.6%에 비해 90.5%를 기록했으며 비용은 약 1/5였습니다.

비용 절감 자동화

프롬프트 캐싱, 지침 및 노력은 비용 절감을 위한 일반적인 수단입니다. 문서에서 더 많은 내용을 다룹니다. Claude API를 사용하는 애플리케이션 코드의 전체적인 비용 감사를 실행하기 위해 /claude-api cost-optimize를 추가했습니다. 지출이 어디에 사용되는지 프로파일링하고 비용 절감을 적용하며, 평가를 제공하면 절감액이 성능과 어떻게 상충되는지 보여줍니다.

cost-optimize는 먼저 토큰이 어디에 사용되는지 찾습니다. Claude Admin API 키가 있는 경우 조직의 사용량 및 비용 보고서에서, 애플리케이션이 기록하는 경우 각 API 응답의 사용량 객체에서, 또는 둘 다 실패하면 요청 빌드 코드를 읽고 추정하여 찾습니다.

그런 다음 사용 가능한 절감액의 순위를 매기며, 프롬프트 캐싱부터 시작하여 각 요청이 전달하는 내용을 다듬고(prompt-audit 포함), 출력을 제한하고, 배치 처리되지 않은 작업을 처리합니다. 평가를 제공하면 노력 수준 및 모델 선택에 따른 비용과 성능을 추가로 계산합니다. Sonnet 5를 기준선으로 하여 4개의 공개 벤치마크에서 이를 실행했습니다(그림 7):

  • LegalBench (~58% 비용 절감): cost-optimize는 작업 간에 공유 접두사를 캐싱하고, 낮은 노력을 설정하고, Batch API를 통해 작업을 처리하도록 제안했습니다. 사고 토큰이 102,779개에서 8,284개로 감소했고 통과율은 노이즈 내에서 유지되었으며 비용은 약 58% 감소했습니다.
  • tau2-bench retail (~73% 비용 절감): 명시적 중단점 배치로 프롬프트 캐싱을 구현하여 cost-optimize는 통과율을 일정하게 유지하면서 지출을 72% 줄였습니다.
  • OfficeQA Pro (~52% 비용 절감): cost-optimize는 배치 처리와 문서 캐싱을 추가하여 비용을 $136.20에서 $64.87로 낮췄습니다.
  • SWE-bench Verified (~55% 비용 절감): cost-optimize는 기본 구성이 이미 올바르게 캐싱하고 있음을 발견했습니다. 절감액은 노력을 중간으로 설정하고 에이전트의 출력을 몇 개의 간결한 문장으로 제한함으로써 발생했습니다. 작업당 중간 단계가 29개에서 17개로 줄었고 프롬프트 토큰이 75.2M에서 33.7M으로 감소했습니다.
ClaudeDevs - inline image

시작하기

최첨단 Claude 모델로 마이그레이션하고 기존 프롬프트를 확인하려면 /claude-api prompt-audit부터 시작하세요. 작업 디렉토리의 프롬프트, skill 및 도구 설명을 스캔합니다. 이는 Claude API를 호출하는 애플리케이션 코드 또는 Claude Code의 구성(CLAUDE.md, skill)일 수 있습니다. 최첨단 모델을 저해하는 일반적인 안티패턴을 제거합니다.

애플리케이션이 Claude API를 사용하고 비용 감사를 원할 때 /claude-api cost-optimize를 사용하세요. 토큰 지출을 프로파일링한 다음 다양한 수단을 테스트합니다. prompt-audit을 적용할 뿐만 아니라 프롬프트 캐싱, 처리되지 않은 작업 배치 처리 또는 출력 제한을 통해 비용을 낮출 수 있는 방법도 확인합니다. 평가를 제공하면 노력 및 모델 선택 트레이드오프를 측정합니다.

마지막으로 비용과 성능에 대한 검색을 위해 /claude-api hillclimb을 사용하세요. 평가가 주어지면 Claude는 이를 훈련 세트와 테스트 세트로 분할한 다음 비용을 줄이면서 기준 성능을 유지하는 것을 목표로 애플리케이션에 대한 업데이트를 제안합니다. Claude는 실패한 훈련 사례를 읽어 검색을 안내하고 최종 구성은 보류된 테스트 세트에서 점수가 매겨집니다.

자세히 알아보기:

  • 여기에서 문서 보기
  • 여기에서 비용 절감 요리책 보기
  • 여기에서 claude-api skill 보기; 이 skill은 Claude Code에도 내장되어 있습니다.
  • 여기에서 Claude Blog의 이 글 보기

Lance Martin (@RLanceMartin), Brad Abrams (@brada), Isabella He (@IsabellaKHe), Ben Lehrburger (@benlehrburger) 작성.

원클릭 저장

YouMind로 바이럴 글을 AI 심층 읽기

소스를 저장하고, 핵심 질문을 던지고, 주장을 요약해 바이럴 글을 다시 활용할 수 있는 노트로 바꾸세요. 하나의 AI 워크스페이스에서 모두 할 수 있습니다.

YouMind 둘러보기
크리에이터를 위해

당신의 Markdown을 깔끔한 𝕏 글로

직접 쓴 장문을 올릴 때 이미지, 표, 코드 블록을 𝕏에 맞게 정리하는 일은 번거롭습니다. YouMind는 전체 Markdown 초안을 깔끔하고 바로 게시할 수 있는 𝕏 글로 바꿔 줍니다.

Markdown → 𝕏 사용해 보기

분석할 패턴 더 보기

최근 바이럴 아티클

더 많은 바이럴 아티클 보기