Pular para o conteúdo
Entrar Começar

Smart Cost Routing

O Smart Cost Routing analisa a complexidade e a intencao de cada prompt, e entao seleciona um modelo elegível com melhor combinação de qualidade, disponibilidade e custo. Ele combina dados curados de benchmarks, feedback em tempo real dos seus usuarios e exploracao multi-armed bandit para melhorar continuamente as decisoes de roteamento.

O Smart Cost busca modelos elegíveis mais baratos, respeitando qualidade e limites de exploração. Requests complexas fazem bypass da otimização de custo e seguem a estratégia que governa o roteamento.

Cada requisicao passa por seis estagios antes de chamar o provedor:

Requisicao → Classificacao de Complexidade e Intencao → Filtragem de Candidatos → Pontuacao → Selecao → Chamada ao Provedor → Loop de Feedback
  1. Classificacao de Complexidade pontua o prompt em uma escala de 0 a 1 usando heuristicas ponderadas.
  2. Deteccao de Intencao identifica o tipo de tarefa (codigo, matematica, raciocinio, geral).
  3. Filtragem de Candidatos remove modelos muito caros ou com qualidade muito baixa.
  4. Pontuacao classifica os candidatos restantes usando dados de benchmarks, historico de feedback e economia de custo.
  5. Selecao escolhe um modelo via estrategia exploit/explore.
  6. Loop de Feedback registra dados de resultado que melhoram decisoes futuras.

Cada prompt recebe um score de complexidade entre 0 e 1 baseado em uma analise heuristica ponderada. Cada sinal e normalizado para um intervalo de 0 a 1 e multiplicado pelo seu peso.

SinalPesoComo e Medido
Numero de mensagens30%Normalizado de 1 a 5 mensagens
Tamanho do system prompt25%Normalizado de 0 a 300 tokens
Uso de ferramentas20%Binario: 1 se ferramentas presentes, 0 caso contrario
Blocos de codigo15%Binario: 1 se ``` detectado no conteudo, 0 caso contrario
Contagem de tokens5%Normalizado de 10 a 500 tokens
Saida JSON5%Binario: 1 se response_format definido, 0 caso contrario

A soma ponderada mapeia para um dos tres niveis:

NivelFaixa de ScoreComportamento
Simples< 0.3Ranking de valor entre candidatos Simple
Moderado0.3 - 0.7Roteia para o modelo de melhor custo-beneficio
Complexo> 0.7Bypass da otimização de custo; segue a estratégia vigente

Prompts complexos fazem bypass do Smart Cost e continuam pelo Feedback-driven ou pela estratégia declarada da regra.

Em paralelo com a pontuacao de complexidade, o classificador detecta o tipo de tarefa escaneando o conteudo das mensagens em busca de palavras-chave e sinais estruturais. A intencao detectada determina quais benchmarks sao mais importantes ao pontuar modelos candidatos.

IntencaoDetectada A Partir DePrioridade
CodigoBlocos de codigo, function, def, class, import, compile, debug, refactorMais alta
Matematica∫, ∑, integral, equation, derivative, calculate, probability, theoremAlta
RaciocinioUso de ferramentas, step by step, analyze, reason, compare, evaluateMedia
GeralPadrao quando nenhuma intencao especifica e detectadaMais baixa

A prioridade determina qual intencao vence quando multiplas sao detectadas. Um prompt contendo blocos de codigo e a palavra analyze e classificado como Codigo, nao Raciocinio.

Este e o nucleo do Smart Cost Routing. O sistema mantem um banco de dados curado de capacidades de modelos, pontuados em benchmarks padronizados. Esses dados impulsionam a estimativa de qualidade que torna as decisoes de roteamento possiveis.

Os scores de benchmarks sao agregados de multiplas fontes autoritativas e cruzados para garantir precisao:

  • Documentacao dos provedores (model cards oficiais da OpenAI, Anthropic, Google, etc.)
  • HuggingFace Open LLM Leaderboard
  • Epoch AI Benchmarks
  • Artificial Analysis
  • LLM Stats / Klu AI / Onyx Leaderboards

Quando as fontes divergem, usamos os numeros oficiais do provedor como referencia primaria e sinalizamos discrepancias para revisao manual.

Cada benchmark mede uma capacidade especifica. O sistema de roteamento usa diferentes benchmarks dependendo da intencao detectada.

BenchmarkO Que MedeUsado Para Intencao
MMLUConhecimento geral em 57 disciplinasGeral, Raciocinio
GPQAQ&A de nivel pos-graduacaoRaciocinio, Matematica
HumanEvalGeracao de codigo Python (pass@1)Codigo
SWE-benchResolucao de issues reais do GitHubCodigo
LiveCodeBenchProblemas de programacao contemporaneosCodigo
MATHMatematica de nivel competicaoMatematica
AIME 2025Problemas do American Invitational Math ExamMatematica
MMLU-ProVariante mais dificil do MMLU com 10 opcoesRaciocinio
IFEvalPrecisao no seguimento de instrucoesGeral
HellaSwagRaciocinio de senso comumGeral
ARCAI2 Reasoning ChallengeRaciocinio

A cobertura de benchmarks depende do catálogo implantado. Modelos sem dados de benchmarks recebem um score padrão de 0.5 (neutro, sem bônus nem penalização).

O sistema de agregacao Midas busca dados de precos e benchmarks para todos os modelos suportados. Cada entrada de modelo contem:

  • Precos: custo de tokens de entrada, saida e cache
  • Benchmarks: normalizados em escala de 0 a 1 para comparacao entre modelos
  • Capacidades: janela de contexto, suporte multimodal, chamada de funcoes
  • Pontos fortes e fracos: notas qualitativas por modelo
  • Recomendacoes: casos de uso sugeridos

Os dados sao atualizados sempre que os provedores publicam novidades. O dataset completo e embutido no binario do gateway em tempo de build, permitindo consultas com latencia zero e sem chamadas de API externas durante o roteamento de requisicoes.

O score de qualidade para um dado modelo e intencao e calculado como uma media ponderada dos scores de benchmarks disponiveis:

benchmark_score = Σ(vᵢ × wᵢ) / Σ(wᵢ)

Onde vᵢ e o score do modelo no benchmark i e wᵢ e o peso daquele benchmark para a intencao detectada. O denominador soma apenas os pesos dos benchmarks que estao realmente presentes para o modelo, de forma que benchmarks ausentes nao penalizam o score.

Intencao Codigo:

BenchmarkPeso
HumanEval35%
SWE-bench30%
LiveCodeBench20%
MMLU10%
IFEval5%

Intencao Matematica:

BenchmarkPeso
MATH40%
GPQA25%
MMLU15%
AIME 202515%
ARC5%

Intencao Raciocinio:

BenchmarkPeso
GPQA30%
MMLU25%
MATH20%
MMLU-Pro15%
ARC10%

Intencao Geral:

BenchmarkPeso
MMLU30%
GPQA15%
HumanEval15%
MATH15%
IFEval15%
HellaSwag10%

GPT-4o com intencao Codigo:

Suponha que o GPT-4o tenha estes scores de benchmark: HumanEval = 0.902, MMLU = 0.887. SWE-bench e LiveCodeBench nao estao disponiveis para este modelo.

BenchmarkScorePesoContribuicao
HumanEval0.9020.350.3157
SWE-bench——ignorado
LiveCodeBench——ignorado
MMLU0.8870.100.0887
IFEval——ignorado

Soma das contribuicoes: 0.3157 + 0.0887 = 0.4044 Soma dos pesos disponiveis: 0.35 + 0.10 = 0.45

Score de qualidade = 0.4044 / 0.45 = 0.898

Somente os pares habilitados na configuração Smart Cost da regra efetiva são candidatos. Lista vazia significa nenhuma otimização; não há descoberta automática de outros modelos.

Quando Feedback-driven está ativo, ele controla qualidade, targets aprovados e o único orçamento de exploração. Smart Cost pode desempatar qualidade equivalente entre targets aprovados, ou contribuir modelos externos exclusivamente nas faixas exploratórias. Um externo com bom feedback continua fora de exploit até ser incluído explicitamente nos targets. Consulte o fluxo completo.

  • Tier configurado deve corresponder ao tier da request.
  • Provider precisa de chave e de suporte catalogado a tools/formato estruturado solicitado.
  • Preços de entrada e saída do candidato e da baseline precisam ser conhecidos; preço desconhecido não é gratuito.
  • Custo médio por token do candidato deve ser estritamente menor que o da baseline.
  • Constraints, confiança e validação shadow exigida continuam valendo, inclusive para não testados.

Sem Feedback-driven ativo, a baseline corresponde à primeira escolha da estratégia declarada. Candidatos testados precisam de pelo menos 10 requests na janela de 7 dias e qualidade ≥ min_quality. A qualidade usa média manual, ou automática na ausência de manual, ou benchmark na ausência de feedback; os pesos dinâmicos por fonte pertencem ao Feedback-driven.

O ranking de exploit usa:

score = 0.4 × success_rate + 0.4 × quality + 0.2 × savings_ratio

Simple e Moderate usam esse score em pools separados pelo tier configurado. Complex faz bypass e retorna à estratégia da regra; no modo conjunto, Feedback-driven continua entre targets aprovados.

Um sorteio define explore_untested em [0, r × p), explore em [r × p, r) e exploit em [r, 1). r é a taxa total e p sua parcela reservada a não testados. Explore usa apenas testados com qualidade suficiente; ExploreUntested usa candidatos com menos de 10 requests e dispensa apenas o piso estatístico de qualidade. Ambos usam Thompson sampling com sucessos e falhas HTTP.

Taxa zero não explora, mesmo sem histórico. Parcela zero não testa novos modelos. Pool vazio retorna ao exploit ou faz bypass, sem redistribuir o orçamento. Falha no histórico faz bypass; uma consulta válida sem amostras permite testes apenas na parcela reservada. A ausência de feedback não liga Smart Cost automaticamente.

  1. Acesse Routing no dashboard.
  2. Crie ou edite uma regra de roteamento.
  3. Ative o Smart Cost Routing.
  4. Configure os seguintes parametros:
    • Taxa de Exploracao: Porcentagem de requisicoes usadas para testar modelos menos explorados (padrao: 10%).
    • Qualidade Minima: Score minimo aceitavel de qualidade para um modelo candidato (padrao: 70%).
    • Provedores: Restrinja quais provedores e modelos podem ser usados como alvos de roteamento.

Cada resposta roteada pelo Smart Cost Routing inclui headers que informam o que aconteceu:

HeaderDescricao
Floopy-Smart-Cost-DecisionDecisão efetiva: exploit, explore, explore_untested, bypass ou complex_tier
Floopy-ModelO modelo que realmente serviu a requisicao

Use esses headers na sua aplicacao para registrar decisoes de roteamento, construir dashboards ou disparar alertas quando o comportamento de roteamento mudar inesperadamente.

O Smart Cost Routing esta disponivel no plano Pro.