Alura > Cursos de Inteligência Artificial > Cursos de IA para Programação > Conteúdos de IA para Programação > Primeiras aulas do curso ChatGPT: otimizando a qualidade dos resultados

ChatGPT: otimizando a qualidade dos resultados

Criando os primeiros prompts - Apresentação

Valquíria: Olá, meu nome é Valquíria e serei sua instrutora nesse curso.

Valquíria Alencar é uma mulher branca de olhos castanhos. Tem cabelos loiros e lisos abaixo dos ombros. Usa piercing no septo e um moletom azul com o logotipo da Alura.

Estou em um dos nossos estúdios com o Guilherme.

Guilherme Silveira é uma pessoa branca não binária. Tem cabelo castanho curto. Usa piercing na orelha e camiseta branca com estampa de monstros pretos.

Sabe quando você utiliza o ChatGPT e, às vezes, ele não traz respostas muito confiáveis ou que não estavam acordo com aquilo que você esperava?

Por isso, neste curso vamos abordar como criar prompts para ter respostas mais confiáveis e garantir a reprodutibilidade.

Guilherme: Por exemplo, quando converso com a Valquíria e preciso de um favor, peço: "Valquíria, preciso desenvolver essa parte aqui do código que faz ABC". Se ela me disser algo que não foi exatamente o que eu pedi, conseguimos conversar, certo? Porque é síncrono. Ou seja, eu falo, você fala e nos acertamos.

Não precisamos acertar de primeira, pois é praticamente impossível entender rapidamente o que queremos, especialmente quando nem eu sei direito o que queria. É um caos.

Com a máquina é o mesmo desafio. Quando conversamos com as inteligências artificiais (IA), temos a mesma dificuldade.

Se eu pedir algo de primeira, a chance da IA acertar e entender o que eu queria 100% das vezes não é muito garantida.

Por isso, precisamos encontrar técnicas para pedir algo para a inteligência artificial com nossas palavras de maneira que ela entenda todas às vezes que fizermos um pedido. Queremos rodar e automatizar esse processo para pedir inúmeras vezes. Precisamos de boas práticas e de técnicas baseadas na experiência empírica, ou seja, que mostrem que isso funciona.

Valquíria: Perfeito, Guilherme. E, para acompanhar o curso, não é necessário ter nenhum pré-requisito e nem saber programar. Vamos começar?

Criando os primeiros prompts - Utilizando diferentes estratégias para criar prompts

Valquíria: Olá, Guilherme! Vamos começar a praticar e criar os primeiros prompts?

Guilherme: Vamos lá! Primeiramente, vamos fazer uma promoção de Natal. É um exemplo clássico de uso do ChatGPT.

Lembrando que se você utilizar a versão gratuita, provavelmente vai utilizar a versão disponibilizada. Nesse momento, estão disponibilizando o 3.5. Se você utilizar a versão paga do ChatGPT, você pode escolher o GPT-4 que é ainda melhor.

Vamos colocar no GPT-4, mas podemos testar os mesmos prompts no 3.5 e no 4, ok? A versão 4 tem um limite de mensagens por hora que também pode mudar futuramente à medida que quem desenvolveu estabeleça preços diferentes.

Interagindo com o ChatGPT

No GPT-4, vamos escrever o seguinte na caixa de "Send a message":

Quero fazer o anúncio de um novo preço para uma promoção de natal para assinatura de um plano mensal de cesta básica. O novo valor da promoção vale para 12 meses de assinatura de 40kg por R$ 30,00.

Valquíria: Está muito barata essa promoção!

Guilherme: Realmente, colocamos uma mensalidade com um valor baixo intencionalmente.

Após apertar "Enter", recebemos a resposta do GPT-4:

�� Promoção Especial de Natal! ��

Aproveite a nossa incrível oferta de Natal e garanta a sua assinatura mensal de cesta básica com preço imperdível! ��

�� Plano Mensal de Cesta Básica - 40kg por apenas R$ 30,00!

Não perca essa oportunidade única e garanta a sua cesta básica por um preço promocional! Faça sua assinatura agora mesmo e celebre o Natal com tranquilidade e segurança na alimentação da sua família. ��

Acesse o site ou entre em contato para garantir a sua assinatura e aproveitar esta incrível oferta de Natal. Válido por tempo limitado. ��

Feliz Natal e um próspero Ano Novo! ����

A interface do ChatGPT continua assim como utilizamos em outros cursos: digitamos a mensagem e recebemos a resposta para interagir com a IA. Pode haver um tempo de espera para receber as respostas, como aconteceu nesse instante.

Eu acho que está bem ruim essa propaganda para ser sincero. Está bem informativa, mas pode melhorar. A inteligência artificial pegou os pequenos detalhes do prompt e colocou em frases longas.

Mas, funcionou. Nos entregou um anúncio. Essa é a forma tradicional de se comunicar com o ChatGPT.

Agora, vamos copiar o mesmo prompt com "Ctrl + C" para testar a mesma mensagem no GPT-3.5 e conferir a velocidade e a resposta. Para isso, abrimos uma nova conversa ao clicar em "+ New Chat" no canto superior esquerdo e colamos nossa solicitação.

Ótimo! Aqui está um exemplo de anúncio que você pode usar para promover sua promoção de Natal:

"Este Natal, temos uma promoção incrível para você! Assine nosso plano mensal de cesta básica por 12 meses e receba 40kg de alimentos por apenas R$ 30,00 por mês! Isso mesmo, economize muito e garanta sua alimentação durante todo o ano. Não perca tempo e aproveite essa oportunidade agora mesmo!"

Lembre-se de destacar os benefícios da promoção, como a economia que os clientes terão ao assinar o plano por 12 meses e a garantia de receber uma cesta básica completa a cada mês. Certifique-se também de mencionar a data de início e término da promoção, para criar um senso de urgência e incentivar os clientes a agir rapidamente. Boa sorte com sua promoção de Natal!

Nesse caso, o GPT-3.5 foi mais rápido. Mas, no geral, a versão 4 fica melhor à medida que o guiamos. E justamente vamos aprender como guiá-lo.

Colocar um título

Valquíria: Agora, podemos pedir um título para essa promoção e conferir o que o GPT 3.5 sugere:

Preciso de um título para essa promoção.

Guilherme: A sugestão do GPT foi:

Que tal usar um título chamativo e que desperte o interesse do seu público? Algumas exemplos de títulos que você pode usar para sua promoção de Natal de assinatura de plano mensal de cesta básica são:

  1. "Natal mais generoso com a nossa promoção de cesta básica!"
  2. "Garanta sua alimentação o ano todo com nossa promoção de Natal!"
  3. "Economize muito na sua cesta básica com nossa promoção especial de Natal!"
  4. "Promoção de Natal: assine por 12 meses e receba 40kg por R$30/mês!"
  5. "Celebre o Natal com uma cesta básica completa e economize com nossa promoção!"

Escolha um título que mais se adequa à sua mensagem e que vai chamar a atenção do seu público-alvo. Certifique-se de que o título é fácil de entender e que destaca os principais benefícios da promoção.

Deram algumas opções que fizeram sentido.

Vamos voltar ao chat anterior para conferir as sugestões do ChatGPT-4. Mesma mensagem: "preciso de um título para essa promoção". Será que vai dar uma ou mais sugestões?

�� "Natal de Mesa Farta: Cesta Básica 40kg por R$ 30,00!" ��

Deu só uma sugestão. Porque falamos que era preciso um título, então a IA deu um e não cinco.

Isso já nos indica que quando queremos que a ação seja repetitiva, é preciso entender como se comunicar com o ChatGPT.

Sugerir começo da frase

Valquíria: Fizemos esse formato padrão de pedir algo para o ChatGPT, mas existem outras formas. Por exemplo, podemos dar alguma dica de como começa a frase.

Guilherme: Vamos fazer esse de sugerir um começo de frase.

Vamos criar um novo chat e copiar o primeiro exemplo com o qual criamos o anúncio. Vamos manter o ChatGPT-4. Apesar de ser um pouco mais lento, a qualidade vai ficar melhor no geral.

Agora, vamos colocar o mesmo prompt, só que no final vamos adicionar "Natal é uma época de…". Só as reticências já dão a dica: complete.

Quero fazer o anúncio de um novo preço para uma promoção de natal para assinatura de um plano mensal de cesta básica. O novo valor da promoção vale para 12 meses de assinatura de 40kg por R$ 30,00.

Natal é uma época de…

Valquíria: Com isso, ela vai nos dar a conclusão.

Guilherme: Vamos dar um "Enter" e conferir a resposta:

Celebre o Natal com uma oferta imperdível! ����

Aproveite nossa promoção especial de Natal e garanta 12 meses de assinatura do plano mensal de cesta básica, com 40kg de produtos, pro apenas R$ 30,00 [restante omitido…]

A sugestão não funcionou muito bem. Completo "Natal é uma época de… Celebre o Natal".

Na versão 4, nesse instante que eu rodei, não deu certo. Porém, quando eu testei no meu computador em casa, funcionou. E esse é o problema. Afinal, se queremos automatizar o processo de criação de propagandas, é preciso garantir o resultado.

Fazer um manual é um processo de exploração. Agora, se queremos garantir, precisamos aprender quais são as táticas e as formas diferentes de comunicação com o ChatGPT.

Valquíria: Para garantir a reprodutibilidade desse processo.

Guilherme: Vamos pegar outro exemplo que tínhamos anotado, na esperança que o complementar a frase funcione.

Preciso de um título para um curso sobre JavaScript básico que implementa um PONG em JavaScript usando ChatGPT.

Introdução a JavaScript…

Valquíria: Dessa vez, o ChatGPT-3.5 entendeu.

"Introdução a JavaScript: Crie seu próprio jogo PONG com a ajuda do ChatGPT"

Guilherme: Alguém poderia argumentar que foi a versão do ChatGPT, que era 3.5. Por isso, vamos criar um chat novo, só para colocar o mesmo comando para a versão 4 e executar novamente.

Introdução ao JavaScript com ChatGPT: Crie seu próprio PONG Passo a Passo.

Também entendeu. Essa é forma de complementar, ou seja, concluir o texto que começamos.

Fornecer exemplos

Valquíria: Existe outra forma onde você vai dar vários exemplos. E, seguindo esses exemplos, a IA vai te dar uma resposta parecida com aquilo que você mostrou.

Guilherme: Vamos pegar um exemplo de curso de Python básico que faz um tradutor de texto:

Preciso do título para um curso.

Exemplo: Python básico implementando um tradutor de texto
Resposta: Traduzindo qualquer linguagem com Python

Damos o exemplo e também a resposta que esperamos que o computador deveria retornar nesse caso.

Dessa vez, colocamos uma resposta absurda. Estou testando respostas incríveis. Vamos acrescentar outro exemplo ainda no mesmo prompt.

Exemplo: Excel para organizar a semana
Resposta: Um dia a dia além do extraordinário com Excel

Esse curso vai ensinar a usar o Excel para colocar o dia da semana e o horário que é algo chato. Mas, a resposta tenta trazer emoção.

Valquíria: Você pode se tornar marqueteiro.

Guilherme: Eu quero que o ChatGPT entende essa ideia de exagerar. Acrescentamos um terceiro exemplo com resposta absurda.

Exemplo: Análise de dados para detectar anomalias médicas.
Resposta: Revolucionando a medicina moderna com análise de dados e salvando vidas

Queremos exagerar, porque queremos que a IA também crie algo exagerado. Por fim, vamos colocar o exemplo que queremos que ele complete:

Exemplo: JavaScript básico que implementa um PONG com JavaScript usando ChatGPT.
Resposta:

Repare que não fizemos apenas o pedido, mas também demos vários exemplos. São os bons exemplos do que gostaríamos. Vamos conferir o que o ChatGPT 3.5 gerou:

Desafiando suas habilidades em JavaScript com jogo clássico PONG implementado com ChatGPT.

Valquíria: Foi mais ou menos, mas deu para sentir um pouco de animação.

Guilherme: Agora, vamos testar na versão 4. Não vamos testar todos os prompts no 4, mas tem alguns que vale conferir.

Dominando o Clássico PONG: Aventuras com JavaScript e ChatGPT

Compreendeu melhor a ideia do curso exagerado.

Valquíria: Agora eu fiquei com vontade de fazer esse curso.

Guilherme: Essa é uma terceira forma de se comunicar. As estratégias foram:

  1. Falar o que precisamos, ordenar: "eu quero, eu preciso, me dê";
  2. Completar, fazer uma conclusão: "Curso básico de Python…";
  3. Demonstrar alguns exemplos (Few shots).

O termo "shots" são esses exemplos ou tentativos e few significa "pouco".

Contudo, percebemos que algumas vezes conseguimos o resultado que queríamos, enquanto algumas vezes não. Como garantir que toda vez tenhamos o resultado desejado? Afinal, vamos automatizar.

Temos duas opções com o ChatGPT. Uma é o ser humano usá-lo no dia a dia e pegar e alterar a resposta. Assim, não precisa ser perfeito. Mas, a outra opção é automatizar. Para isso, é preciso garantir a reprodutibilidade. Vamos começar a aprender as técnicas para isso.

Melhorando a confiabilidade dos resultados - Dividindo tarefas complexas em subtarefas mais simples

Valquíria: Aprendemos formas diferentes de criar as prompts. Como podemos melhorá-las mais ainda, Guilherme?

Guilherme: Vamos pedir algo mais complexo. À medida que fazemos isso, problemas vão surgindo.

Criaremos uma campanha nova. Este exemplo é bom porque exige muitos conhecimentos sobre o que é campanha de marketing, campanhas de vendas, entre outros.

Para isso, acessaremos o prompt do ChatGPT e escreveremos o seguinte texto:

Estou lançando uma campanha nova de natal para um novo produto na nossa plataforma de assinatura de supermercado, "o mercado de frutas da temporada" no youtube. Sugira tudo que eu preciso para criar uma ótima campanha.

Este texto é 100% subjetivo.

Valquíria: É amplo, né. Pode trazer inúmeros resultados.

Guilherme: Lembrando que, se você não se satisfaz com a média ou mediana do mundo — neste caso, das campanhas —, é exatamente ela que o ChatGPT nos fornece, porque o seu retorno se baseia na linguagem que as pessoas usam nas fontes buscadas.

Pressionaremos "Enter" e veremos o retorno abaixo:

Parabéns pelo lançamento da sua nova campanha de Natal! Abaixo estão algumas sugestões que você pode considerar para criar uma ótima campanha:

1 - Defina o objetivo da campanha: Antes de começar, é importante definir claramente qual é o objetivo da campanha. Você deseja aumentar as vendas de seu novo produto? Aumentar a conscientização sobre a marca? Ou talvez obter mais inscrições na plataforma de assinatura? Compreender seu objetivo ajudará a orientar suas decisões criativas.

2 - Identifique o público-alvo: A quem você está tentando atingir com sua campanha? Qual é o perfil do seu público-alvo? Isso ajudará você a decidir sobre o tom da sua campanha e a mensagem que deseja transmitir.

3 - Crie um conceito criativo: Uma vez que você tenha definido o objetivo da sua campanha e o público-alvo, é hora de criar um conceito criativo. O objetivo é criar um vídeo cativante que atraia a atenção do público e transmita a mensagem desejada. Certifique-se de que o vídeo seja divertido, emocionante e envolvente.

Retorno omitido

Ele nos deu um guia de coisas para fazermos.

Valquíria: São dicas, na verdade.

Guilherme: Gostaríamos que ela tivesse feito isso para nós, sugerindo um objetivo para a campanha, um público-alvo, um conceito criativo, e assim por diante. Queríamos a campanha propriamente dita.

Valquíria: E se especificarmos exatamente o retorno que queremos, como, por exemplo, o título da campanha, como será o vídeo do YouTube e coisas assim?

Guilherme: Ótimo. Iremos até o texto que mandamos anteriormente e clicaremos no ícone de edição à sua direita. Editaremos o texto, substituindo a frase "Sugira tudo que eu preciso para criar uma ótima campanha" pelo parágrafo abaixo:

O vídeo no youtube precisa do título, descrição, ideia de thumbnail e texto no thumbnail. Sugira a duração em minutos e em quais canais posso fazer parceria para divulgar a campanha. Descreva também os pontos fortes dessa campanha.

O texto completo ficará assim:

Estou lançando uma campanha nova de natal para um novo produto na nossa plataforma de assinatura de supermercado, "o mercado de frutas da temporada" no youtube. Sugira tudo que eu preciso para criar uma ótima campanha.

O vídeo no youtube precisa do título, descrição, ideia de thumbnail e texto no thumbnail. Sugira a duração em minutos e em quais canais posso fazer parceria para divulgar a campanha. Descreva também os pontos fortes dessa campanha.

Descrevemos item por item o que queremos. Pressionaremos "Enter" e veremos o seguinte um retorno com o título, a descrição, uma ideia de thumbnail, o texto do thumbnail, a duração, os canais de parceria e os pontos fortes da campanha.

Titulo: "Descubra o Sabor do Natal com o Mercado de Frutas da Temporada!"

Descrição: Junte-se a nós para descobrir as frutas mais deliciosas e frescas da temporada de Natal! Com o Mercado de Frutas da Temporada, você pode desfrutar de frutas sazonais de alta qualidade entregues diretamente na sua porta. Nossa plataforma de assinatura torna a compra de frutas fácil e conveniente para você e sua família neste Natal. Assista ao nosso vídeo e descubra como podemos ajudá-lo a desfrutar de um Natal saudável e delicioso!

Ideia de thumbnail: Uma imagem de uma mesa festiva de Natal, com uma variedade de frutas frescas sazonais, como tangerinas, romās, uvas e maçãs. O logotipo "Mercado de Frutas da Temporada" pode ser colocado no canto da imagem.

Texto no thumbnail: "Descubra o Sabor do Natal com o Mercado de Frutas da Temporada!"

Duração: Recomendamos um vídeo de cerca de 1 minuto e meio a 2 minutos, para manter a atenção do público e fornecer informações suficientes sobre a campanha.

Canais de parceria: Recomendamos entrar em contato com influenciadores que compartilhem nosso interesse em estilo de vida saudável, alimentação saudável e vida sustentável. Algumas sugestões de canais de parceria incluem canais de culinária saudável, canais de fitness e bem-estar, canais de moda sustentável e canais de estilo de vida consciente.

Pontos fortes da campanha: A campanha destaca a conveniência e qualidade do Mercado de Frutas da Temporada, oferecendo frutas frescas e sazonais para as festas de Natal. A mensagem da campanha também é compatível com a crescente preocupação do público em geral com a saúde e o bem-estar, e o interesse crescente em alimentos saudáveis e sustentáveis. A ideia de uma assinatura de mercado também promove uma experiência contínua e a conveniência de ter frutas frescas entregues diretamente na porta do consumidor. A campanha tem um apelo universal, pois a fruta é uma parte importante de muitas culturas e celebrações de Natal em todo o mundo.

Fizemos o que a Valquíria citou, "quebramos" o nosso pedido genérico em pequenas tarefas.

Valquíria: Além disso, podemos pedir o formato de saída, Guilherme. Ele retornou em formato de texto, mas podemos especificar qual formato nós queremos.

Guilherme: Isso mesmo. Cada vez que executamos um script, ele pode entender o retorno de uma forma diferente. Se clicarmos no ícone de edição do mesmo script, não alterarmos nada e rodarmos de novo, o retorno será alterado e mudará totalmente a sua formatação, por vezes modificando textos corridos para tópicos e vice-versa.

Para um ser humano, basta ler e decidir o que fazer com estas informações. Entretanto, queremos automatizar esse processo.

Devemos pensar em como fazer isso. Se quisermos criar thumbnails novas para uma quantidade grande de vídeos passados que já existem no YouTube, precisaremos criar um processo automatizado. Para isso, precisamos de um formato que a máquina consiga ler e que seja possível exportar para algum lugar.

Vamos editar novamente o último script que fizemos e adicionar o parágrafo abaixo para forçar um formato e garantir um tipo de retorno específico.

O vídeo no youtube precisa do título, descrição, ideia de thumbnail e texto no thumbnail. Sugira a duração em minutos e em quais canais posso fazer parceria para divulgar a campanha. Descreva também os pontos fortes dessa campanha.

Devolva o resultado em código Javascript:

```

titulo = ""

ideia_de_thumbnail = ""

descricao = ""

duracao = ""

canais = []

pontos_fortes = []

```

Entre crases triplas, não programamos nada, simplesmente adicionamos o formato que queremos (sem utilizar acentuação, pois é o formato comum no JavaScript).

As aspas permitem um retorno em texto. Já os colchetes definem um retorno com várias opções. Quem sabe programar conseguirá recolher a saída deste script e automatizar o processo.

Valquíria: Perfeito. Usar delimitadores, aspas e colchetes também são boas práticas. É sempre importante adicionar estas informações.

Guilherme: Vamos pensar na comunicação humana. Quando falamos, efetuamos pausas, ênfases, entre outras marcações. No texto, fazemos isso como um recurso para explicar ao outro lado o que está acontecendo, onde terminam e começam os raciocínios e o que é mais importante a ser considerado.

O texto completo do nosso script ficará assim:

Estou lançando uma campanha nova de natal para um novo produto na nossa plataforma de assinatura de supermercado, "o mercado de frutas da temporada" no youtube. Sugira tudo que eu preciso para criar uma ótima campanha.

O vídeo no youtube precisa do título, descrição, ideia de thumbnail e texto no thumbnail. Sugira a duração em minutos e em quais canais posso fazer parceria para divulgar a campanha. Descreva também os pontos fortes dessa campanha.

Devolva o resultado em código Javascript:

```

titulo = ""

ideia_de_thumbnail = ""

descricao = ""

duracao = ""

canais = []

pontos_fortes = []

```

Salvaremos e rodaremos novamente o script. O retorno será um bloco de código que conterá somente as informações que precisamos. Abaixo deste bloco, há um texto que não era necessário, e por isso ignoraremos.

Com isso, podemos automatizar o processo, porque se rodarmos novamente o mesmo script, teremos sempre o resultado com valores neste padrão solicitado.

Exemplo do que pode ser gerado no retorno:


const titulo = "Descubra as delícias do Natal com o Mercado de Frutas da Temporada";

const ideia_de_thumbnail = "Imagem colorida de uma cesta de frutas frescas com enfeites de Natal";

const descricao = "Prepare-se para um Natal saudável e saboroso com o Mercado de Frutas da Temporada! Inscreva-se agora e receba as melhores frutas frescas e da estação diretamente na sua casa, garantindo uma ceia cheia de nutrientes e sabor.";

const duracao = "1-2 minutos";

const canais = ["Canal de Receitas Saudáveis", "Canal de Estilo de Vida Saudável", "Canal de Dicas de Nutrição"];

const pontos_fortes = ["Foco na alimentação saudável durante o Natal", "Conveniência de receber frutas frescas em casa", "Promoções especiais e descontos para assinantes"];

Se quisermos outro padrão que não o JavaScript (como, por exemplo, um JSON), precisamos descrever sua estrutura. Esse padrão nem precisa estar ligado à programação.

Basta pensar em um formulário, onde preencheremos cada linha com os elementos e seus formatos. Com isso, garantimos o formato da saída.

Sobre o curso ChatGPT: otimizando a qualidade dos resultados

O curso ChatGPT: otimizando a qualidade dos resultados possui 90 minutos de vídeos, em um total de 33 atividades. Gostou? Conheça nossos outros cursos de IA para Programação em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda IA para Programação acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas