Toda vez que alguém me pergunta “mas como o ChatGPT realmente funciona?”, eu esbarrava em duas respostas prontas: ou um “é mágica” disfarçado de explicação, ou um mergulho em matemática que me fazia perder a pessoa na segunda frase. Não precisa ser assim. Dá pra explicar direito, sem simplificar até virar mentira, e sem exigir que você saiba de cálculo. É isso que eu quero fazer aqui.
Não é mágica: é um previsor de próxima palavra, só que gigante
Na essência, um LLM (Large Language Model, “modelo de linguagem grande”) faz uma coisa só: dado um pedaço de texto, ele calcula qual é a palavra mais provável de vir a seguir. É o mesmo princípio do corretor do teclado do seu celular quando sugere a próxima palavra enquanto você digita, só que treinado com uma fração relevante de tudo que já foi escrito publicamente na internet, com bilhões de ajustes internos, em vez de umas poucas mensagens suas.
A conversa que parece fluida é, mecanicamente, essa previsão repetida centenas de vezes: o modelo prevê uma palavra, coloca ela no final do texto, olha pra esse texto (agora um pouco maior) e prevê a próxima, de novo, e de novo, até decidir que a resposta terminou. Não existe um “pensamento” acontecendo entre uma palavra e outra, existe um padrão estatístico muito bem calibrado rodando muito rápido. As IAs generativas não pensam como humanos, elas simulam raciocínio por meio de cálculos estatísticos e padrões aprendidos em dados. O que parece “pensamento” é, na verdade, um processo de previsão sequencial altamente sofisticado.
Isso não diminui o que a ferramenta faz. Prever a próxima palavra com precisão suficiente pra escrever código, resumir um contrato ou explicar uma piada exige que o modelo tenha capturado, nos seus números internos, uma representação bastante rica de como a linguagem (e o mundo que ela descreve) funciona. Mas entender que a base é previsão, não raciocínio consciente, explica praticamente todo comportamento estranho que essas ferramentas têm, e vamos chegar lá.
De texto a números: tokens
Um modelo não lê texto do jeito que você lê. Antes de qualquer coisa, o texto é quebrado em pedaços menores chamados tokens, pense neles como peças de um quebra-cabeça de linguagem. Um token pode ser uma palavra inteira (“casa”), um pedaço de palavra (“gost” + “os” + “íssimo”) ou até um sinal de pontuação.
Essa etapa explica algumas manias curiosas dos LLMs. Pedir pra um modelo contar quantas letras “R” tem a palavra “morango”, por exemplo, é um teste incomum pra ele. Ele não está enxergando as letras M-O-R-A-N-G-O uma por uma, está enxergando um ou dois tokens que representam a palavra inteira. É como pedir pra você contar as letras de uma palavra escrita numa língua que você só reconhece de vista, sem soletrar.
Dando significado aos números: embeddings
Cada token vira uma lista de números, um embedding, que representa o significado daquele pedaço de texto como uma posição num espaço com milhares de dimensões. Palavras com sentidos parecidos ficam posicionadas perto umas das outras nesse espaço. Um exemplo clássico: se você pegar a posição de “rei”, subtrair a posição de “homem” e somar a posição de “mulher”, o resultado cai bem perto da posição de “rainha”. O modelo nunca foi ensinado explicitamente que “rainha é o feminino de rei”, essa relação emergiu sozinha da forma como essas palavras aparecem no texto.
É esse espaço numérico, não um dicionário de regras, que carrega o “entendimento” de linguagem do modelo.
O truque central: Atenção
Uma mesma palavra muda de sentido dependendo do que está ao redor dela. “Fui sentar no banco da praça” e “fui sacar dinheiro no banco” usam a mesma palavra pra coisas completamente diferentes. Um leitor humano resolve isso sem esforço, olhando o resto da frase. Os LLMs fazem algo parecido através de um mecanismo chamado atenção (attention), e este mecanismo foi responsável pelo avanço técnico, de 2017, que tornou os modelos atuais possíveis.
Na prática, a atenção deixa cada token “olhar” pra todos os outros tokens da frase e decidir quais são relevantes pra entender o seu próprio significado naquele contexto específico. No exemplo do banco, o token “praça” puxa o significado de “banco” pra um lado; o token “dinheiro” puxa pro outro. Os modelos atuais fazem isso em paralelo com várias “cabeças de atenção” diferentes ao mesmo tempo, uma pode estar de olho na gramática (sujeito e verbo concordando), outra em referências (a quem “ele” se refere duas frases atrás), e outra no tema geral do texto. Essas camadas de atenção se empilham dezenas de vezes, uma em cima da outra, refinando o entendimento a cada passagem.
Texto de entrada
↓
Tokens
↓
Embeddings (números com significado)
↓
Atenção, em várias camadas (cada palavra "olha" as outras)
↓
Probabilidade de cada palavra possível ser a próxima
↓
Palavra escolhida e o processo recomeça
Como o modelo aprende? Treinamento
O treinamento de um LLM começa de um jeito quase ingênuo: pega-se uma quantidade gigantesca de texto (bilhões de páginas) esconde-se a próxima palavra de cada trecho, e pede-se pro modelo (que começa com números completamente aleatórios) tentar adivinhar. No começo ele erra quase tudo. Cada erro é comparado com a resposta certa, e um algoritmo ajusta ligeiramente os bilhões de números internos do modelo (os parâmetros) na direção que teria deixado aquele palpite um pouco melhor. Repete-se esse processo trilhões de vezes.
Não existe nenhum ponto nesse processo em que alguém “ensina uma regra” pro modelo. Gramática, fatos sobre o mundo, estilo de escrita, até um pouco de raciocínio lógico, tudo isso emerge indiretamente, como subproduto de ficar cada vez melhor em adivinhar a próxima palavra de textos escritos por humanos que sabiam gramática, fatos e lógica.
De “completar frase” a “conversar direito”: ajuste fino
Um modelo treinado só dessa forma sabe completar texto, mas não necessariamente sabe se comportar como um assistente, ele pode continuar uma pergunta com outra pergunta parecida, em vez de respondê-la, porque isso também é um jeito estatisticamente comum de continuar um texto. É por isso que existe uma segunda etapa de treinamento, mais curta: o modelo é ajustado com exemplos de conversas reais entre uma pessoa pedindo ajuda e um assistente respondendo bem, e depois refinado com feedback humano, pessoas avaliando qual entre várias respostas possíveis é mais útil, mais segura, mais honesta. É essa etapa que transforma um “previsor de texto” cru num assistente que segue instruções.
Como a resposta nasce: geração palavra por palavra
Na hora de responder, o modelo repete o ciclo que já descrevemos: calcula a probabilidade de cada palavra possível ser a próxima, escolhe uma, adiciona ela ao texto, e recomeça. A escolha não é sempre “pegar a palavra mais provável”, existe um parâmetro chamado temperatura que controla o quanto o modelo se permite escolher uma palavra menos óbvia entre as prováveis. Temperatura baixa deixa a resposta mais previsível e repetitiva; temperatura mais alta deixa mais variada e “criativa”, e é por isso que a mesma pergunta pode gerar respostas ligeiramente diferentes em conversas separadas.
Esse processo também tem um limite físico: a janela de contexto, a quantidade de texto (medida em tokens) que o modelo consegue considerar de uma vez. Depois desse limite, o começo da conversa simplesmente não está mais disponível pro modelo, não porque ele “esqueceu” no sentido humano, mas porque saiu da janela.
Por que elas alucinam?
Essa é a consequência mais importante de tudo que vimos até aqui: o modelo não tem um banco de dados de fatos verificados que ele consulta antes de responder. Ele gera a continuação estatisticamente mais plausível, ponto final. Na maioria das vezes isso coincide com a verdade, porque afirmações verdadeiras tendem a estar mais representadas e mais consistentes nos dados de treino do que erros aleatórios. Mas quando o padrão mais plausível não é o fato correto, uma citação que soa real, uma função de biblioteca que “faria sentido” existir mas não existe, uma data errada dita com total confiança, o modelo não tem nenhum mecanismo interno de checagem pra perceber isso. Ele não sabe que não sabe.
É por isso que ferramentas de busca acopladas a um LLM ajudam tanto: elas não corrigem o mecanismo de geração, mas dão ao modelo um texto real e atual pra basear a próxima previsão, em vez de depender só do que foi memorizado (de forma difusa, estatística) durante o treinamento.
O que isso explica sobre as manias das IAs?
Juntando tudo: é por operar em tokens, não em letras, que os modelos erram tarefas de contar caracteres. É por gerarem o texto mais plausível, não o texto verificado, que soam confiantes até quando estão errados. E é por serem, na base, motores de padrão estatístico, que eles são surpreendentemente bons em tarefas que têm muito exemplo no texto humano (escrever, resumir, programar em linguagens populares) e mais instáveis em tarefas raras ou que exigem certeza absoluta.
Tem uma peça que costuma confundir mesmo quem já entendeu tudo até aqui: se você usa ChatGPT ou Claude com a função de memória ativada, e ele lembra numa conversa nova que você é Engenheiro de Software, por exemplo, parece que o modelo guardou aquilo por conta própria. Não guardou. O modelo em si continua sem memória nenhuma entre uma conversa e outra, cada nova conversa começa de uma janela de contexto vazia, do zero, exatamente como descrevemos lá em cima. O que muda é que o produto ao redor do modelo (não o modelo) guarda esse tipo de informação separadamente, num banco de dados comum, e cola um resumo dela de volta no início da conversa nova, como mais um pedaço de texto dentro da janela de contexto. Pro modelo, é indistinguível de você ter acabado de digitar “ah, e eu sou Engenheiro de Software” de novo, só que quem “digitou” dessa vez foi o produto, não você. A memória é real e útil, mas ela mora na aplicação, não no cérebro estatístico que prevê a próxima palavra.
Entender isso muda a forma como eu uso essas ferramentas no dia a dia: não desconfio delas por apenas desconfiar, mas também não confio cegamente numa resposta só porque veio bem escrita e segura de si. Apesar de todas as evoluções que elas tiveram e estão tendo atualmente, a fluência do texto e a correção do fato são coisas completamente independentes pra um modelo desses, e vale lembrar disso principalmente na próxima vez que a resposta vier rápida e confiante demais.