Os modelos mais interessantes que a gente tem acesso hoje são aqueles que raciocinam os reasoning models. O raciocínio é um processo que se compara realmente uma trilha de pensamento, né? 1111 pensar antes de responder por parte do modelo de linguagem. Então, quando a gente quer uma atividade um pouquinho mais complexa ou que exige um pouquinho mais de cuidado do modelo de linguagem.
Em que ele tende?
Só respondendo da forma tradicional, de uma vez a errar, a gente passa esse desafio para o modelo que raciocina. E aí, o que que vai acontecer por trás desse raciocínio? Na verdade, é algo bem simples que a gente poderia emular também.
Com um modelo tradicional que não raciocina?
Por exemplo, digamos que a gente quer encontrar os possíveis erros ou fraquezas de um documento, um contrato, se a gente pede isso para um modelo de linguagem no modo tradicional, ele vai sair ali calculando token por token para montar a resposta dele.
E considerando o contexto que é o conteúdo daquele documento, é uma resposta bem de bate pronto. Ele não fez uma análise, ele meramente calculou os tokens mais prováveis para vir na sequência.
Se a gente quer fazer isso com um pouco mais de cuidado, nós mesmos podemos, com o modelo tradicional desses, dividir essa tarefa em algumas etapas, a gente poderia começar dizendo.
Está aqui o meu documento. Eu quero identificar problemas nele e fraquezas. Vamos começar?
Pensando para um documento desse, quais são as coisas que a gente tem que mais se preocupar antes sequer de entrar numa análise se esse documento está de acordo ou não, e aí a gente pode pedir essa tarefa para o modelo de linguagem e ele vai sair com uma lista de Ah, esse é um contrato de tal tipo.
Está aqui uma lista de itens que normalmente a gente tem que se preocupar com esse contrato legal. Aí é uma segunda etapa. Eu posso dizer, é, considerando essa lista agora, quais desses itens aqui esse contrato está de acordo ou não? Ou melhor, ainda, posso falar, legal, vamos começar com item um, me dê aqui o quanto que esse contrato está de acordo com o item um. E aí ele vai montar essa resposta e a gente vai.
Levando todas essas respostas para um lugar único.
Então está aqui a lista de coisas para se preocupar. Está aqui o quanto que o documento está aderente ao item um, ao item 2, ao item 3, ao item 4. Cada uma dessas é uma pergunta. É um prompt para o modelo de linguagem e uma resposta.
E aí, no final, a gente pode falar assim ainda, mas e aí, faltou mais alguma coisa para a gente se preocupar? Ou você identifica algum outro item aqui fora esse que a gente conversou, que esse texto esteja.
É, tem espaço para melhoria? E aí ele vai dar mais essa resposta. Por fim, a gente pode pegar todas essas respostas de 7810 consultas que a gente fez para o modelo e falar agora compila isso para mim e uma resposta única.
Então vejam que a gente quebrou essa tarefa de achar deficiências e espaços para melhoria em um documento, em vez de fazer isso de uma vez de bate pronto em uma série de subtarefas que cada uma ali teve a sua.
Cada uma ali teve o seu espaço, teve o seu poder de processamento locado para aquela tarefa especificamente, e no fim a gente consolidou isso tudo. É essencialmente isso que os modelos que raciocinam fazem. Eles primeiro saem com uma lista de tarefas para executar em cima do nosso pedido, executam uma a uma sem a gente vê e no final compilam as melhores informações ali, o que eles são muito bons de fazer, compilar informações.
Para dar essa resposta para a gente. Então tem cenários em que a gente não precisa de um de um modelo que raciocina, é cenários que funcionam muito bem, de bate pronto. Um deles é tradução para traduzir algo. Esses modelos não precisam quebrar essa tarefa em várias, né? É uma tarefa de traduzir, sair cotou a quem mais provável, um depois do outro, transformando aquele texto de uma linguagem para outra, resolvido para escrever um e-mail também de resposta para um cliente.
Se eu já tenho o conteúdo que eu quero que esteja ali, é meramente um trabalho para formatar um texto, né? Pega esse texto aqui ou essa mensagem eu quero passar para o cliente e transforma o e-mail apropriado. Está tudo certo também um modelo tradicional, linear.
Da conta disso agora, quando eu tenho uma tarefa mais complexa, em que eu realmente preciso ali de ajuda no trabalho de revisão de cálculo, de verificação, em que eu mesmo faria aquilo usando várias etapas.
É um bom caso em que eu vou contar com o modelo de linguagem também para pensar em várias etapas.
Há tarefas que ficam um pouco aí na zona cinzenta que a gente pode resolver das 2 formas. E é uma questão muito de feeling, né? A gente, conforme vai utilizando os modelos, sentir em quais momentos ali o raciocínio é bem-vindo ou basta uma resposta direta. Tem também modelos com capacidades diferentes de raciocínio, né? Quanto mais tempo a gente deixar o modelo pensando raciocinando.
Mais tarefas, ele vai estar quebrando aquela atividade e isso em geral vai dar um nível de assertividade.
Maior para o modelo, mas a gente vai ter que esperar mais pela resposta, o que também é um problema, então alcançar esse cálculo correto de quando utilizar um modelo.
Direto ou um modelo que raciocina é fundamental para a gente extrair o melhor uso. O modelo que raciocina ele também é mais caro. Ele requer ali uma assinatura da ferramenta. Ele vai ter um limite de execuções por dia, especialmente no modo gratuito.
E vai ter aqueles modelos também que passam muito tempo raciocinando.
As versões pró desses algoritmos do chat GPTO Gugu de minainee, por exemplo, possuem essas versões, são mais caras, passam mais tempo pensando e tem respostas que estão sempre entre as melhores nos benchmarks de modelos que existem por aí.