diff --git a/README.md b/README.md index f0233d7..0268068 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,8 @@ Consulte o [relatório](evidence/RELATORIO.md) e o [resumo estruturado](evidence ## Comparativo de 100 intenções cotidianas — executado em 15/10/2026 +Veja o [sumário executivo e o consolidado de todos os modelos testados](benchmarks/README.md). + Foi executada a mesma lista de 100 intenções nos dois candidatos de uso geral, Grok 4.3 e Grok 4.20 non-reasoning: 25 de culinária, 25 de esportes, 25 de clima e 25 de entretenimento por modelo. As 200 interações tiveram HTTP 200 e busca confirmada, sem retries ou duplicação de chamadas. Os hashes do payload compartilhado coincidiram nos 100 pares. - [Lista das 100 intenções](benchmarks/INTENCOES.md). @@ -194,7 +196,7 @@ Foi executada a mesma lista de 100 intenções nos dois candidatos de uso geral, **Total: US$ 11.243038, incluindo US$ 4.795 de websearch.** A busca custa US$ 5 por 1000 chamadas, conforme os SKUs Oracle congelados no experimento. Entrada sem cache e saída custam US$ 1,25 e US$ 2,50 por milhão de tokens; cache custa US$ 0,20 por milhão para ambos os modelos. -Neste lote, **Grok 4.3 custou 43.38% menos**, com menor custo em 95 dos 100 pares. O menor custo veio principalmente de menos buscas e menos contexto processado. A mediana de tempo foi 10.59s para Grok 4.3 e 13.55s para 4.20 non-reasoning. Isso não estabelece superioridade factual: o experimento mede consumo, execução da busca e latência observada, não pontua a qualidade das respostas. +Neste lote, **Grok 4.3 custou 43.38% menos**, com menor custo em 95 dos 100 pares. O menor custo veio principalmente de menos buscas e menos contexto processado. A mediana de tempo foi 10.60s para Grok 4.3 e 13.55s para 4.20 non-reasoning. Isso não estabelece superioridade factual: o experimento mede consumo, execução da busca e latência observada, não pontua a qualidade das respostas. - [Relatório completo com custos por categoria](benchmarks/results/comparison-2026-10-15/REPORT.md). - [CSV das 200 interações, com prompt e composição de custo](benchmarks/results/comparison-2026-10-15/interactions.csv). diff --git a/benchmarks/README.md b/benchmarks/README.md new file mode 100644 index 0000000..86d73f6 --- /dev/null +++ b/benchmarks/README.md @@ -0,0 +1,178 @@ +# Benchmarks Grok via OCI — consumo, ferramentas e custo + +Consolidação dos testes realizados em **14 e 15/10/2026**, com custos valorados pela lista Oracle consultada em **15/10/2026**. Todos os valores financeiros estão em **USD**, para processamento padrão e contexto curto. + +## Sumário executivo + +O teste principal enviou **as mesmas 100 intenções a dois modelos**, totalizando **200 interações** sobre culinária, esportes, clima e entretenimento. Todas tiveram HTTP 200 e busca web confirmada. O custo variável calculado foi de **US$ 11,243038**, incluindo **US$ 4,795 de websearch**. + +O **Grok 4.3 custou 43,38% menos** que o Grok 4.20 non-reasoning e foi mais barato em **95 dos 100 pares**. Também apresentou menor mediana de tempo neste lote: **10,60 s**, contra **13,55 s**. Os dois modelos têm a mesma tarifa unitária na faixa usada; o comportamento de busca e o volume de contexto explicam a diferença financeira observada. + +Incluindo as validações anteriores da POC e a triagem dos sete identificadores Grok testados, o inventário financeiro reúne **210 chamadas com uso preservado**, **7.166.807 tokens** e **981 chamadas de websearch**, por **US$ 11,505274**. Esse total histórico é distinto dos US$ 11,243038 do benchmark de 200 interações. + +A conclusão sustentada pelos dados é de **menor custo operacional do Grok 4.3 entre os dois finalistas neste conjunto com websearch**. Não foi realizada pontuação de correção factual ou qualidade editorial, nem o lote de 100 intenções foi executado nos demais modelos. + +## Escopo e evidências + +| Etapa | Data | Chamadas | Objetivo | +|---|---|---:|---| +| Validação da POC | 14/10/2026 | 3 | Confirmar rotas Responses, REST público e busca com Grok 4.3 | +| Matriz de compatibilidade | 14/10/2026 | 7 | Uma consulta de notícia por identificador Grok | +| Benchmark pareado | 15/10/2026 | 200 | As mesmas 100 intenções em Grok 4.20 non-reasoning e Grok 4.3 | +| **Total com uso preservado** | **14–15/10/2026** | **210** | **Inventário financeiro, não uma única amostra comparável** | + +Os sete identificadores incluem os aliases `xai.grok-4.20-reasoning` e `xai.grok-4.20-non-reasoning`, que, na documentação consultada, apontam para as versões `0309` correspondentes. Portanto, sete identificadores testados não representam sete configurações independentes de modelo. Voice Agent e Multi-Agent não integram este estudo. + +As três etapas são contabilizadas sem sobreposição. Os erros de diagnóstico sem contadores de uso não entram no total: ausência de `usage` não é tratada como prova de custo zero. O consolidado não substitui a fatura OCI. + +## Resultado financeiro consolidado + +### Preços de referência + +Valores por **1 milhão de tokens**, exceto websearch: + +| Família comercial | Entrada sem cache USD | Entrada em cache USD | Saída USD | +|---|---:|---:|---:| +| Grok 4.20 — rubrica comercial Grok 4.2 | 1,25 | 0,20 | 2,50 | +| Grok 4.3 | 1,25 | 0,20 | 2,50 | +| Grok 4.6 | 2,00 | 0,50 | 6,00 | +| Grok 4.7 | 2,00 | 0,50 | 6,00 | + +**Websearch nativo xAI via OCI: US$ 5,00 por 1.000 chamadas**, SKU `B112610`. A contabilização usa o número de chamadas tarifadas informado pelo provedor, não o número de perguntas nem uma contagem manual de eventos. + +Fontes: [lista de preços Oracle](https://www.oracle.com/cloud/price-list/), [preços congelados do benchmark](oracle-prices.json) e [consolidado com SKUs complementares de 4.6/4.7](financial-consolidation.json). O consolidado registra preços, datas, hashes e contadores históricos suficientes para refazer a soma. O arquivo original de preços do lote foi preservado para manter o hash do manifesto. + +### Custos por etapa + +| Etapa | Entrada sem cache USD | Cache USD | Saída USD | Websearch USD | Total USD | +|---|---:|---:|---:|---:|---:| +| Validação da POC | 0,023511 | 0,002534 | 0,008370 | 0,045000 | 0,079416 | +| Matriz de compatibilidade | 0,091164 | 0,003290 | 0,023366 | 0,065000 | 0,182820 | +| Benchmark pareado | 5,428386 | 0,501094 | 0,518558 | 4,795000 | 11,243038 | +| **Total** | **5,543062** | **0,506918** | **0,550294** | **4,905000** | **11,505274** | + +### Todos os identificadores testados + +A tabela abaixo consolida financeiramente as três etapas. Os tamanhos de amostra são diferentes; a média histórica é descritiva e **não deve ser usada como ranking entre os sete identificadores**. + +| Identificador OCI | Chamadas | Custo dos tokens¹ USD | Websearch USD | Total USD | Média histórica USD | +|---|---:|---:|---:|---:|---:| +| `xai.grok-4.20-0309-non-reasoning` | 1 | 0,011960 | 0,010000 | 0,021960 | 0,021960 | +| `xai.grok-4.20-0309-reasoning` | 1 | 0,013099 | 0,005000 | 0,018099 | 0,018099 | +| `xai.grok-4.20-non-reasoning` | 101 | 3,956892 | 3,245000 | 7,201892 | 0,071306 | +| `xai.grok-4.20-reasoning` | 1 | 0,012605 | 0,010000 | 0,022605 | 0,022605 | +| `xai.grok-4.3` | 104 | 2,549742 | 1,615000 | 4,164742 | 0,040046 | +| `xai.grok-4.6` | 1 | 0,020772 | 0,005000 | 0,025772 | 0,025772 | +| `xai.grok-4.7` | 1 | 0,035204 | 0,015000 | 0,050204 | 0,050204 | + +¹ Inclui entrada sem cache, cache e saída; tokens de raciocínio já estão na saída. Valores são arredondados somente na apresentação; o [JSON consolidado](financial-consolidation.json) preserva a precisão de cálculo. + +### Comparação controlada — 100 intenções por modelo + +| Modelo | Total USD | Média USD | Mediana USD | P95 USD | Websearch USD | Mediana de tempo (s) | +|---|---:|---:|---:|---:|---:|---:| +| `xai.grok-4.20-non-reasoning` | 7,178728 | 0,071787 | 0,069751 | 0,094497 | 3,235000 | 13,55 | +| `xai.grok-4.3` | 4,064310 | 0,040643 | 0,038978 | 0,056172 | 1,560000 | 10,60 | + +A economia do Grok 4.3 neste lote foi de **US$ 3,114417 (43,38%)**. O P95 é o percentil empírico pelo método de posto mais próximo; não é uma garantia de custo máximo de futuras interações. + +| Categoria — 25 intenções por modelo | Grok 4.20 non-reasoning USD | Grok 4.3 USD | Economia com Grok 4.3 | +|---|---:|---:|---:| +| Culinária | 1,676109 | 1,053508 | 37,15% | +| Esportes | 1,881921 | 0,976945 | 48,09% | +| Clima | 1,818597 | 0,966295 | 46,87% | +| Entretenimento | 1,802101 | 1,067563 | 40,76% | + +## Metodologia + +1. **Triagem de compatibilidade:** uma consulta sobre notícia atual por identificador, executando a rota `/api/chat` em processos locais isolados via FastAPI TestClient com inferência OCI real. HTTP 200 isolado não foi suficiente para confirmar busca. Os parâmetros e o runtime dessa etapa estão na [matriz original](../evidence/grok-websearch-models.json). +2. **Conjunto pareado:** seleção prévia de 100 intenções, com 25 de cada tema. As perguntas exigem informação atual, como previsão do tempo, agenda, preços, resultados e disponibilidade. Os [prompts e hashes](intents.json) e a [lista legível](INTENCOES.md) foram congelados com referência a 15/10/2026. +3. **Envio uniforme:** o coletor do benchmark chama diretamente a Responses API OCI em `us-chicago-1`, endpoint `/v1/responses`, com payload compartilhado idêntico entre os candidatos, diferindo somente `model`. Não chama a API direta da xAI. Cada interação é independente, sem histórico de conversa. +4. **Configuração:** `tools: [{"type":"web_search"}]`, `store:false`, máximo de 2.400 tokens de saída e instrução de resposta em até 200 palavras. Temperatura e esforço de raciocínio ficam nos padrões do serviço. Há duas inferências simultâneas, pareadas por intenção e alternadas entre temas. +5. **Piloto e retomada:** as quatro primeiras intenções, uma por tema, geraram oito chamadas e integram as 200 finais. Não houve retries automáticos nem repetição do piloto. O controle de orçamento pausou após 170 chamadas; a retomada enviou somente as 30 restantes. +6. **Confirmação de busca:** exigir HTTP 200, evento `web_search_call` com ação `search` e status `completed`, fontes não vazias e citações estruturadas. Todas as 200 interações satisfizeram o critério. +7. **Auditoria:** conferir 200 chamadas únicas, 100 pares, 25 intenções por tema/modelo, hashes iguais em cada par e composição aritmética dos custos. Há zero interações com custo desconhecido no lote concluído. + +A cobrança por interação é calculada assim: + +```text +entrada sem cache = input_tokens - cached_tokens +custo = (entrada sem cache × tarifa entrada + + cached_tokens × tarifa cache + + output_tokens × tarifa saída) / 1.000.000 + + web_search_calls × 5 / 1.000 +``` + +`cached_tokens` é subconjunto da entrada, e `reasoning_tokens` é subconjunto da saída: nenhum deles é somado novamente. O contexto recuperado pelas ferramentas já aparece nos tokens informados pelo serviço. O contador de chamadas tarifadas é `usage.server_side_tool_usage_details.web_search_calls`; aberturas de página e eventos falhos não são tarifados por uma contagem inferida nossa. `cost_in_usd_ticks` é preservado nas evidências históricas, mas não é a fonte da conversão financeira deste relatório. + +O custo corresponde ao **uso medido valorado a preço de lista**, sem impostos, descontos contratuais, VM, rede ou armazenamento. As chamadas de 14/10 foram reprecificadas pela referência de 15/10 para produzir um consolidado homogêneo. Não há conciliação com faturamento ou análise de todas as possíveis despesas da conta. + +## Estatísticas consolidadas de tokens e tool calls + +### Inventário histórico por identificador — 210 interações + +| Identificador OCI | Entrada² | Cache² | Saída³ | Raciocínio³ | Total de tokens | Chamadas websearch | +|---|---:|---:|---:|---:|---:|---:| +| `xai.grok-4.20-0309-non-reasoning` | 10.036 | 1.024 | 196 | 0 | 10.232 | 2 | +| `xai.grok-4.20-0309-reasoning` | 7.712 | 256 | 1.491 | 1.375 | 9.203 | 1 | +| `xai.grok-4.20-non-reasoning` | 4.826.397 | 2.198.656 | 92.994 | 0 | 4.919.391 | 649 | +| `xai.grok-4.20-reasoning` | 7.882 | 1.024 | 1.531 | 1.329 | 9.413 | 2 | +| `xai.grok-4.3` | 2.072.301 | 321.792 | 118.899 | 72.106 | 2.191.200 | 323 | +| `xai.grok-4.6` | 8.712 | 1.280 | 878 | 732 | 9.590 | 1 | +| `xai.grok-4.7` | 16.570 | 3.456 | 1.208 | 988 | 17.778 | 3 | +| **Total** | **6.949.610** | **2.527.488** | **217.197** | **76.530** | **7.166.807** | **981** | + +² A coluna entrada já inclui cache. ³ A coluna saída já inclui raciocínio. **Total de tokens = entrada + saída**. Os sete testes pontuais e as três validações da POC não são uma amostra equivalente ao lote pareado. + +### Lote pareado isolado — 200 interações + +| Métrica | Grok 4.20 non-reasoning | Grok 4.3 | Total do lote | +|---|---:|---:|---:| +| Tokens de entrada, cache incluído | 4.815.453 | 2.032.728 | 6.848.181 | +| Tokens em cache | 2.197.632 | 307.840 | 2.505.472 | +| Tokens de saída, raciocínio incluído | 92.770 | 114.653 | 207.423 | +| Tokens de raciocínio | 0 | 69.002 | 69.002 | +| Chamadas tarifadas de websearch | 647 | 312 | 959 | +| Total de tokens: entrada + saída | 4.908.223 | 2.147.381 | 7.055.604 | +| Buscas tarifadas por interação, média | 6,47 | 3,12 | 4,795 | +| Interações com busca confirmada | 100/100 | 100/100 | 200/200 | + +As **959 chamadas de busca** custaram **US$ 4,795**, ou **42,65%** do custo do lote. O Grok 4.3 realizou **51,78% menos buscas**. Embora tenha gerado mais tokens de saída, incluindo 69.002 de raciocínio, sua menor entrada e menor quantidade de buscas compensaram esse componente de custo. + +## Limitações e conclusão + +**Recomendação:** manter Grok 4.3 como padrão de custo para o conjunto de consultas cotidianas com websearch avaliado nesta POC. O ganho observado foi consistente no total, nas quatro categorias e em 95% dos pares; a tarifa unitária igual reforça a importância de medir a execução completa, incluindo ferramentas e contexto. + +Grok 4.6, Grok 4.7 e as variantes reasoning da família 4.20 tiveram busca confirmada na triagem, mas somente uma consulta por identificador. Não há evidência neste repositório para classificá-los acima ou abaixo dos finalistas em qualidade, custo médio de 100 intenções ou custo-benefício geral. Os aliases `0309` e sem data também não devem ser tratados como alternativas independentes. + +Este estudo mede custo, uso de ferramentas e latência observada. Não pontua correção factual, completude, precisão de datas, cobertura das fontes ou satisfação do usuário. Mais buscas não provam maior qualidade; menos buscas não provam pior qualidade. Uma execução por intenção, cache real do serviço e conteúdo volátil da web limitam a extrapolação. Os resultados valem para os identificadores, região, endpoint, preços e datas documentados. + +Para uma decisão mais ampla de produto, o próximo passo é avaliar as respostas dos mesmos 100 pares com uma rubrica factual e de utilidade, antes de transformar a economia em uma conclusão de custo-benefício com qualidade equivalente. + +## Arquivos e reprodução + +| Arquivo | Conteúdo | +|---|---| +| [INTENCOES.md](INTENCOES.md) / [intents.json](intents.json) | Lista de 100 intenções e prompts exatos com hashes | +| [PROTOCOLO.md](PROTOCOLO.md) | Regras de execução, custos, orçamento e retomada | +| [oracle-prices.json](oracle-prices.json) | Preços e SKUs congelados do lote pareado | +| [financial-consolidation.json](financial-consolidation.json) | Consolidação das 210 chamadas e SKUs dos sete identificadores | +| [run_benchmark.py](run_benchmark.py) | Coletor: padrão dry run; execução paga exige flags e orçamento | +| [report.py](report.py) | Regenera relatório do lote a partir dos registros locais, sem inferência | +| [Relatório do lote](results/comparison-2026-10-15/REPORT.md) | Custos e estatísticas por categoria | +| [CSV por interação](results/comparison-2026-10-15/interactions.csv) | 200 linhas com prompts, tokens e composição de custo | +| [Uso medido](results/comparison-2026-10-15/measured-usage.json) | Métricas selecionadas de cada chamada do lote | +| [Resumo](results/comparison-2026-10-15/summary.json) / [hashes](results/comparison-2026-10-15/sha256.json) | Totais, manifesto e integridade dos artefatos | +| [Matriz original dos sete identificadores](../evidence/grok-websearch-models.json) | Resultados dos testes pontuais de compatibilidade | + +Executados na raiz do repositório: + +```bash +# Validar o dataset sem inferência: +python benchmarks/run_benchmark.py + +# Regenerar o relatório se os registros locais da execução estiverem presentes: +python benchmarks/report.py +``` + +Para uma nova execução paga, consultar o [protocolo](PROTOCOLO.md), definir orçamento autorizado e usar um novo `--run-id` quando apropriado. Credenciais, respostas brutas e registros operacionais não são versionados. Este README e o consolidado financeiro foram produzidos a partir das evidências existentes, sem novas chamadas de inferência. diff --git a/benchmarks/financial-consolidation.json b/benchmarks/financial-consolidation.json new file mode 100644 index 0000000..407a614 --- /dev/null +++ b/benchmarks/financial-consolidation.json @@ -0,0 +1,840 @@ +{ + "scope": "Todas as 210 chamadas bem-sucedidas com contadores de uso preservados: 3 de validação, 7 de compatibilidade e 200 do benchmark. Erros sem usage ficam fora; não se presume custo zero.", + "valuation_date": "2026-10-15", + "currency": "USD", + "pricing_basis": "Uso medido de 14 e 15/10 reprecificado pela lista Oracle de 15/10/2026, padrão e contexto curto; não é fatura conciliada.", + "sources": { + "paired_benchmark": "results/comparison-2026-10-15/measured-usage.json", + "compatibility_matrix": "../evidence/grok-websearch-models.json", + "poc_validation": "Contadores de três chamadas preservados neste JSON; respostas brutas e inventário original permanecem locais." + }, + "pricing": { + "list_url": "https://www.oracle.com/cloud/price-list/", + "data_url": "https://www.oracle.com/a/ocom/docs/pricing/cloud-price-list.json", + "supplement_checked_at": "2026-10-15T14:16:43.202628+00:00", + "supplement_data_sha256": "354aa11836c07e2c065700b0efd80253e8c12d9e643e55160fc1ccd9ea7235d9", + "rates": { + "grok-4.20": { + "input_short": { + "sku": "B111910", + "usd": 1.25 + }, + "cached_short": { + "sku": "B111911", + "usd": 0.2 + }, + "output_short": { + "sku": "B112076", + "usd": 2.5 + } + }, + "grok-4.3": { + "input_short": { + "sku": "B112080", + "usd": 1.25 + }, + "cached_short": { + "sku": "B112081", + "usd": 0.2 + }, + "output_short": { + "sku": "B112082", + "usd": 2.5 + } + }, + "grok-4.6": { + "input_short": { + "sku": "B112086", + "usd": 2 + }, + "cached_short": { + "sku": "B112087", + "usd": 0.5 + }, + "output_short": { + "sku": "B112589", + "usd": 6 + } + }, + "grok-4.7": { + "input_short": { + "sku": "B113303", + "usd": 2 + }, + "cached_short": { + "sku": "B113304", + "usd": 0.5 + }, + "output_short": { + "sku": "B113305", + "usd": 6 + } + } + }, + "web_search": { + "sku": "B112610", + "usd_per_1000": 5 + } + }, + "total": { + "interactions": 210, + "input_tokens": 6949610, + "cached_input_tokens": 2527488, + "output_tokens": 217197, + "reasoning_tokens": 76530, + "total_tokens": 7166807, + "web_search_calls": 981, + "input_usd": "5.54306200", + "cached_input_usd": "0.5069184", + "output_usd": "0.5502935", + "web_search_usd": "4.905", + "total_usd": "11.50527390", + "mean_usd": "0.05478701857142857142857142857" + }, + "by_stage": { + "poc_validation": { + "interactions": 3, + "input_tokens": 31481, + "cached_input_tokens": 12672, + "output_tokens": 3348, + "reasoning_tokens": 2370, + "total_tokens": 34829, + "web_search_calls": 9, + "input_usd": "0.02351125", + "cached_input_usd": "0.0025344", + "output_usd": "0.0083700", + "web_search_usd": "0.045", + "total_usd": "0.07941565", + "mean_usd": "0.02647188333333333333333333333" + }, + "compatibility_matrix": { + "interactions": 7, + "input_tokens": 69948, + "cached_input_tokens": 9344, + "output_tokens": 6426, + "reasoning_tokens": 5158, + "total_tokens": 76374, + "web_search_calls": 13, + "input_usd": "0.0911645", + "cached_input_usd": "0.0032896", + "output_usd": "0.0233660", + "web_search_usd": "0.065", + "total_usd": "0.1828201", + "mean_usd": "0.02611715714285714285714285714" + }, + "paired_benchmark": { + "interactions": 200, + "input_tokens": 6848181, + "cached_input_tokens": 2505472, + "output_tokens": 207423, + "reasoning_tokens": 69002, + "total_tokens": 7055604, + "web_search_calls": 959, + "input_usd": "5.42838625", + "cached_input_usd": "0.5010944", + "output_usd": "0.5185575", + "web_search_usd": "4.795", + "total_usd": "11.24303815", + "mean_usd": "0.05621519075" + } + }, + "by_model": { + "xai.grok-4.20-0309-non-reasoning": { + "interactions": 1, + "input_tokens": 10036, + "cached_input_tokens": 1024, + "output_tokens": 196, + "reasoning_tokens": 0, + "total_tokens": 10232, + "web_search_calls": 2, + "input_usd": "0.011265", + "cached_input_usd": "0.0002048", + "output_usd": "0.00049", + "web_search_usd": "0.01", + "total_usd": "0.0219598", + "mean_usd": "0.0219598" + }, + "xai.grok-4.20-0309-reasoning": { + "interactions": 1, + "input_tokens": 7712, + "cached_input_tokens": 256, + "output_tokens": 1491, + "reasoning_tokens": 1375, + "total_tokens": 9203, + "web_search_calls": 1, + "input_usd": "0.00932", + "cached_input_usd": "0.0000512", + "output_usd": "0.0037275", + "web_search_usd": "0.005", + "total_usd": "0.0180987", + "mean_usd": "0.0180987" + }, + "xai.grok-4.20-non-reasoning": { + "interactions": 101, + "input_tokens": 4826397, + "cached_input_tokens": 2198656, + "output_tokens": 92994, + "reasoning_tokens": 0, + "total_tokens": 4919391, + "web_search_calls": 649, + "input_usd": "3.28467625", + "cached_input_usd": "0.4397312", + "output_usd": "0.2324850", + "web_search_usd": "3.245", + "total_usd": "7.20189245", + "mean_usd": "0.07130586584158415841584158416" + }, + "xai.grok-4.20-reasoning": { + "interactions": 1, + "input_tokens": 7882, + "cached_input_tokens": 1024, + "output_tokens": 1531, + "reasoning_tokens": 1329, + "total_tokens": 9413, + "web_search_calls": 2, + "input_usd": "0.0085725", + "cached_input_usd": "0.0002048", + "output_usd": "0.0038275", + "web_search_usd": "0.01", + "total_usd": "0.0226048", + "mean_usd": "0.0226048" + }, + "xai.grok-4.3": { + "interactions": 104, + "input_tokens": 2072301, + "cached_input_tokens": 321792, + "output_tokens": 118899, + "reasoning_tokens": 72106, + "total_tokens": 2191200, + "web_search_calls": 323, + "input_usd": "2.18813625", + "cached_input_usd": "0.0643584", + "output_usd": "0.2972475", + "web_search_usd": "1.615", + "total_usd": "4.16474215", + "mean_usd": "0.04004559759615384615384615385" + }, + "xai.grok-4.6": { + "interactions": 1, + "input_tokens": 8712, + "cached_input_tokens": 1280, + "output_tokens": 878, + "reasoning_tokens": 732, + "total_tokens": 9590, + "web_search_calls": 1, + "input_usd": "0.014864", + "cached_input_usd": "0.00064", + "output_usd": "0.005268", + "web_search_usd": "0.005", + "total_usd": "0.025772", + "mean_usd": "0.025772" + }, + "xai.grok-4.7": { + "interactions": 1, + "input_tokens": 16570, + "cached_input_tokens": 3456, + "output_tokens": 1208, + "reasoning_tokens": 988, + "total_tokens": 17778, + "web_search_calls": 3, + "input_usd": "0.026228", + "cached_input_usd": "0.001728", + "output_usd": "0.007248", + "web_search_usd": "0.015", + "total_usd": "0.050204", + "mean_usd": "0.050204" + } + }, + "compatibility_matrix_by_model": { + "xai.grok-4.20-0309-non-reasoning": { + "interactions": 1, + "input_tokens": 10036, + "cached_input_tokens": 1024, + "output_tokens": 196, + "reasoning_tokens": 0, + "total_tokens": 10232, + "web_search_calls": 2, + "input_usd": "0.011265", + "cached_input_usd": "0.0002048", + "output_usd": "0.00049", + "web_search_usd": "0.01", + "total_usd": "0.0219598", + "mean_usd": "0.0219598" + }, + "xai.grok-4.20-0309-reasoning": { + "interactions": 1, + "input_tokens": 7712, + "cached_input_tokens": 256, + "output_tokens": 1491, + "reasoning_tokens": 1375, + "total_tokens": 9203, + "web_search_calls": 1, + "input_usd": "0.00932", + "cached_input_usd": "0.0000512", + "output_usd": "0.0037275", + "web_search_usd": "0.005", + "total_usd": "0.0180987", + "mean_usd": "0.0180987" + }, + "xai.grok-4.20-non-reasoning": { + "interactions": 1, + "input_tokens": 10944, + "cached_input_tokens": 1024, + "output_tokens": 224, + "reasoning_tokens": 0, + "total_tokens": 11168, + "web_search_calls": 2, + "input_usd": "0.0124", + "cached_input_usd": "0.0002048", + "output_usd": "0.00056", + "web_search_usd": "0.01", + "total_usd": "0.0231648", + "mean_usd": "0.0231648" + }, + "xai.grok-4.20-reasoning": { + "interactions": 1, + "input_tokens": 7882, + "cached_input_tokens": 1024, + "output_tokens": 1531, + "reasoning_tokens": 1329, + "total_tokens": 9413, + "web_search_calls": 2, + "input_usd": "0.0085725", + "cached_input_usd": "0.0002048", + "output_usd": "0.0038275", + "web_search_usd": "0.01", + "total_usd": "0.0226048", + "mean_usd": "0.0226048" + }, + "xai.grok-4.3": { + "interactions": 1, + "input_tokens": 8092, + "cached_input_tokens": 1280, + "output_tokens": 898, + "reasoning_tokens": 734, + "total_tokens": 8990, + "web_search_calls": 2, + "input_usd": "0.008515", + "cached_input_usd": "0.000256", + "output_usd": "0.002245", + "web_search_usd": "0.01", + "total_usd": "0.021016", + "mean_usd": "0.021016" + }, + "xai.grok-4.6": { + "interactions": 1, + "input_tokens": 8712, + "cached_input_tokens": 1280, + "output_tokens": 878, + "reasoning_tokens": 732, + "total_tokens": 9590, + "web_search_calls": 1, + "input_usd": "0.014864", + "cached_input_usd": "0.00064", + "output_usd": "0.005268", + "web_search_usd": "0.005", + "total_usd": "0.025772", + "mean_usd": "0.025772" + }, + "xai.grok-4.7": { + "interactions": 1, + "input_tokens": 16570, + "cached_input_tokens": 3456, + "output_tokens": 1208, + "reasoning_tokens": 988, + "total_tokens": 17778, + "web_search_calls": 3, + "input_usd": "0.026228", + "cached_input_usd": "0.001728", + "output_usd": "0.007248", + "web_search_usd": "0.015", + "total_usd": "0.050204", + "mean_usd": "0.050204" + } + }, + "historical_usage_records": [ + { + "stage": "poc_validation", + "date": "2026-10-14", + "model": "xai.grok-4.3", + "source_file": "route_20231130_actions_v1_responses.json", + "usage": { + "input_tokens": 7607, + "input_tokens_details": { + "cached_tokens": 4864 + }, + "output_tokens": 1087, + "output_tokens_details": { + "reasoning_tokens": 843 + }, + "total_tokens": 8694, + "num_sources_used": 0, + "num_server_side_tools_used": 3, + "cost_in_usd_ticks": 221190500, + "server_side_tool_usage_details": { + "web_search_calls": 3, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 3680, + "output_tokens": 369 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 7607, + "cached_input_tokens": 4864, + "output_tokens": 1087, + "reasoning_tokens": 843, + "total_tokens": 8694, + "web_search_calls": 3, + "input_usd": "0.00342875", + "cached_input_usd": "0.0009728", + "output_usd": "0.0027175", + "web_search_usd": "0.015", + "total_usd": "0.02211905" + } + }, + { + "stage": "poc_validation", + "date": "2026-10-14", + "model": "xai.grok-4.3", + "source_file": "rest-news-today.json", + "usage": { + "input_tokens": 14359, + "input_tokens_details": { + "cached_tokens": 5760 + }, + "output_tokens": 1185, + "output_tokens_details": { + "reasoning_tokens": 798 + }, + "total_tokens": 15544, + "num_sources_used": 0, + "num_server_side_tools_used": 3, + "cost_in_usd_ticks": 298632500, + "server_side_tool_usage_details": { + "web_search_calls": 3, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 7565, + "output_tokens": 466 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 14359, + "cached_input_tokens": 5760, + "output_tokens": 1185, + "reasoning_tokens": 798, + "total_tokens": 15544, + "web_search_calls": 3, + "input_usd": "0.01074875", + "cached_input_usd": "0.001152", + "output_usd": "0.0029625", + "web_search_usd": "0.015", + "total_usd": "0.02986325" + } + }, + { + "stage": "poc_validation", + "date": "2026-10-14", + "model": "xai.grok-4.3", + "source_file": "route_v1_responses.json", + "usage": { + "input_tokens": 9515, + "input_tokens_details": { + "cached_tokens": 2048 + }, + "output_tokens": 1076, + "output_tokens_details": { + "reasoning_tokens": 729 + }, + "total_tokens": 10591, + "num_sources_used": 0, + "num_server_side_tools_used": 3, + "cost_in_usd_ticks": 274333500, + "server_side_tool_usage_details": { + "web_search_calls": 3, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 8450, + "output_tokens": 571 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 9515, + "cached_input_tokens": 2048, + "output_tokens": 1076, + "reasoning_tokens": 729, + "total_tokens": 10591, + "web_search_calls": 3, + "input_usd": "0.00933375", + "cached_input_usd": "0.0004096", + "output_usd": "0.00269", + "web_search_usd": "0.015", + "total_usd": "0.02743335" + } + }, + { + "stage": "compatibility_matrix", + "date": "2026-10-14", + "model": "xai.grok-4.20-0309-non-reasoning", + "usage": { + "input_tokens": 10036, + "input_tokens_details": { + "cached_tokens": 1024 + }, + "output_tokens": 196, + "output_tokens_details": { + "reasoning_tokens": 0 + }, + "total_tokens": 10232, + "num_sources_used": 0, + "num_server_side_tools_used": 2, + "cost_in_usd_ticks": 219598000, + "server_side_tool_usage_details": { + "web_search_calls": 2, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 9058, + "output_tokens": 138 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 10036, + "cached_input_tokens": 1024, + "output_tokens": 196, + "reasoning_tokens": 0, + "total_tokens": 10232, + "web_search_calls": 2, + "input_usd": "0.011265", + "cached_input_usd": "0.0002048", + "output_usd": "0.00049", + "web_search_usd": "0.01", + "total_usd": "0.0219598" + } + }, + { + "stage": "compatibility_matrix", + "date": "2026-10-14", + "model": "xai.grok-4.20-0309-reasoning", + "usage": { + "input_tokens": 7712, + "input_tokens_details": { + "cached_tokens": 256 + }, + "output_tokens": 1491, + "output_tokens_details": { + "reasoning_tokens": 1375 + }, + "total_tokens": 9203, + "num_sources_used": 0, + "num_server_side_tools_used": 1, + "cost_in_usd_ticks": 180987000, + "server_side_tool_usage_details": { + "web_search_calls": 1, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 6732, + "output_tokens": 864 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 7712, + "cached_input_tokens": 256, + "output_tokens": 1491, + "reasoning_tokens": 1375, + "total_tokens": 9203, + "web_search_calls": 1, + "input_usd": "0.00932", + "cached_input_usd": "0.0000512", + "output_usd": "0.0037275", + "web_search_usd": "0.005", + "total_usd": "0.0180987" + } + }, + { + "stage": "compatibility_matrix", + "date": "2026-10-14", + "model": "xai.grok-4.20-non-reasoning", + "usage": { + "input_tokens": 10944, + "input_tokens_details": { + "cached_tokens": 1024 + }, + "output_tokens": 224, + "output_tokens_details": { + "reasoning_tokens": 0 + }, + "total_tokens": 11168, + "num_sources_used": 0, + "num_server_side_tools_used": 2, + "cost_in_usd_ticks": 231648000, + "server_side_tool_usage_details": { + "web_search_calls": 2, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 9966, + "output_tokens": 153 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 10944, + "cached_input_tokens": 1024, + "output_tokens": 224, + "reasoning_tokens": 0, + "total_tokens": 11168, + "web_search_calls": 2, + "input_usd": "0.0124", + "cached_input_usd": "0.0002048", + "output_usd": "0.00056", + "web_search_usd": "0.01", + "total_usd": "0.0231648" + } + }, + { + "stage": "compatibility_matrix", + "date": "2026-10-14", + "model": "xai.grok-4.20-reasoning", + "usage": { + "input_tokens": 7882, + "input_tokens_details": { + "cached_tokens": 1024 + }, + "output_tokens": 1531, + "output_tokens_details": { + "reasoning_tokens": 1329 + }, + "total_tokens": 9413, + "num_sources_used": 0, + "num_server_side_tools_used": 2, + "cost_in_usd_ticks": 226048000, + "server_side_tool_usage_details": { + "web_search_calls": 2, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 6902, + "output_tokens": 732 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 7882, + "cached_input_tokens": 1024, + "output_tokens": 1531, + "reasoning_tokens": 1329, + "total_tokens": 9413, + "web_search_calls": 2, + "input_usd": "0.0085725", + "cached_input_usd": "0.0002048", + "output_usd": "0.0038275", + "web_search_usd": "0.01", + "total_usd": "0.0226048" + } + }, + { + "stage": "compatibility_matrix", + "date": "2026-10-14", + "model": "xai.grok-4.3", + "usage": { + "input_tokens": 8092, + "input_tokens_details": { + "cached_tokens": 1280 + }, + "output_tokens": 898, + "output_tokens_details": { + "reasoning_tokens": 734 + }, + "total_tokens": 8990, + "num_sources_used": 0, + "num_server_side_tools_used": 2, + "cost_in_usd_ticks": 210160000, + "server_side_tool_usage_details": { + "web_search_calls": 2, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 6926, + "output_tokens": 456 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 8092, + "cached_input_tokens": 1280, + "output_tokens": 898, + "reasoning_tokens": 734, + "total_tokens": 8990, + "web_search_calls": 2, + "input_usd": "0.008515", + "cached_input_usd": "0.000256", + "output_usd": "0.002245", + "web_search_usd": "0.01", + "total_usd": "0.021016" + } + }, + { + "stage": "compatibility_matrix", + "date": "2026-10-14", + "model": "xai.grok-4.6", + "usage": { + "input_tokens": 8712, + "input_tokens_details": { + "cached_tokens": 1280 + }, + "output_tokens": 878, + "output_tokens_details": { + "reasoning_tokens": 732 + }, + "total_tokens": 9590, + "num_sources_used": 0, + "num_server_side_tools_used": 1, + "cost_in_usd_ticks": 257720000, + "server_side_tool_usage_details": { + "web_search_calls": 1, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 7510, + "output_tokens": 535 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 8712, + "cached_input_tokens": 1280, + "output_tokens": 878, + "reasoning_tokens": 732, + "total_tokens": 9590, + "web_search_calls": 1, + "input_usd": "0.014864", + "cached_input_usd": "0.00064", + "output_usd": "0.005268", + "web_search_usd": "0.005", + "total_usd": "0.025772" + } + }, + { + "stage": "compatibility_matrix", + "date": "2026-10-14", + "model": "xai.grok-4.7", + "usage": { + "input_tokens": 16570, + "input_tokens_details": { + "cached_tokens": 3456 + }, + "output_tokens": 1208, + "output_tokens_details": { + "reasoning_tokens": 988 + }, + "total_tokens": 17778, + "num_sources_used": 0, + "num_server_side_tools_used": 3, + "cost_in_usd_ticks": 502040000, + "server_side_tool_usage_details": { + "web_search_calls": 3, + "x_search_calls": 0, + "x_posts_fetched": 0, + "x_users_fetched": 0, + "code_interpreter_calls": 0, + "file_search_calls": 0, + "mcp_calls": 0, + "document_search_calls": 0, + "image_generation_calls": 0 + }, + "context_details": { + "input_tokens": 14183, + "output_tokens": 1022 + } + }, + "metrics": { + "interactions": 1, + "input_tokens": 16570, + "cached_input_tokens": 3456, + "output_tokens": 1208, + "reasoning_tokens": 988, + "total_tokens": 17778, + "web_search_calls": 3, + "input_usd": "0.026228", + "cached_input_usd": "0.001728", + "output_usd": "0.007248", + "web_search_usd": "0.015", + "total_usd": "0.050204" + } + } + ] +}