brainax

O chat por dentro: system, user, histórico

Aula 11 de 23 do curso “Básico de IA”. Grátis, com animações e teste.

Um chat é um documento longo

Parece que vocês estão conversando. Na real, o app junta tudo em um único documento com papéis. System: as instruções ocultas do app. User: suas mensagens. Assistant: as respostas do modelo. O modelo recebe o documento inteiro e escreve a próxima fala de assistant. Parece estranho, mas é simples: um chat é um roteiro que o modelo continua.

System: as configurações ocultas

A mensagem system fica bem no começo, antes da sua primeira palavra, e normalmente você não a vê. Quem escreve são os criadores do app: que tom usar, o que não responder, quais ferramentas existem. As instruções personalizadas, ou seja, o campo nas configurações onde você escreve algo como “responda curto, sou estudante”, também vão nessa parte. Por isso valem em todo chat novo.

Ele relê tudo toda vez

Entre uma mensagem e outra, o modelo não lembra de nada. Quando você manda uma nova, o app envia de novo todo o histórico, de cima a baixo. Mas ele não enxerga uma quantidade infinita. A janela de contexto é quanto texto o modelo consegue ler de uma vez, medida em tokens, ou seja, pedaços de texto. Num chat muito longo, mensagens antigas podem sair da janela ou pesar menos.

Quando o chat sai dos trilhos

O histórico ajuda enquanto é útil. Exemplo: você está escrevendo uma redação, descartou o primeiro roteiro, mas o modelo insiste em voltar a ele. O motivo: o roteiro antigo continua no histórico e o modelo relê tudo a cada vez. A solução: um chat novo. Cole ali um resumo curto: o tema, o que já foi decidido e o que não serve. Um histórico limpo costuma funcionar melhor que dez discussões no antigo.

A IA lembra de outros chats?

O modelo em si não: ele não é retreinado com suas conversas na hora, e cada chat novo começa em branco. Mas muitos apps têm uma função de memória. Ela guarda anotações sobre você, como “estudando para prova de química”, e coloca no início do chat, como uma mensagem system. Geralmente dá para ver e apagar essas anotações nas configurações. Vale conferir o que tem lá.

Teste-se

  1. Você manda uma mensagem nova num chat longo. O que o modelo recebe?
    Resposta certa: Todo o histórico de novo, de cima a baixo. Entre mensagens o modelo não lembra de nada, então o app envia todo o histórico toda vez, enquanto couber na janela de contexto.
  2. O modelo insiste numa ideia que você descartou. O que é melhor?
    Resposta certa: Um chat novo com um resumo curto do que importa. A ideia descartada está no histórico e o modelo a relê. No chat novo ela não existe, e o que importa você leva.
  3. Para onde vão as instruções personalizadas das configurações?
    Resposta certa: Na parte system oculta de cada chat novo. O app as coloca no início de cada chat, como uma mensagem system. Elas não retreinam o modelo.

← Um prompt que funciona Mostre um exemplo: few-shot →