스마트 라우팅: 귀하의 프롬프트에 충분히 빠른 가장 저렴한 제공업체
여러 제공업체가 같은 모델을 판매하는데, 가장 저렴한 곳이 긴 프롬프트에서는 느린 경우가 많습니다. 그래서 UberLLM은 모든 요청마다 각 제공업체가 해당 프롬프트 크기에서 얼마나 빨리 응답을 시작하는지, 그리고 이 요청에 드는 비용이 얼마인지 확인합니다. 충분히 빠른 제공업체(가장 빠른 제공업체와 2x 이내이거나 1초 미만)를 선택하여, 그중 가장 저렴한 곳으로 요청을 보냅니다. 별도로 설정할 필요가 없습니다. 자체 라우팅 옵션을 전달하지 않는 한 모든 채팅 요청에서 자동으로 실행됩니다.
가장 저렴한 공급자가 충분하지 않았던 이유
DeepSeek V4.1 Flash와 같은 모델은 여러 공급자에 의해 다른 가격으로 판매됩니다. 모든 요청을 가장 저렴한 공급자에게 보내는 것은 짧은 프롬프트에는 효과적입니다. 하지만 긴 프롬프트에서는 문제가 발생합니다. 모델이 첫 단어를 작성하기 전에 전체 프롬프트를 읽어야 하는데, 일부 공급자는 다른 공급자보다 긴 프롬프트를 훨씬 느리게 읽기 때문입니다.
저희는 2026년 10월 28일에 실시간 트래픽에서 이를 측정했습니다. DeepSeek V4.1 Flash에서 가장 저렴한 공급자는 32k–128k 토큰 길이의 프롬프트에 대해 첫 단어를 보내는 데 15초가 걸렸고, 128k 토큰 이상에서는 34초가 걸렸습니다. 다른 공급자는 동일한 프롬프트에 대해 1.5–2초가 걸렸습니다.
이는 코딩 에이전트에게 가장 중요합니다. Claude Code, Cline 및 유사한 도구들은 매 턴마다 전체 작업 컨텍스트를 보내는데, 이는 종종 60k–130k 토큰에 달하며, 대부분은 캐시 읽기입니다.
가격만으로는 해당 프롬프트에 대한 선택이 좋지 않았습니다. 일반적인 입력 가격으로 순위를 매기는 것은 캐시 읽기 가격을 무시했기 때문에, 긴 캐시된 프롬프트가 다른 공급자가 $0.0013를 청구할 때 백만 캐시 토큰당 $0.07를 청구하는 리셀러에게 갈 수 있었습니다. 그 호출은 더 느렸고 약 50x 더 비쌌습니다.
모든 요청에서 일어나는 일
- 프롬프트 크기별 속도 측정. UberLLM은 각 모델에 대해 모든 제공업체의 첫 토큰 응답 시간을 8k 토큰 미만, 8k–32k, 32k–128k, 128k 토큰 초과 네 가지 크기 그룹으로 기록합니다. 동일한 제공업체가 31 토큰 프롬프트에 1.7초 만에 응답했고, 105k 토큰 프롬프트에는 15.5초 만에 응답했으므로, 제공업체당 하나의 숫자만으로는 정확하지 않습니다. 데이터는 실제 호출에서 수집됩니다. 약 20k, 60k, 150k 토큰에서 5분마다 별도로 속도를 확인하여 짧은 호출이 빠르더라도 특정 크기에서 속도 저하를 감지합니다.
- 각 제공업체에서 이 정확한 요청의 가격을 책정합니다. 입력, 캐시된 입력 및 출력은 이 요청의 토큰 조합에 따라 별도로 가격이 책정됩니다. 긴 에이전트 프롬프트의 경우, 캐시 읽기 가격이 일반적으로 청구서의 대부분을 차지합니다.
- 충분히 빠른 제공업체를 유지합니다. 제공업체는 첫 토큰 응답 시간이 가장 빠른 측정된 제공업체의 2x 이내이거나 1초 미만일 때 자격이 주어집니다. 속도는 중앙값으로 판단됩니다. 제공업체가 최소 10개의 샘플을 확보하면 느린 이상치는 4분의 1 가중치로 계산되므로, 한 번의 잘못된 호출로 좋은 제공업체가 제외되지 않습니다.
- 그중 가장 저렴한 곳으로 요청을 보냅니다. 가장 빠른 제공업체는 더 저렴한 제공업체가 너무 느릴 때만 선택됩니다.
- 데이터를 최신 상태로 유지합니다. 요청의 5%는 데이터가 부족한 제공업체로 전송되어, 더 빨라진 제공업체를 파악합니다. 호출을 거부하는 제공업체는 사용할 수 없는 것으로 간주되며 15분 이내에 다시 시도됩니다.
아직 모델에 대한 속도 데이터가 없는 경우, 요청은 가장 저렴한 사용 가능한 제공업체로 전송됩니다. 모델의 일반 가격보다 높은 가격이 책정된 제공업체는 모델의 공식 정가보다 여전히 최소 50% 저렴할 때만 속도를 위해 선택됩니다.
긴 프롬프트: 첫 번째 공급자가 느릴 때를 위한 두 번째 공급자
빠른 공급자도 때로는 느리게 시작합니다. 한 번의 캐시된 120k-token 프롬프트에서, 동일한 공급자가 연속된 세 번의 호출에서 0.45, 3.7, 8.5초 만에 시작했습니다. 올바른 공급자를 선택하는 것만으로는 이 문제를 해결할 수 없으므로, 긴 스트리밍 요청에는 백업이 제공됩니다:
- 32k–128k token 프롬프트: 1초 후에도 첫 단어가 도착하지 않으면, 동일한 요청이 다른 빠른 공급자에게도 전송됩니다.
- 128k token 초과 프롬프트: 두 요청이 동시에 시작됩니다.
- 먼저 응답하는 공급자가 답변을 스트리밍합니다. 첫 단어가 도착하는 즉시 다른 요청은 취소됩니다.
고객은 하나의 답변을 받고 하나의 답변에 대해 비용을 지불합니다. 취소된 요청에 대한 비용은 고정된 일일 예산에서 저희가 지불합니다. 해당 예산이 소진되면, 긴 요청은 다음 날(UTC)까지 하나의 공급자에게만 전송됩니다.
재시도는 다른 제공업체로 보냅니다
응답이 도달하기 전에 호출이 실패하면, UberLLM은 최대 4번의 시도까지 다른 경로로 재시도합니다. 스마트 라우팅 이전에는 재시도가 동일한 느린 제공업체에 다시 도달할 수 있었습니다. 모든 시도에서 실패하는 호출은 $0의 비용이 듭니다. 자세한 내용은 모델 및 라우팅]에서 확인할 수 있습니다.
실시간 트래픽 결과
DeepSeek V4.1 Flash, 첫 단어 응답 시간:
| 프롬프트 크기 | 이전 | 이후 |
|---|---|---|
| 32k–128k 토큰 | 18 초 | 3.3 초 |
| 128k 토큰 초과 | 40 초 | 3.4 초 |
32k 토큰(2026년 10월 28일)을 초과하는 스트리밍 호출에서, 가장 느린 호출 10%%의 응답 시간이 57초에서 8.7초로 단축되었습니다. 해당 호출 중 1,000%의 비용은 $2.49에서 $1.04로 변경되었습니다. 이제 캐시 읽기 가격이 선택에 반영되기 때문입니다. 10월 29일, 203k 토큰 프롬프트가 약 4초 만에 응답하기 시작했습니다.
한 가지 한계점: 어떤 제공업체도 100k 토큰 프롬프트를 즉시 시작하지 않습니다. 모든 제공업체에서 몇 초가 걸립니다. 스마트 라우팅은 느린 제공업체로 인한 추가 대기 시간을 제거합니다. 하지만 빠른 제공업체가 프롬프트를 읽는 데 필요한 시간은 제거할 수 없습니다.
요금 안내
각 요청은 해당 요청을 처리한 제공업체가 청구한 금액으로 청구되며, UberLLM 수수료는 추가되지 않습니다. 모든 호출 및 해당 비용은 대시보드 → 활동에 나열됩니다. 가격 상한을 설정하려면 prompt 및 completion와 함께 provider.max_price을(를) 보내세요. Smart routing은(는) 설정한 상한 미만의 제공업체만 선택하며, 요청은 해당 상한 이상으로 청구되지 않습니다.
대신 자체 라우팅 사용
스마트 라우팅을 사용하기 위해 아무것도 변경할 필요가 없습니다. 만약 provider.only, provider.ignore 또는 provider.order에 공급자를 지정하거나, provider.sort를 설정하거나, 모델 ID에 :floor 또는 :nitro 접미사를 추가하면, 사용자 선택이 적용되고 해당 요청에 대해 스마트 라우팅이 실행되지 않습니다:
{
"model": "deepseek/deepseek-v4.1-flash",
"provider": { "sort": "price" },
"messages": [{ "role": "user", "content": "Hello" }]
}
provider.max_price은 예외입니다: 이는 스마트 라우팅과 함께 작동합니다. 모든 옵션은 모델 및 라우팅에 나열되어 있습니다.