실제 적용 사례: 다중 LLM 라우팅, 16개 모델, 복잡성 계층 및 FinOps
요약
geo-orchestrator는 작업의 유형, 복잡성, 비용 및 제공업체 상태를 고려하여 5개 공급자의 16개 LLM으로 자연어 요청을 라우팅하는 다중 LLM 오케스트레이터입니다. 이 시스템은 예산 제약과 대체 체인(fallback chain)을 유지하며, FinOps 기능을 통해 실행별/일별 상한선을 적용합니다.
핵심 포인트
- 작업 유형 및 복잡성에 따라 16개 LLM으로 라우팅하는 오케스트레이터 구현.
- 예산, 제공업체 상태 등 다중 제약 조건을 고려하여 모델을 선택함.
- 최첨단 모델에 대한 공유 한도와 FinOps 기반 비용 관리를 적용함.
TL;DR (English). geo-orchestrator는 작업 유형, 복잡성, 비용 및 제공업체 상태에 따라 자연어 요청의 각 작업을 5개 제공업체의 16개 LLM으로 라우팅합니다. 모든 작업 유형은 상위 두 슬롯이 다른 공급업체에서 나오는 대체 체인(fallback chain)을 유지하며; 두 개의 최첨단 모델(frontier models, 백만 토큰당 US$ 10/50)은 세션당 35%의 공유 한도가 있는 선언적 정책(declarative policy) 뒤에 위치합니다. 그리고 FinOps는 실제로 작동하는 알림과 함께 실행별, 일별 및 제공업체별 상한선을 적용합니다. 2026년 10월 7일 기준: 23가지 작업 유형, 962개 테스트 통과.
본 기사는 의사 코드를 사용하여 프로덕션 환경의 다중 LLM 오케스트레이터가 수행하는 라우팅 및 비용 결정을 보여줍니다. 이 시스템은 Brasil GEO의 콘텐츠 연구 및 제작을 위해 제가 구축한 geo-orchestrator입니다. 저장소는 비공개이며, 인터랙티브 플로우는 https://alexandrecaramaschi.com/geo-orchestrator에서 확인할 수 있습니다.
기술 상태: 2026년 10월 7일, Sprint 33, v5.3 파크. Anthropic, OpenAI, Google, Perplexity 및 xAI의 16개 모델, 23가지 작업 유형, 그리고 962개의 테스트가 승인되었습니다.
1. 문제의 형식
자연어 요구사항은 종속성을 가진 타입화된 작업 계획으로 변환됩니다. 각 작업은 모델을 필요로 합니다. 라우터가 준수하는 제약 조건들은 다음 순서대로 강도가 높습니다:
- 예산 (실행별 한도 및 일일 상한선);
- 적합한 제공업체 (회로 차단기가 닫혀 있고, 크레딧이 있으며, 속도 제한 미만인 경우);
- 실행 중 제공업체 집중도 상한선;
- 과거 품질, 비용 및 지연 시간(latency).
택시 배차 센터를 생각해 보세요: 배차원은 목적지(작업 유형), 긴급성(복잡성), 현재 거리에 있는 차량(제공업체 상태), 그리고 오늘 얼마나 많은 비용을 지출했는지 알고 있습니다. 그는 임원용 차량에게 피자 픽업을 보내지는 않을 것입니다.
2. 상위 2개(top 2)의 서로 다른 계열을 가진 예비 체인
각 작업 유형은 순서가 정해진 체인을 가집니다. 세 가지 계약이 테스트를 위해 고정됩니다:
- 주요 모델과 첫 번째 예비 모델은 서로 다른 공급자로부터 옵니다 (예외: frontier 경로의 Fable 5.1 및 Opus 5.5 쌍).
- 모든 체인은 최소한 세 개의 단계(degrau)를 가집니다.
- 작문(writing), 카피라이팅(copywriting), SEO와 같은 작문 관련 체인은 경제적인 모델을 허용하지 않습니다.
현재 운영 중인 몇 가지 예시:
| 유형 | 주요 모델 (Primary) | 예비 1 (Reserve 1) | 예비 2 (Reserve 2) |
|---|---|---|---|
| research | Grok 4.7 | Perplexity (preset high) | Gemini 3.1 Pro |
| ... |
체인을 순회하는 것은 간단합니다. 주의해야 할 점은 무엇이 실패로 간주되는가입니다:
executar(tarefa):
for alias in cadeia(tarefa.tipo):
alias = aplicar_escada(alias, tarefa) # 섹션 3
...
두 가지 유형의 실패를 분리함으로써 반복적인 비용을 방지했습니다: 경로 외부에서 공급자를 기록하지 않았기 때문에, 한 공급자의 계정이 크레딧 부족 상태가 되었을 때 (2026년 8월 24일 사건), 모니터링되는 모든 작업은 예비 모델에 도달하기 전에 왕복 실패 비용을 지불했습니다. 브랜드는 첫 번째 좋은 응답에서 사라지므로, 재충전(recarga)이 즉각적인 효과를 가집니다.
3. 복잡성 계단(Escada de complexidade)과 frontier 단계
Anthropic 및 OpenAI 계열 내부에는 네 개의 단계가 있습니다:
| 복잡성 | Claude | OpenAI | 입력/출력 (백만 달러당 US$) |
|---|---|---|---|
| 낮음 (baixa) | Haiku 5.5 | GPT-6 Luna | 0.10 / 0.50 모두 동일 (Haiku는 최대 100K 프롬프트까지) |
| ... |
표의 가격은 각 공급자의 공식 표에 명시된 것이며, 2026년 10월 7일 기준입니다. 프로모션 가격은 카탈로그에 포함되지 않습니다: Gemini 3.8 Flash는 2026년 12월 31일까지 프로모션을 진행하며, 라우터는 표 가격으로 결정합니다.
복잡성은 네 가지 신호에서 나옵니다:
degrau frontier는 정책 테이블(FRONTIER_ESCALATION, Sprint 33, 2026년 10월 7일) 뒤에 위치했습니다. '항상' 포트는 architecture, critical_review 및 고복잡도 코드에 유효합니다. '고난이도 요구사항' 포트는 analysis, long_context_synthesis, review, multi_perspective_decomposition 및 작성(Anthropic 계열만 해당)에 유효하며, 복잡도가 높게 분류되고 세션의 frontier 몫이 35% 미만이어야 합니다:
pode_subir(tarefa, família, sessão):
regra = política.get(tarefa.tipo)
se regra é nula ou tarefa.complexidade != ALTA: devolve falso
...
35%는 세션의 전체 모델 할당량에 대해 계산되는 정책 매개변수이며, 세 번째 할당부터 유효해집니다. 스프린트 추정치: 812개의 고난이도 작업 중 34개가 frontier로 가며, 고복잡도 분석은 Opus에서 약 US$ 0.04에서 Fable에서는 약 US$ 0.20으로 상승합니다.
추론 노력 또한 복잡도에 따라 증가합니다: 고난이도 작업의 경우 한 단계 상승(낮음에서 중간, 중간에서 높음). 새로운 모델 스케일의 최상단은 측정된 비용이 발생할 때까지 제외되었습니다.
4. 장애 시 여유를 가진 집중 상한선
각 제공업체는 하나의 실행(run)에서 최대 작업 분율을 받을 수 있습니다: Anthropic 0.45, OpenAI 0.50, Google 0.60, Perplexity 0.50 및 xAI 0.50. 한 제공업체가 할당량을 초과하면, 계획은 다른 계열의 첫 번째 실행 가능한 대안으로 재조정됩니다.
중요한 불변성은 다음과 같습니다:
para cada provedor p:
assert soma(tetos) - tetos[p] >= 1.40
# soma = 2,55; 최악의 경우 (Google 제외) = 1,95
계정이 마감되지 않으면, 서비스가 중단된 공급업체(provider) 때문에 할당 계획을 세우는 것이 불가능해지며 상한선을 초과하게 됩니다.
우선순위 규칙이 충돌을 방지합니다: 예산은 강제 제약(hard constraint)이고 슬라이스 상한선(slice limit)은 유연합니다. 예산이 빠듯할 경우, 리디렉션이 슬라이스 상한선을 제공하고 출구가 없을 때 위반을 기록하지만, 슬라이스를 존중하기 위해 예산을 초과하지는 않습니다.
5. FinOps가 작동하다

세 가지 상한선 계층:
| 계층 | 값 |
|---|---|
| 실행 (execution) | US$ 25 |
| ... |
registrar_custo(chamada):
tente:
gasto = custo_faturado(chamada) or custo_por_tabela(chamada)
...
실제 결함에서 나온 세부 사항:
- 호출자 없는 경고. 2026년 9월 30일까지, 일일 상한선의 80% 및 95% 알림은 로그로만 전송되었습니다: 알림 전송 기능은 존재했지만 아무것도 호출하지 않았습니다. 오늘날에는 메시지와 이메일을 통해 발송되며, 날짜, 범위, 임계값에 따라 디스크에 영구적으로 중복 제거됩니다.
- 청구된 비용이 우선한다. xAI와 Perplexity는 응답에서 비용을 반환하며, 이 값이 테이블별 예상치를 능가합니다.
- 재사용 전에 만료되는 캐시. 2026년 9월 1일부터 9월 24일까지, Claude Sonnet 5는 프롬프트 캐시에 183만 토큰을 기록했지만 읽은 것은 없었습니다. 그 이유는 5분이라는 유효 기간이 Anthropic 호출과 다음 호출 사이에 만료되었기 때문입니다. 2026년 9월 25일부터 기본 유효 기간은 1시간입니다.
- 카탈로그의 잘못된 가격. 2026년 9월 7일 점검에서, GPT-5.6 Luna의 진입 가격이 카탈로그에서는 US$ 1.00이었으나 테이블에서는 US$ 0.20(400% 높음)으로 표시되어 라우터가 저렴한 모델로 우회했습니다.

6. 첫날부터 내가 할 세 가지 것
- 실행 전에 계획을 인쇄하세요. 작업별 모델 유형, 복잡성, 선택 출처 및 예상 비용을 확인합니다. 이때 유일하게 비용이 발생하는 호출은 분해(decomposition)입니다.
- 라우터가 누구를 제외하는지 측정하세요. 7주 동안 (2026년 8월 4일 ~ 9월 23일), Grok은 23가지 유형 중 3가지에서 주요 모델이었기 때문에 1~3회의 호출을 받았습니다. 당시 검색의 주요 모델은 심사위원 점수 0.24점, 비용 US$ 0.59, 호출당 245초가 소요되었습니다. 교체 후 Grok의 검색 검증 호출은 10.3초에 US$ 0.035의 비용이 들었습니다.
- 실시간 API와 비교하세요. 카탈로그를 각 공급자의 모델 목록 엔드포인트와 비교하여 토큰을 소비하지 않으며, 새로운 ID는 진입하기 전에 최소한의 실제 호출을 거칩니다.
라이브 계획(plan), 병렬 파동(parallel waves) 및 라우팅 시뮬레이터는 https://alexandrecaramaschi.com/geo-orchestrator에서 확인할 수 있습니다.
Alexandre Caramaschi는 Nuvini (Nasdaq: NVNI)의 최고 전략 책임자(Chief Strategy Officer)이자 Brasil GEO의 설립자이며, NAIA와 AI Brasil의 공동 창립자입니다. Semantix (Nasdaq)에서는 CMO를 역임했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기

