본문으로 건너뛰기

비용과 지연 시간의 트레이드오프

중급
What you'll learn
  • 비용/품질/속도의 삼각관계 — 세 가지를 동시에 최대화할 수 없는 이유
  • 중요한 곳에 지출하고 나머지는 아끼는 여섯 가지 핵심 레버
  • 저렴한 모델을 우선 쓰는 캐스케이드가 볼륨의 90%를 작은 모델로 라우팅해, 어려운 케이스의 품질을 떨어뜨리지 않고도 비용을 약 70% 줄이는 방법
  • 체감 속도를 재설계하는 지연 시간 전용 승리 전략(스트리밍, 병렬화, 캐싱, 비동기)
  • '맹목적 최적화'가 품질을 태우는 이유 — 먼저 측정하고, 그다음에 evals로 가드하라

품질, 비용, 속도는 서로 잡아당깁니다. 세 가지를 동시에 최대화할 수는 없지만, 중요한 곳에 각각 지출하고 나머지는 아낄 수는 있습니다.

삼각관계

더 큰 모델은 더 똑똑하지만 느리고 비쌉니다. 더 작은 모델은 빠르고 저렴하지만 성능이 떨어집니다. 좋은 엔지니어링이란 각 작업을 이 삼각형의 적절한 지점으로 라우팅하는 것입니다.

가장 큰 레버들 (대략적인 우선순위 순)

Guided walkthrough1 of 6
  1. 분류 작업에 Opus를 돌리지 마세요. Sonnet에서 시작해 단순/고볼륨 단계에는 Haiku로 낮추고, 어려운 부분에만 Opus를 남겨두세요. 가장 큰 단일 레버 — /docs/api/choosing-a-model 참고.

실사례: 저렴한 것 우선 캐스케이드

캐스케이딩은 모호하게 들려서 사람들이 건너뛰는 레버입니다. 구체화해봅시다. 10만 건의 고객 지원 이메일을 분류해야 한다고 합시다. 순진한 접근은 모든 이메일을 가장 강한 모델에 돌립니다. 캐스케이드는 대부분의 볼륨을 저렴한 모델에 라우팅하고 어려운 케이스만 에스컬레이트합니다:

저렴한 모델이 자체적으로 90%의 케이스를 해결하고, 더 강한 모델이 토큰당 약 5배 비용이 든다고 가정합시다. 상대적 비용 단위로 계산하면(1 = 이메일 하나에 대한 저렴한 패스 하나):

  • 전량 강한 모델: 100k × 5 = 500k 비용 단위.
  • 캐스케이드: 100k × 1 (모든 이메일이 저렴한 패스를 받음) + 10k × 5 (에스컬레이트되는 10%) = 150k 비용 단위.

70% 절감이며, 진짜로 어려운 케이스에는 여전히 최고의 모델이 사용됩니다. 배수와 분할은 예시일 뿐 — 여러분의 토큰 카운트와 요율을 대입하고, evals실제 에스컬레이션 비율을 측정하세요. 교훈은 변하지 않습니다: 절감은 요율 자체가 아니라, 비싼 요율을 얼마나 드물게 지불하는지에서 나옵니다.

지연 시간 전용 승리 전략

Pro tip
  • 응답을 스트리밍 — 사용자가 첫 토큰을 즉시 보므로, 총 시간이 그대로여도 체감 속도가 급등합니다 (/docs/api/streaming).
  • 독립적인 하위 호출을 병렬화 — 세 도구로 팬아웃하는 요청은 max(latency)로 끝나지 sum(latency)이 아닙니다.
  • 반복 작업을 캐싱하고 가능한 곳은 미리 계산 — 가장 빠른 토큰은 생성할 필요가 없는 토큰입니다.
  • 대화형 경로에는 더 작은 모델 선택. 무거운 작업은 비동기로 옮겨 사용자가 기다리지 않게 하세요.
  • 대화형 엔드포인트의 최대 출력 토큰 감소 — 긴 생성이 꼬리 지연의 지배적 원인입니다.

맹목적으로 최적화하지 마라

먼저 측정하세요: 토큰과 초가 실제로 어디로 가고 있는가? 그다음 가장 큰 라인 아이템을 최적화하세요. 그리고 비용 절감 후에는 반드시 evals로 품질을 재확인하세요 — 틀린 저렴한 설정은 더 저렴하지 않습니다.

스스로 점검

0/4
  1. 일반적으로 가장 큰 단일 비용 레버는 무엇인가?
  2. 저렴한 것 우선 캐스케이드에서 실제 절감은 어디서 나오는가?
  3. 사용자가 응답이 더 빠르다고 느끼게 하고 싶다. 모델 선택을 바꾸지 않고 가장 도움이 되는 레버는?
  4. 워크플로에서 Sonnet에서 Haiku로 옮겨 비용을 절감했다. 필수 다음 단계는?
Key takeaways
  • 삼각관계는 실재합니다: 품질, 비용, 속도는 서로 잡아당깁니다 — 엔지니어링은 세 가지 모두를 최대화하는 게 아니라, 각 작업을 적절한 지점으로 라우팅하는 것입니다.
  • 모델의 적정 규모화가 가장 큰 단일 레버이며, 캐스케이드는 어려운 소수에만 플래그십 요율을 지불함으로써 이를 배가시킵니다.
  • 프롬프트 캐싱, 엄격한 max_tokens, RAG 기반 입력 다이어트는 모델 선택과 함께 복리로 작동합니다.
  • 지연 시간 체감은 별개의 축입니다 — 스트리밍, 병렬 하위 호출, 비동기 중작업은 원가를 바꾸지 않고 UX를 재설계합니다.
  • 모든 비용 절감은 evals로 가드되어야 합니다 — 틀린 저렴한 설정은 더 저렴하지 않습니다.

다음