R
Interview Deckreact · next.js · senior/staff
0·0·122
IA Básico

LLMs — Como Funcionam

Transformers, tokens, temperatura, context window. O que um dev precisa entender sobre LLMs.

LLMs (Large Language Models) são redes neurais transformer treinadas para prever o próximo token. Tokens são pedaços de texto (~4 chars em média). Context window é o limite de tokens que o modelo processa de uma vez (GPT-4: 128k, Claude 3.5: 200k). A geração é probabilística: temperatura 0 = determinístico, temperatura 1 = criativo/aleatório. Top-p e top-k controlam a diversidade de tokens candidatos.

Problema
Achar que o LLM 'entende' o que você escreveu, não saber por que respostas mudam com a mesma prompt, ou não saber por que o modelo 'esquece' o início da conversa em sessões longas.
Solução
Entender que LLMs são modelos estatísticos de previsão de tokens, não sistemas de raciocínio. O contexto importa: tudo que está na context window influencia a geração. Para determinismo: temperatura 0. Para criatividade: temperatura 0.7-1. Para conversas longas: gerenciar o contexto ativamente (sumarizar histórico).
Tip
O LLM não tem memória entre conversas — só o que está no contexto conta. 'Hallucination' acontece porque o modelo gera o token mais provável, não necessariamente o correto. Para tasks de código ou facts: temperatura baixa. Para brainstorm/creative: temperatura alta.
// Parâmetros chave ao chamar a API
const response = await openai.chat.completions.create({
  model: 'gpt-4o',
  temperature: 0,      // 0 = determinístico, 1 = criativo
  max_tokens: 1000,    // limite de output
  top_p: 1,            // nucleus sampling (alternativa à temperatura)
  messages: [
    { role: 'system', content: 'Você é um assistente técnico.' },
    { role: 'user', content: 'Explique closures em JS' }
  ]
})

// Contar tokens antes de enviar (evitar erros de limite)
import { encoding_for_model } from 'tiktoken'
const enc = encoding_for_model('gpt-4o')
const tokens = enc.encode(myPrompt).length
console.log(`Tokens: ${tokens} / 128000`)

// Temperatura por caso de uso
const configs = {
  code:     { temperature: 0,   top_p: 1 },   // preciso
  qa:       { temperature: 0.2, top_p: 1 },   // balanceado
  creative: { temperature: 0.8, top_p: 0.95 }, // diverso
}
Q.O que são tokens e por que importam?
A.Tokens são a unidade de processamento dos LLMs — nem sempre palavras (subword tokenization). 'Tokenization' pode ser 3 tokens. Importam porque: (1) limitam o contexto máximo, (2) definem o custo (APIs cobram por token), (3) modelos têm limites de output em tokens. Regra prática: ~1 token = ~4 chars em inglês, ~3-4 chars em português.
Q.O que é temperatura em LLMs?
A.Temperatura controla a "criatividade" da geração. Temp=0: sempre escolhe o token mais provável (determinístico, bom para código/facts). Temp=1: distribuição original do modelo (criativo mas menos preciso). Temp>1: ainda mais aleatório. Para produção com código ou dados: temp=0. Para geração de texto criativo: 0.7-1.
Q.O que é context window e como gerenciar quando é longa?
A.Context window é a memória de trabalho do LLM — tudo que ele "vê" ao gerar. Quando o histórico de conversa supera o limite: summarization (resumir os turnos antigos), sliding window (descartar os mais antigos), ou RAG (buscar contexto relevante em vez de passar tudo). Modelos recentes focam mais nos extremos do contexto (início e fim).
84/122← →