Pular para o conteúdo

Smart Cost Routing

Introducao

O Smart Cost Routing analisa a complexidade e a intencao de cada prompt, e entao seleciona o modelo mais barato capaz de lidar bem com a tarefa. 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 resultado: voce paga menos pela mesma qualidade de resposta. Perguntas simples vao para modelos baratos. Problemas complexos permanecem no seu modelo padrao. Tudo entre os dois extremos e roteado para a opcao de melhor custo-beneficio, validada por scores de benchmarks e desempenho historico.

Como Funciona

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.

Classificacao de Complexidade

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.3Roteia para o modelo viavel mais barato
Moderado0.3 - 0.7Roteia para o modelo de melhor custo-beneficio
Complexo> 0.7Usa o modelo padrao (sem roteamento)

Prompts complexos sempre ignoram o Smart Cost Routing e vao direto para o modelo padrao configurado.

Deteccao de Intencao

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.

Inteligencia de Modelos: Dados de Benchmarks

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.

De Onde Obtemos os Dados de Benchmarks

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.

Quais Benchmarks Rastreamos

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

Cobertura: 27 dos 51 modelos rastreados possuem dados de benchmarks atualmente. Modelos sem dados de benchmarks recebem um score padrao de 0.5 (neutro, sem bonus nem penalizacao).

Como os Dados Sao Curados

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.

Score de Qualidade Ponderado por Benchmarks

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.

Tabelas de Pesos por Intencao

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%

Exemplo Pratico

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-benchignorado
LiveCodeBenchignorado
MMLU0.8870.100.0887
IFEvalignorado

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

Algoritmo de Selecao de Modelos

Filtragem de Candidatos

Antes da pontuacao, o pool de candidatos e reduzido:

  1. Lista de provedores: Apenas modelos habilitados na lista de provedores do Smart Cost Routing sao considerados.
  2. Teto de custo: O avg_token_cost deve ser menor ou igual ao custo do modelo padrao. O Smart Cost Routing nunca roteia para um modelo mais caro.
  3. Piso de qualidade: O score de qualidade do modelo (de feedback de sessao, feedback automatico, avaliacao manual e/ou benchmarks com pesos dinamicos) deve atingir ou exceder o min_quality.

Estrategia de Selecao

O sistema usa uma abordagem multi-armed bandit:

  • Exploit (90% das requisicoes): Seleciona o candidato com maior score. O score de exploit combina tres fatores:

    score = (taxa_de_sucesso × 0.4) + (qualidade × 0.4) + (economia × 0.2)

    Um modelo precisa de pelo menos 10 requisicoes completadas antes de ser elegivel para exploitation. Ate la, e tratado como nao explorado.

  • Explore (10% das requisicoes): Seleciona o candidato menos testado para coletar dados de desempenho. Isso evita que o sistema fique preso em um otimo local e garante que novos modelos recebam uma avaliacao justa.

  • Bypass: Se nenhum candidato sobreviver a filtragem, ou se o prompt for classificado como Complexo, o modelo padrao e usado sem roteamento.

O Ciclo Auto-Corretivo

O Smart Cost Routing melhora ao longo do tempo atraves de um loop de feedback multi-sinal. O sinal de qualidade combina quatro fontes com pesos dinamicos:

  • Feedback de sessao (NPS dos usuarios finais) — maior confianca quando disponivel
  • Feedback automatico (scoring heuristico + LLM por requisicao) — baseline automatizado
  • Avaliacao manual (positivo/negativo do admin) — alta confianca, baixo volume
  • Scores de benchmark — fallback quando nao existe feedback

Quando feedback de sessao existe (>10 sessoes), ele recebe 50% do peso de qualidade. Quando apenas feedback automatico existe, ele recebe 50%. Quando nao existe feedback algum, benchmarks sao usados a 100%. Isso significa que o sistema comeca com padroes razoaveis e converge para sinais do mundo real conforme os dados se acumulam.

Modelos que consistentemente recebem feedback negativo veem seus scores de qualidade cairem e eventualmente ficam abaixo do limite minimo de qualidade, sendo removidos do pool de candidatos. Isso cria um sistema auto-corretivo: decisoes de roteamento ruins geram feedback negativo, que impede o mesmo erro de acontecer novamente.

Para detalhes sobre como enviar feedback e como ele e processado, consulte Feedback.

Configuracao

  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.

Monitoramento

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

HeaderDescricao
Floopy-Smart-Cost-DecisionSe a requisicao foi roteada (routed), ignorada (bypass) ou usou o padrao (default)
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.

Disponibilidade

O Smart Cost Routing esta disponivel no plano Pro.