Para entender temperature, você precisa saber o que acontece logo antes de um modelo gerar um token. O modelo produz um vetor de scores brutos (chamados logits) — um score para cada token em seu vocabulário, que pode ter de 32.000 a 128.000 entradas. Esses logits são então divididos pelo valor de temperature e passados por uma função softmax, que os converte em uma distribuição de probabilidade. Quando temperature é 1.0, o softmax opera nos logits brutos como estão. Quando temperature é 0.5, os logits são efetivamente dobrados antes do softmax, o que torna a distribuição de probabilidade mais aguda — o token mais provável recebe uma fatia ainda maior da probabilidade. Quando temperature é 2.0, os logits são divididos pela metade, o que achata a distribuição e dá a tokens menos prováveis uma chance melhor de serem selecionados.
Temperature 0 é um caso especial que a maioria dos provedores de API implementa como decodificação gananciosa — sempre escolher o token de maior probabilidade, sem amostragem envolvida. Isso torna a saída determinística (ou quase; alguns provedores adicionam ruído mínimo de ponto flutuante). É a escolha certa quando você quer resultados reproduzíveis: extração de dados estruturados, tarefas de classificação, Q&A factual, ou qualquer coisa onde "criatividade" é um problema. Um padrão comum de produção é usar temperature 0 para todos os pipelines automatizados e reservar temperatures mais altas para recursos criativos voltados ao usuário.
Temperature interage com outro parâmetro de amostragem chamado top-p (nucleus sampling) de formas que confundem as pessoas. Top-p limita a seleção de tokens ao menor conjunto de tokens cuja probabilidade cumulativa excede o limiar p. Definir temperature 0.7 com top-p 0.9 é diferente de temperature 1.0 com top-p 0.7, mesmo que ambos busquem "aleatoriedade moderada". A maioria dos praticantes recomenda ajustar um ou outro, não ambos simultaneamente, porque a interação é difícil de raciocinar. A API da Anthropic padrão é temperature 1.0 com top-p 1.0 para Claude. A OpenAI padrão é temperature 1.0 com top-p 1.0 para modelos GPT. Se você está ajustando ambos ao mesmo tempo, provavelmente está complicando demais.
A temperature certa depende da tarefa, e o conselho "0,7 é bom para tudo" é uma simplificação. Para geração de código, a maioria dos desenvolvedores acha que 0 a 0,3 produz os resultados mais confiáveis. Para assistentes conversacionais, 0,5 a 0,8 dá variedade de som natural sem sair dos trilhos. Para escrita criativa, brainstorming ou gerar opções diversas, 0,9 a 1,2 funciona bem. Acima de 1,5 produz saída cada vez mais incoerente que raramente é útil na prática. Alguns modelos suportam temperatures acima de 2,0 tecnicamente, mas a qualidade da saída degrada rápido — começa a parecer sopa aleatória de tokens em vez de texto criativo.
Um ponto sutil mas importante: temperature afeta aleatoriedade no nível de tokens, não criatividade no nível de ideias. Uma temperature mais alta não faz o modelo "pensar mais criativamente" em nenhum sentido significativo — o torna mais propenso a escolher palavras inesperadas. Às vezes isso produz combinações genuinamente novas. Outras vezes apenas produz erros gramaticais, non-sequiturs ou alucinações. Se você quer abordagens genuinamente diferentes para um problema, frequentemente é melhor rodar o mesmo prompt múltiplas vezes com temperature moderada (digamos 0,8) e comparar os resultados, em vez de aumentar a temperature para 1,5 e torcer pelo melhor. Esse é o princípio por trás de técnicas como self-consistency e best-of-N sampling, que usam temperature moderada com múltiplas amostras para obter tanto diversidade quanto qualidade.