Login
Back to Blog
PortuguêsComparison

Kimi K3 versus Claude Opus 4.8: testes de matemática, física e programação em nível de pós-graduação

Na mesma API compatível com OpenAI da Crazyrouter, comparamos kimi-k3 e claude-opus-4-8 em tempo de primeira passagem de cadeia de Markov em nível de pós-graduação, resposta em frequência de osciladores acoplados com amortecimento e algoritmo de agendamento por dependências, registrando integridade da saída, correção, latência e resultados de validação independente.

C
Crazyrouter Team
July 19, 2026 / 5 views
Share:
Kimi K3 versus Claude Opus 4.8: testes de matemática, física e programação em nível de pós-graduação

Kimi K3 vs Claude Opus 4.8: teste prático de matemática, física e programação em nível de pós-graduação#

pt benchmark cover

Comparação de tarefas em nível de pós-graduação entre Kimi K3 e Claude Opus 4.8

Em contas aritméticas simples, todo modelo grande consegue dar respostas bonitas. O que realmente separa os modelos é outra coisa: a derivação termina dentro do orçamento de saída? A matriz e as condições de contorno foram escritas corretamente? O programa gerado realmente satisfaz a semântica do enunciado?

Desta vez, elevei o nível dos problemas para algo equivalente a um TCC de graduação ou a uma disciplina de mestrado, usando o mesmo conjunto de prompts para testar kimi-k3 e claude-opus-4-8:

pt comparison chart

  • Matemática: distribuição estacionária, tempo de primeiro alcance, primeiro e segundo momentos de uma cadeia de Markov finita com três estados;
  • Física: oscilador de dois graus de liberdade com amortecimento aterrado e amortecimento acoplado, pedindo modos sem amortecimento e resposta harmônica complexa;
  • Programação: algoritmo de escalonamento exato com fechamento de dependências, janela de tempo, capacidade diária e função objetivo em três níveis.

Primeiro, o veredicto:

  • claude-opus-4-8 retornou as três tarefas completas dentro do orçamento desta rodada, e o finish_reason nas três foi stop;
  • kimi-k3 precisava ter temperature configurado como 1; com limite de 6000 completion tokens, as três tarefas terminaram com finish_reason=length, e os três conteúdos visíveis tiveram comprimento 0;
  • As respostas de matemática e física do Opus 4.8 passaram por verificação numérica independente;
  • O código de escalonamento do Opus 4.8 passou nos 13 asserts que ele mesmo incluiu, mas, ao adicionar um probe independente exigindo que a tarefa predecessora viesse antes da sucessora, descobri que ele só garante que a dependência seja selecionada junto, sem garantir que a predecessora fique antes da posterior;
  • A latência média dos pedidos bem-sucedidos nesta rodada foi de cerca de 70.59 秒 para o Opus 4.8 e cerca de 225.47 秒 para o Kimi K3. Essa diferença vale apenas para este conjunto de rota e prompt; não deve ser tratada diretamente como SLA de longo prazo.

Ambiente de teste e restrições de parâmetros#

Os testes foram feitos entre 18 e 19 de julho de 2026, horário de Pequim. Primeiro, confirmei via /v1/models que os dois model IDs estavam visíveis:

text
kimi-k3
claude-opus-4-8

pt production verification

As requisições foram feitas por meio da interface OpenAI-compatible da Crazyrouter:

text
POST https://cn.crazyrouter.com/v1/chat/completions

Condições comuns:

text
Mesmo system prompt
Mesmo enunciado do usuário
Sem ferramentas e sem acesso à internet

Os parâmetros dos modelos não puderam ser exatamente iguais, porque o upstream impõe uma restrição rígida ao Kimi K3:

Modelotemperaturemax_tokensResultado
kimi-k31 (caso contrário, HTTP 400)6000Três tarefas terminaram em length
claude-opus-4-80.19000Três tarefas terminaram em stop

Na primeira tentativa, usei temperature=0.1 com o Kimi K3, e a interface retornou explicitamente:

text
Parameter temperature must be 1 for this model.

Por isso, este artigo registra essa limitação de parâmetro como um fato do teste, em vez de esconder a falha como se o modelo estivesse “indisponível”. Ao usar os resultados em uma escolha de produção, também faz sentido levar as capacidades específicas de parâmetros de cada modelo para a camada de configuração, em vez de assumir que todos aceitam o mesmo conjunto de parâmetros de sampling.

Tabela geral de resultados#

TarefaKimi K3Claude Opus 4.8Veredito independente
Tempo de primeiro alcance na cadeia de Markov235.420 s, 6000 completion, 5997 reasoning, length, content vazio57.870 s, 4764 completion, stopOpus completo e correto, Kimi não entregou resposta visível
Oscilador acoplado de dois graus de liberdade204.568 s, 6000 completion, 5997 reasoning, length, content vazio64.966 s, 5284 completion, stopOpus completo e passou na verificação numérica
Algoritmo de escalonamento com dependências236.434 s, 6000 completion, 5997 reasoning, length, content vazio88.934 s, 6857 completion, stopO núcleo do Opus roda, mas faltou a restrição de ordem das dependências

O formato comum das três saídas do Kimi foi muito consistente: a API retornou o nome do modelo e o usage, mas message.content não trouxe nenhuma resposta final utilizável. Para aplicações que precisam mostrar o resultado ao usuário ou entregar algo para um compilador, isso deve ser classificado como “tarefa não concluída”, e não como “o modelo acertou, mas o log não registrou”.

Problema de matemática: tempo de primeiro alcance e variância em uma cadeia de Markov finita#

O enunciado usa a matriz de transição:

P=(1/21/31/61/41/21/41/61/31/2),X0=1,P=\begin{pmatrix} 1/2 & 1/3 & 1/6\\ 1/4 & 1/2 & 1/4\\ 1/6 & 1/3 & 1/2 \end{pmatrix},\qquad X_0=1,

com o estado-alvo 3 e a definição:

τ=min{n0:Xn=3}\tau=\min\{n\ge 0:X_n=3\}。

Não é uma questão que se resolve só substituindo probabilidades em uma fórmula. É preciso lidar com a distribuição estacionária, a submatriz transiente, os momentos de primeira e segunda ordem do tempo de primeiro alcance e, além disso, deixar explícitas as condições de contorno do estado-alvo t_3=s_3=0.

Resultado do Opus 4.8#

Ele deu a distribuição estacionária como:

π=(310,410,310)\pi=\left(\frac{3}{10},\frac{4}{10},\frac{3}{10}\right),

e verificou componente por componente que πP=π.

Tomando {1,2} como estados transientes, obteve:

Q=(1/21/31/41/2),N=(IQ)1=(323/23)Q=\begin{pmatrix}1/2&1/3\\1/4&1/2\end{pmatrix}, \quad N=(I-Q)^{-1}=\begin{pmatrix}3&2\\3/2&3\end{pmatrix}。

A equação de primeiro momento foi:

(IQ)t=1(I-Q)t=\mathbf 1,

portanto:

E1[τ]=5E2[τ]=92E_1[\tau]=5,\qquad E_2[\tau]=\frac92。

Para o segundo momento, usou:

(IQ)s=2t1(I-Q)s=2t-\mathbf 1,

e obteve:

E1[τ2]=43Var1(τ)=4352=18E_1[\tau^2]=43,\qquad \operatorname{Var}_1(\tau)=43-5^2=18。

Fiz uma resolução independente com Fraction, e o resultado coincidiu exatamente com o do Opus; ao substituir t e s de volta nas duas equações de primeiro passo, tudo também fechou. O problema de matemática foi classificado como “aprovado por completo”.

Resultado do Kimi K3#

O Kimi K3 rodou por cerca de 235 segundos com temperature=1 e max_tokens=6000, e o usage mostrou completion_tokens=6000, reasoning_tokens=5997, finish_reason=length, com content visível vazio.

Isso significa que, nesta rodada, não dá para concluir pela saída do Kimi se ele resolveria ou não essa cadeia de Markov. O que se pode afirmar é apenas que, com a interface, o prompt e o orçamento atuais, ele não condensou o raciocínio em uma resposta final visível.

Problema de física: matriz e resposta em frequência de um oscilador com amortecimento acoplado#

A segunda questão usa um sistema de dois blocos de massa, com dois graus de liberdade:

text
m1=1.5 kg,m2=1.0 kg
k1=120 N/m,k2=80 N/m,k3=150 N/m
c1=1.2 N·s/m,c2=0.8 N·s/m,c3=1.5 N·s/m
F(t)=10 cos(8t) N

k2 e c2 são os elementos acoplados entre as duas massas, e c1 e c3 são os amortecimentos aterrados de cada lado. O enunciado pede primeiro os modos naturais sem amortecimento e depois a amplitude complexa em ω=8 rad/s; portanto, não dá para colocar todos os amortecimentos simplesmente em uma matriz diagonal.

Matrizes corretas#

O Opus 4.8 escreveu:

M=[1.5001],C=[2.00.80.82.3],K=[2008080230]M=\begin{bmatrix}1.5&0\\0&1\end{bmatrix}, \quad C=\begin{bmatrix}2.0&-0.8\\-0.8&2.3\end{bmatrix}, \quad K=\begin{bmatrix}200&-80\\-80&230\end{bmatrix}。

A equação característica sem amortecimento forneceu as frequências naturais angulares:

ω1=10.0204 rad/s,ω2=16.2149 rad/s。\omega_1=10.0204\ \text{rad/s}, \qquad \omega_2=16.2149\ \text{rad/s}。

As razões modais correspondentes X2/X1 foram 0.6173 e -2.4298, representando, respectivamente, os modos em fase e em oposição de fase.

Resposta em frequência para ω=8#

A matriz complexa de rigidez dinâmica:

Z=Kω2M+iωCZ=K-\omega^2M+i\omega C。

O cálculo complexo independente deu:

QuantidadeValor de referência
`X1
∠X1-12.1524°
`X2
∠X2-13.9035°
`X2/X1
Diferença de faseaproximadamente -1.7511°

A checagem de energia do Opus também passou: a potência média dissipada foi de cerca de 1.2574 W, consistente com a potência de entrada da força dentro do erro de arredondamento. Ele também explicou corretamente que, se c2 fosse interpretado erroneamente como amortecimento aterrado, os termos não diagonais C12=C21=-0.8 seriam zerados por engano, e tanto a transferência de energia quanto os resultados de fase mudariam.

Resultado do Kimi K3#

O Kimi K3 esgotou 6000 tokens depois de cerca de 204.6 segundos e ainda assim terminou com finish_reason=length e content vazio. Como não houve equações finais nem números finais, não dá para avaliar se a modelagem física estava correta; nesta rodada, o registro só pode ser “não entregue dentro do orçamento”.

Problema de programação: fechamento de dependências, janela temporal e escalonamento exato#

A tarefa de programação pedia implementar:

python
schedule_jobs(jobs, dependencies, capacity_by_day)

Cada tarefa tem duration, release_day, deadline_day e value; a tarefa precisa ser agendada integralmente em um único dia, cada dia tem um limite de capacidade, e as dependências significam que a tarefa predecessora precisa terminar antes de a sucessora começar. O objetivo é comparar os resultados nesta ordem:

  1. Valor total máximo;
  2. Menor duração total;
  3. Lista de IDs ordenada em ordem lexicográfica menor.

Essa questão é mais difícil do que um “knapsack + sort” comum, porque é preciso lidar ao mesmo tempo com:

  • Fechamento de dependências diretas e indiretas;
  • Dependências desconhecidas e detecção de ciclos;
  • Capacidade diária e janelas de tempo das tarefas;
  • Bin packing exato de subconjuntos viáveis;
  • Desempate em múltiplos níveis.

Comportamento da implementação do Opus 4.8#

O Opus forneceu uma implementação completa com bitmask + DFS com memoização, além de 13 asserts. Extraí os dois blocos de código Python e executei em Python 3.11; todos os asserts do próprio modelo passaram:

text
all assertions passed

Ele cobriu corretamente entrada vazia, capacidade insuficiente, dependências diretas/indiretas, dependências desconhecidas, dependências cíclicas e a comparação da função objetivo em três níveis.

Mas os asserts internos não verificavam se a tarefa predecessora vinha antes da sucessora. Eu acrescentei um probe independente:

python
jobs = [
    {"id": "A", "duration": 4, "release_day": 1,
     "deadline_day": 1, "value": 1},
    {"id": "B", "duration": 4, "release_day": 0,
     "deadline_day": 0, "value": 10},
]
result = schedule_jobs(jobs, [("A", "B")], {0: 4, 1: 4})

Na semântica correta, A é predecessora de B, mas só pode ser agendada no dia 1, enquanto B só pode ser agendada no dia 0; logo, as duas não deveriam ser selecionadas ao mesmo tempo. O código do modelo, porém, retornou:

text
selected_ids: ['A', 'B']
assignment: {'A': 1, 'B': 0}

Isso mostra que a implementação só verificou “ao escolher B, A também precisa ser escolhida”, sem checar:

text
assignment[A] < assignment[B]

Portanto, a tarefa de programação não pode ser considerada totalmente aprovada. A avaliação mais precisa é: a estrutura do algoritmo e a validação de entrada estão razoavelmente completas, e a lógica de alocação de recursos funciona, mas a semântica principal do negócio deixou de fora a restrição temporal de ordem das dependências. Para um sistema de escalonamento em produção, isso é um problema de corretude que precisa ser corrigido, não um detalhe de formato.

Resultado do Kimi K3#

O Kimi K3 terminou após cerca de 236.4 segundos com length, consumindo todos os 6000 tokens em reasoning, sem entregar código executável.

Latência, orçamento de saída e respostas visíveis#

Latência média nas três tarefas:

text
Kimi K3:       (235.420 + 204.568 + 236.434) / 3 = 225.474 秒
Claude Opus:   (57.870 + 64.966 + 88.934) / 3 = 70.590 秒

As três chamadas do Kimi tiveram usage muito parecido:

text
completion_tokens = 6000
reasoning_tokens  = 5997
content.length    = 0
finish_reason     = length

Esses dados mostram que quem integra a API não pode olhar só para o status HTTP e o campo model. O mínimo é registrar ao mesmo tempo:

python
choice.finish_reason
response.usage
response.choices[0].message.content

Se finish_reason for length, mesmo com HTTP 200, o fluxo deveria seguir para retry, fallback ou revisão humana.

Como reproduzir o experimento#

Abaixo está a forma mínima de chamada usando o OpenAI Python SDK. No teste real, é preciso usar os enunciados completos do artigo e os parâmetros compatíveis com cada modelo:

python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_CRAZYROUTER_API_KEY",
    base_url="https://cn.crazyrouter.com/v1",
)

response = client.chat.completions.create(
    model="claude-opus-4-8",
    temperature=0.1,
    max_tokens=9000,
    messages=[
        {"role": "system", "content": "Benchmark rigoroso, forneça apenas conclusões verificáveis."},
        {"role": "user", "content": "Substitua pelo teste completo de nível de pós-graduação"},
    ],
)

print(response.model)
print(response.choices[0].finish_reason)
print(response.usage)
print(response.choices[0].message.content)

Ao chamar o Kimi K3, é preciso mudar temperature para 1 e reservar tempo suficiente para um reasoning mais longo; nesta rodada, mesmo com 6000 tokens, ainda não foi possível obter uma resposta visível.

Recomendações para escolha em produção#

Quando faz sentido testar primeiro o Claude Opus 4.8#

  • É necessário obter uma derivação completa ou código completo em uma única requisição;
  • A tarefa envolve matrizes, condições de contorno e verificação numérica;
  • O negócio é mais sensível à latência de primeira tela e à entregabilidade;
  • É possível adicionar testes independentes e checagem semântica ao código gerado.

Quando ainda vale continuar avaliando o Kimi K3#

  • É aceitável uma latência de vários minutos;
  • A camada de chamada consegue lidar com parâmetros de sampling específicos do modelo;
  • É permitido quebrar a tarefa em partes, aumentar o orçamento ou usar um fluxo assíncrono;
  • O foco está no processo de reasoning, e não na entrega imediata do texto final em uma única chamada.

Mas, com os dados desta rodada, não dá para dizer que o Kimi K3 “resolveu as três tarefas, só que a saída foi escondida no log”. O que foi observado de fato é que, nas três vezes, não houve resposta final visível.

FAQ#

1. Por que essas questões são consideradas de nível de graduação final ou pós-graduação?#

A questão de matemática exige distribuição estacionária, matriz fundamental e segundo momento do tempo de primeiro alcance; a de física exige modelagem matricial, análise modal, resposta em frequência complexa e balanço de energia; a de programação exige fechamento de dependências, bin packing exato, detecção de ciclos e otimização com múltiplos critérios. Cada uma delas corresponde a dificuldades típicas de trabalhos integradores em cursos de probabilidade/processos estocásticos, mecânica clássica e vibrações, e algoritmos/design de sistemas.

2. O Kimi K3 não suporta temperature=0.1?#

Nesta interface, o Kimi K3 exigiu explicitamente que temperature fosse 1. Isso é uma restrição de parâmetros do modelo na rota atual; a aplicação chamadora deve ler a mensagem de erro e tentar novamente com a configuração correta.

3. O length do Kimi K3 prova que ele definitivamente não consegue fazer esse tipo de questão?#

Não. Ele só mostra que, com este prompt, este limite de saída e estas condições de roteamento, não foi produzido um final visível. Sem resposta visível, não há como atribuir nota de correção; mas isso também não prova que o modelo nunca resolva esses problemas em qualquer configuração.

4. A resposta de programação do Opus 4.8 pode ser usada diretamente em produção?#

Não diretamente. Os asserts internos passaram todos, mas o probe independente revelou que a restrição de ordem temporal das dependências foi omitida. O código gerado precisa de testes de semântica de negócio, e não apenas da execução dos testes que o próprio modelo anexou.

5. Por que a questão de física do Opus 4.8 precisa checar dissipação de energia?#

Porque é muito fácil escrever errado o termo não diagonal do amortecimento acoplado. A igualdade entre potência de entrada e potência dissipada pelos amortecedores é uma evidência independente de que a amplitude complexa, a fase e a matriz de amortecimento estão todas corretas ao mesmo tempo.

6. Esta latência pode ser tratada como compromisso de desempenho?#

Não. Canal de upstream, cache, concorrência e retries alteram a latência. Em produção, é preciso amostrar várias vezes e calcular P50, P95, P99, taxa de truncamento e custo por tarefa bem-sucedida.

Conclusão final#

O que esta rodada comparou de verdade não foi um “ranking de inteligência” desligado das condições de chamada, mas dois comportamentos de entrega totalmente diferentes:

  1. O Claude Opus 4.8, nesta rodada, entregou respostas visíveis nas três tarefas de nível de pós-graduação, e as derivações de matemática e física passaram por verificação independente;
  2. O framework de código do Opus é forte, mas ainda deixou escapar a restrição crítica de que tarefas dependentes precisam terminar em ordem temporal;
  3. O Kimi K3, sob a condição forçada de temperature=1, esgotou os 6000 tokens nas três tarefas, com finish_reason=length, sem resposta visível;
  4. Se o objetivo do negócio é obter, em uma única chamada, uma derivação matemática completa, um cálculo físico ou código executável, neste intervalo de teste o Opus 4.8 teve entregabilidade claramente melhor;
  5. Seja qual for o modelo escolhido, finish_reason, usage, verificação numérica independente e testes semânticos de código precisam entrar no critério de aceite.

Arquivos do experimento:

Leituras recomendadas:

Implementation Guides

Topics

Comparison

Related Posts

GLM-5.2 vs Claude Fable 5: orçamento de saída, reasoning_tokens e discount 0.8Comparison

GLM-5.2 vs Claude Fable 5: orçamento de saída, reasoning_tokens e discount 0.8

Teste prático via API compatível com OpenAI da Crazyrouter, comparando glm-5.2 e claude-fable-5 em matemática, física e uma animação Canvas, com nota sobre o discount 0.8 atual do glm-5.2.

Jul 6
GPT-5.6-sol vs GPT-5.6-terra em teste prático: quanto desempenho justifica uma diferença de preço de 2x?Comparison

GPT-5.6-sol vs GPT-5.6-terra em teste prático: quanto desempenho justifica uma diferença de preço de 2x?

Teste real de preço e desempenho com a OpenAI-compatible API da Crazyrouter: quatro tarefas de máquina de estados probabilística, física em múltiplas etapas, agregação de logs e roteamento estável comparam gpt-5.6-sol e gpt-5.6-terra quanto à correção, tempo de resposta, completion tokens, reasoning tokens, testes locais de código e custo estimado por requisição com base nos preços públicos.

Jul 13
Kimi K3 vs GPT-5.6-SOL: teste prático de alta dificuldade em matemática, física e programaçãoComparison

Kimi K3 vs GPT-5.6-SOL: teste prático de alta dificuldade em matemática, física e programação

Usando a mesma API compatível com OpenAI e os mesmos prompts, este teste compara kimi-k3 e gpt-5.6-sol em tempo de parada por padrão, um problema de física sobre momento de inércia com polia e uma tarefa de programação com closure dependente, registrando acurácia, truncamento, latência e validação local do código.

Jul 18
Melhores Geradores de Música com IA 2026: Suno vs Udio vs Stable Audio ComparadosTutorial

Melhores Geradores de Música com IA 2026: Suno vs Udio vs Stable Audio Comparados

Escolher o gerador de música com IA certo pode ser difícil. Este guia compara as principais ferramentas de música com IA disponíveis em 2026

Jan 23
Melhor Gateway de API de IA para Desenvolvedores em 2026: 9 Plataformas TestadasComparison

Melhor Gateway de API de IA para Desenvolvedores em 2026: 9 Plataformas Testadas

Testamos 9 gateways de API de IA para cobertura de modelos, preços, suporte multi-modal e experiência do desenvolvedor.

Mar 27
Como Acessar o GPT-5 e GPT-5.2 via API - Guia Completo para DesenvolvedoresTutorial

Como Acessar o GPT-5 e GPT-5.2 via API - Guia Completo para Desenvolvedores

Aprenda a acessar os modelos mais recentes da OpenAI — GPT-5, GPT-5.2 e o3-pro — por meio de uma API unificada. Guia passo a passo com exemplos em Python, Node.js e curl.

Jan 23