Saltar para o conteúdo principal
Guia prático do Kimi K3: modo de raciocínio, carregamento dinâmico de ferramentas e cache de contexto
Este artigo apresenta os novos parâmetros do Kimi K3 e os pontos de atenção na chamada. Na AIHubMix, o K3 pode ser chamado pelas APIs Chat Completions, Responses e Messages (compatível com Claude). Leitura complementar: documentação oficial da plataforma Moonshot. As conclusões marcadas como “Verificado” e os retornos de exemplo de cada seção provêm de chamadas reais feitas em 2026-07-17 pelas APIs da AIHubMix (Chat Completions / Responses / Messages).

1. Visão geral das especificações do modelo

Verificado: os dois limites de stop são validados e o excesso retorna 400; o stop_sequences da API Messages aplica a mesma validação. Ao acionar uma sequência de parada, a API Messages não responde conforme a semântica da Anthropic: nos testes, stop_reason retornou "end_turn" (em vez de "stop_sequence"), stop_sequence retornou null, e o texto visível anterior à sequência de parada pode vir vazio. Clientes que dependem desses dois campos para identificar o motivo do truncamento devem ficar atentos.

2. Modo de raciocínio: reasoning_effort só aceita o nível max

O raciocínio do K3 vem ativado por padrão, e reasoning_effort só aceita o nível "max". Em conversas multi-turno, o histórico de raciocínio deve ser devolvido sem alterações: segundo a orientação oficial da Moonshot, o K3 foi treinado com preserved thinking; em conversas multi-turno é necessário devolver a mensagem assistant do turno anterior completa e sem alterações (incluindo o conteúdo de raciocínio). A ausência do histórico de raciocínio causa instabilidade na qualidade da saída. Ao usar frameworks de gerenciamento de sessão ou camadas de proxy, confirme que o conteúdo de raciocínio não é cortado antes do reenvio.
O conteúdo de raciocínio é retornado no campo reasoning_content da resposta; em multi-turno, devolva a mensagem assistant do turno anterior (incluindo reasoning_content) sem alterações.
Verificado: a resposta retorna reasoning_content; depois de devolver a mensagem assistant do turno anterior (incluindo reasoning_content) sem alterações, os turnos seguintes respondem normalmente.

3. Parâmetros de amostragem com valores fixos

Os parâmetros de amostragem do K3 têm valores fixos definidos oficialmente: temperature 1.0, top_p 0.95, n 1, presence_penalty / frequency_penalty 0. A recomendação oficial é não enviar esses parâmetros na requisição.
Observação: os valores fixos de amostragem são especificação oficial e não podem ser verificados por sinais da resposta; siga a recomendação oficial e omita esses parâmetros.

4. Chamada de ferramentas e carregamento dinâmico de ferramentas

tools aceita no máximo 128 ferramentas; tool_choice permite forçar ou desativar chamadas. O K3 também suporta carregamento dinâmico de ferramentas: no meio da conversa, novas ferramentas podem ser injetadas pelo campo tools de uma mensagem system (formato de mensagem exclusivo da API Chat).
tool_choice aceita auto / none / required; required força o modelo a chamar uma ferramenta. Carregamento dinâmico de ferramentas: a mensagem system que injeta ferramentas não leva content, as ferramentas injetadas valem para os turnos seguintes, e cada requisição precisa repetir a injeção.
Verificado: tool_choice: "required" força uma chamada de ferramenta mesmo em perguntas sem relação; "none" suprime chamadas de ferramenta; ferramentas injetadas no meio da conversa por mensagem system sem content podem ser chamadas normalmente.

5. Saída estruturada

A saída estruturada faz o modelo retornar conteúdo em estrita conformidade com um JSON Schema fornecido.
response_format suporta json_schema e o modo strict.
Verificado: a saída é JSON válido em conformidade com o schema.

6. Cache de contexto ativado automaticamente

O cache de contexto do K3 é ativado automaticamente, sem necessidade de qualquer parâmetro. Quando um prefixo longo repetido acerta o cache, a quantidade de acertos é reportada no usage (o nome do campo varia conforme a API). Os preços de cache estão na página do modelo.
Verificado: a segunda requisição com o mesmo prefixo longo reporta os acertos em usage.prompt_tokens_details.cached_tokens.

7. Continuação de prefixo com partial

A continuação de prefixo faz o modelo continuar a geração a partir de um prefixo fornecido, útil para completar código e produzir saída em formato controlado.
Envie "partial": true na última mensagem assistant.
Verificado: a geração continua a partir do prefixo fornecido, sem repeti-lo.

8. Entrada visual

As imagens são enviadas em base64; a forma do bloco de conteúdo varia conforme a API.
Verificado: a entrada de imagem em base64 funciona; o modelo descreveu corretamente o conteúdo da imagem de teste.

9. Referência verificada: tempo e uso de uma chamada única em tarefa longa

O raciocínio do K3 é fixado no nível max, e o tempo de uma requisição única em tarefas complexas é significativamente maior do que em modelos convencionais. Dados verificados de uma tarefa de geração de jogo HTML em arquivo único (um único prompt com imagem de referência, geração única, sem iteração): a requisição levou 2.541 segundos (cerca de 42 minutos), com 74.994 completion tokens, dos quais 54.486 (73%) foram de raciocínio; o resultado final, produzido de uma vez, foi um código de 1.275 linhas executável diretamente, com finish_reason igual a stop. Recomendações do lado do cliente:
  • Configure timeouts de cliente na escala de minutos ou mais; em tarefas longas, priorize o retorno em streaming;
  • Dê folga suficiente a max_completion_tokens — neste exemplo, só o raciocínio consumiu 54.486 tokens.

10. Matriz de suporte capacidade × API

Cada célula da tabela abaixo reflete o resultado de chamadas reais verificadas em 2026-07-17 pelas APIs de produção da AIHubMix; o conteúdo da célula indica a forma do parâmetro / campo na API correspondente.

Perguntas frequentes (FAQ)

Quais APIs o K3 suporta na AIHubMix? Chat Completions (/v1/chat/completions), Responses (/v1/responses) e Messages compatível com Claude (/v1/messages). É possível desativar o raciocínio ou reduzir sua intensidade? Não. O raciocínio do K3 vem ativado por padrão, e reasoning_effort só aceita o nível "max". Por que conversas multi-turno precisam devolver reasoning_content? O K3 foi treinado com preserved thinking; a orientação oficial é devolver a mensagem assistant do turno anterior completa e sem alterações. A ausência do histórico de raciocínio causa instabilidade na qualidade da saída. Quais são os limites do parâmetro stop? No máximo 5 sequências de parada, cada uma com até 32 bytes; o excesso retorna erro 400. A API Messages suporta saída estruturada? ❗ Não. O endpoint oficial Messages (compatível com Anthropic) do Kimi K3 ignora silenciosamente os campos de saída estruturada (retorna 200 com texto livre, sem erro). Para saída estruturada, use response_format em Chat Completions ou text.format em Responses. Por que uma requisição única do K3 demora tanto? O raciocínio do K3 é fixado no nível max, e em tarefas complexas a proporção de tokens de raciocínio é alta (73% dos completion tokens no caso verificado). Recomenda-se configurar o timeout do cliente na escala de minutos ou mais e usar retorno em streaming.
Preços e status em tempo real na página do modelo Kimi K3; mais modelos na galeria de modelos. Última atualização: 2026-07-17