Smart Cost Routing
Introducao
Seção intitulada “Introducao”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.
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 | Ranking de valor entre candidatos Simple |
| Moderado | 0.3 - 0.7 | Roteia para o modelo de melhor custo-beneficio |
| Complexo | > 0.7 | Bypass 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.
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 |
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).
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
Seleção e prioridade
Seção intitulada “Seleção e prioridade”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.
Elegibilidade
Seção intitulada “Elegibilidade”- 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.
Smart Cost independente
Seção intitulada “Smart Cost independente”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_ratioSimple 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.
Exploração sem bootstrap ilimitado
Seção intitulada “Exploração sem bootstrap ilimitado”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.
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 | Decisão efetiva: exploit, explore, explore_untested, bypass ou complex_tier |
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.