Smart Cost Routing
Introducao
Seção intitulada “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
Seção intitulada “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- Classificacao de Complexidade pontua o prompt em uma escala de 0 a 1 usando heuristicas ponderadas.
- Deteccao de Intencao identifica o tipo de tarefa (codigo, matematica, raciocinio, geral).
- Filtragem de Candidatos remove modelos muito caros ou com qualidade muito baixa.
- Pontuacao classifica os candidatos restantes usando dados de benchmarks, historico de feedback e economia de custo.
- Selecao escolhe um modelo via estrategia exploit/explore.
- Loop de Feedback registra dados de resultado que melhoram decisoes futuras.
Classificacao de Complexidade
Seção intitulada “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.
| Sinal | Peso | Como e Medido |
|---|---|---|
| Numero de mensagens | 30% | Normalizado de 1 a 5 mensagens |
| Tamanho do system prompt | 25% | Normalizado de 0 a 300 tokens |
| Uso de ferramentas | 20% | Binario: 1 se ferramentas presentes, 0 caso contrario |
| Blocos de codigo | 15% | Binario: 1 se ``` detectado no conteudo, 0 caso contrario |
| Contagem de tokens | 5% | Normalizado de 10 a 500 tokens |
| Saida JSON | 5% | Binario: 1 se response_format definido, 0 caso contrario |
A soma ponderada mapeia para um dos tres niveis:
| Nivel | Faixa de Score | Comportamento |
|---|---|---|
| Simples | < 0.3 | Roteia para o modelo viavel mais barato |
| Moderado | 0.3 - 0.7 | Roteia para o modelo de melhor custo-beneficio |
| Complexo | > 0.7 | Usa o modelo padrao (sem roteamento) |
Prompts complexos sempre ignoram o Smart Cost Routing e vao direto para o modelo padrao configurado.
Deteccao de Intencao
Seção intitulada “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.
| Intencao | Detectada A Partir De | Prioridade |
|---|---|---|
| Codigo | Blocos de codigo, function, def, class, import, compile, debug, refactor | Mais alta |
| Matematica | ∫, ∑, integral, equation, derivative, calculate, probability, theorem | Alta |
| Raciocinio | Uso de ferramentas, step by step, analyze, reason, compare, evaluate | Media |
| Geral | Padrao quando nenhuma intencao especifica e detectada | Mais 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
Seção intitulada “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
Seção intitulada “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
Seção intitulada “Quais Benchmarks Rastreamos”Cada benchmark mede uma capacidade especifica. O sistema de roteamento usa diferentes benchmarks dependendo da intencao detectada.
| Benchmark | O Que Mede | Usado Para Intencao |
|---|---|---|
| MMLU | Conhecimento geral em 57 disciplinas | Geral, Raciocinio |
| GPQA | Q&A de nivel pos-graduacao | Raciocinio, Matematica |
| HumanEval | Geracao de codigo Python (pass@1) | Codigo |
| SWE-bench | Resolucao de issues reais do GitHub | Codigo |
| LiveCodeBench | Problemas de programacao contemporaneos | Codigo |
| MATH | Matematica de nivel competicao | Matematica |
| AIME 2025 | Problemas do American Invitational Math Exam | Matematica |
| MMLU-Pro | Variante mais dificil do MMLU com 10 opcoes | Raciocinio |
| IFEval | Precisao no seguimento de instrucoes | Geral |
| HellaSwag | Raciocinio de senso comum | Geral |
| ARC | AI2 Reasoning Challenge | Raciocinio |
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
Seção intitulada “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
Seção intitulada “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
Seção intitulada “Tabelas de Pesos por Intencao”Intencao Codigo:
| Benchmark | Peso |
|---|---|
| HumanEval | 35% |
| SWE-bench | 30% |
| LiveCodeBench | 20% |
| MMLU | 10% |
| IFEval | 5% |
Intencao Matematica:
| Benchmark | Peso |
|---|---|
| MATH | 40% |
| GPQA | 25% |
| MMLU | 15% |
| AIME 2025 | 15% |
| ARC | 5% |
Intencao Raciocinio:
| Benchmark | Peso |
|---|---|
| GPQA | 30% |
| MMLU | 25% |
| MATH | 20% |
| MMLU-Pro | 15% |
| ARC | 10% |
Intencao Geral:
| Benchmark | Peso |
|---|---|
| MMLU | 30% |
| GPQA | 15% |
| HumanEval | 15% |
| MATH | 15% |
| IFEval | 15% |
| HellaSwag | 10% |
Exemplo Pratico
Seção intitulada “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.
| Benchmark | Score | Peso | Contribuicao |
|---|---|---|---|
| HumanEval | 0.902 | 0.35 | 0.3157 |
| SWE-bench | — | — | ignorado |
| LiveCodeBench | — | — | ignorado |
| MMLU | 0.887 | 0.10 | 0.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
Algoritmo de Selecao de Modelos
Seção intitulada “Algoritmo de Selecao de Modelos”Filtragem de Candidatos
Seção intitulada “Filtragem de Candidatos”Antes da pontuacao, o pool de candidatos e reduzido:
- Lista de provedores: Apenas modelos habilitados na lista de provedores do Smart Cost Routing sao considerados.
- Teto de custo: O
avg_token_costdeve ser menor ou igual ao custo do modelo padrao. O Smart Cost Routing nunca roteia para um modelo mais caro. - 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
Seção intitulada “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
Seção intitulada “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
Seção intitulada “Configuracao”- Acesse Routing no dashboard.
- Crie ou edite uma regra de roteamento.
- Ative o Smart Cost Routing.
- 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
Seção intitulada “Monitoramento”Cada resposta roteada pelo Smart Cost Routing inclui headers que informam o que aconteceu:
| Header | Descricao |
|---|---|
Floopy-Smart-Cost-Decision | Se a requisicao foi roteada (routed), ignorada (bypass) ou usou o padrao (default) |
Floopy-Model | O 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
Seção intitulada “Disponibilidade”O Smart Cost Routing esta disponivel no plano Pro.