image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image
Natália Silva
Natália Silva15/08/2024 11:14
Compartir

Engenharia de Prompt: entenda o conceito em menos de 5 minutos

  • #Engenharia de Prompt

Introdução

Para você entender melhor e em menos de 5 minutos, vamos fazer a seguinte analogia: imagine que você está em uma cozinha, tentando preparar o prato perfeito. A cozinha é uma inteligência artificial, como por exemplo o ChatGPT, e os ingredientes são as informações que você deseja extrair ou as tarefas que você quer que sejam realizadas. Agora, a "Engenharia de Prompt" é como o papel do chef que organiza e seleciona os ingredientes, decide a ordem de colocá-los na panela, e define como temperar tudo para obter o resultado desejado.


image


Ingrediente 1: Prompt

O "prompt" é a instrução que você dá à IA, como se fosse uma receita para o prato que você quer cozinhar. Pode ser algo simples como "fazer um bolo de chocolate" ou algo mais complexo como "desenvolver uma estratégia de marketing para um novo produto no mercado de tecnologia". O que você diz e como você diz importa muito, assim como escolher os ingredientes certos e a ordem de preparo em uma receita.


Ingrediente 2: Contexto e Detalhes

Agora, o que torna essa cozinha especial é que ela depende do quão bem você explica o que quer. Se você apenas disser "faça algo saboroso", a IA pode não saber exatamente o que você gosta, então o resultado pode não ser o que você esperava. Mas se você detalhar "quero um bolo de chocolate, que seja doce, macio, e que tenha cobertura crocante", aí a IA já tem um norte mais claro.

Da mesma forma, na Engenharia de Prompt, você precisa fornecer detalhes e contexto adequados. O nível de detalhe influencia o resultado, assim como os temperos e ingredientes escolhidos influenciam o sabor final de um prato.


Ingrediente 3: Teste e Ajuste

Se o prato não sair como você queria na primeira tentativa, o que você faz? Ajusta a receita. Talvez precise adicionar mais açúcar, ou menos fermento. Na Engenharia de Prompt, isso é equivalente a revisar e ajustar suas instruções. Talvez a primeira resposta da IA não seja exatamente o que você imaginava, então você refina o prompt, adiciona ou remove detalhes, ou reformula a instrução até obter o resultado desejado.


Conceito Por Trás da Engenharia de Prompt: Modelagem do Pensamento

Por trás de tudo isso, está a ideia de que você está, na verdade, modelando o pensamento da IA. Pense nisso como uma espécie de "programação" através de linguagem natural. Você não está escrevendo código no sentido tradicional, mas está moldando como a IA processa informações e gera respostas.

Então, Engenharia de Prompt é como ser um chef experiente em uma cozinha onde os ingredientes são informações e as ferramentas são palavras. Sua habilidade em escolher, combinar, e ajustar essas palavras determina a qualidade do "prato" que a IA vai servir.


Definição de Engenharia de Prompt

A Engenharia de Prompt nada mais é do que o desenvolvimento de instruções ou "prompts" para garantir que os modelos de IA, especialmente aqueles voltados para Processamento de Linguagem Natural (PLN), respondam de maneira mais eficiente às interações dos usuários.

Em essência, trata-se da habilidade de formular um pedido ideal para obter da IA uma resposta que seja o mais próxima possível daquilo que você pretende.

Quem já utilizou uma IA, como o ChatGPT, deve ter percebido que a forma como uma pergunta é construída pode alterar significativamente a qualidade da resposta.

Assim, um prompt bem elaborado pode resultar em respostas mais detalhadas, específicas e úteis, enquanto um prompt mal formulado pode produzir respostas superficiais, equivocadas ou fora do contexto.

Portanto, a Engenharia de Prompt envolve mais do que a seleção cuidadosa das palavras; ela abrange também a construção das perguntas em um contexto apropriado e a aplicação de técnicas que ajudam a refinar a resposta.

O objetivo final é orientar o modelo de IA para que ele forneça a melhor resposta possível para o cenário apresentado.


Aplicações Práticas de Engenharia de Software

Podemos, por exemplo, solicitar ao ChatGPT que faça um resumo de um artigo. Um prompt simples como "Resuma este artigo" pode gerar um resumo básico e pouco proveitoso.

Por outro lado, se eu ajustar o prompt para incluir instruções mais detalhadas, como "Resuma este artigo em 100 palavras, destacando os principais pontos e conclusões", o usuário pode direcionar o modelo de IA a produzir um resumo mais preciso e informativo.

Isso resulta em uma extração de informações mais precisa e de qualidade superior. Um exemplo comum de uso desses modelos é em chatbots para atendimento ao cliente.

Nesses cenários, é crucial definir cuidadosamente o tom das respostas, pois um modelo que não recebe prompts bem calibrados pode gerar respostas informais ou até mesmo ofensivas — o que poderia levar a prejuízos financeiros para a empresa.


Princípios para a criação de um prompt

A própria OpenAI, criadora dos modelos GPT, oferece um livro de receitas sobre como obter resultados melhores usando seus modelos.

Esses são princípios gerais, mas que provavelmente lhe ajudarão a obter respostas mais coerentes:


  • Ter clareza ao dar as instruções;
  • Dividir tarefas complexas em subtarefas menores;
  • Pedir para o modelo explicar seus passos antes de dar a resposta;
  • Pedir para o modelo dar justificativas de suas respostas;
  • Gerar várias respostas diferentes e pedir para o modelo escolher a melhor.


Alguns desses conceitos podem parecer muito óbvios, já outros foram demonstrados em artigos científicos, sendo que a maior parte desses testes foi realizada em cima do modelo GPT-3 ou do InstructGPT.


Principais técnicas de Engenharia de Prompt

Abaixo, vamos exemplificar algumas das técnicas mais comuns de Engenharia de Prompt, de forma detalhada, com exemplos práticos e acessíveis:


1. Zero-shot & Few-shot Prompting

Zero-shot Prompting é quando você pede à IA para realizar uma tarefa sem dar exemplos anteriores. É como pedir para alguém que nunca fez um bolo na vida para assar um. A pessoa tentará com base em conhecimento geral, sem nenhuma instrução específica.

Exemplo Prático:

  • Zero-shot: "Traduza esta frase para o francês: 'O gato está no telhado.'"
  • Resposta da IA: A IA tenta traduzir diretamente sem ter visto exemplos de traduções similares anteriormente.

Few-shot Prompting, por outro lado, é quando você dá alguns exemplos antes de pedir à IA para realizar uma tarefa. É como mostrar algumas receitas antes de pedir para a pessoa fazer o bolo.


Exemplo Prático 1:

  • Few-shot: "Aqui estão algumas frases traduzidas: 'O cachorro está na rua.' -> 'Le chien est dans la rue.' 'A criança está brincando no parque.' -> 'L'enfant joue dans le parc.' Agora, traduza esta frase para o francês: 'O gato está no telhado.'"
  • Resposta da IA: A IA usa os exemplos fornecidos para fazer uma tradução mais precisa.


Exemplo Prático 2:

image


2. Chain-of-Thought Prompting (CoT)

Chain-of-Thought Prompting envolve pedir à IA para pensar em etapas ou raciocinar por meio de uma sequência de passos antes de dar uma resposta final. É como resolver um problema matemático passo a passo em vez de apenas tentar adivinhar o resultado.

Exemplo Prático 1:

  • Tarefa: "Qual é o resultado de 2 + 3 vezes 4?"
  • Chain-of-Thought: "Primeiro, eu devo multiplicar 3 por 4, que dá 12. Depois, eu somo 2 a 12, resultando em 14."
  • Resposta Final: "14."


Exemplo Prático 2:

image


image

 

3. Zero-shot Chain-of-Thought

Zero-shot Chain-of-Thought é uma combinação de zero-shot prompting e chain-of-thought prompting. A IA tenta aplicar um raciocínio em cadeia sem ter sido explicitamente treinada com exemplos semelhantes. É como pedir para alguém raciocinar por etapas sobre um problema que nunca viu antes, com base em conhecimento prévio.

Exemplo Prático:

  • Tarefa: "Se João tem o dobro da idade de Maria, e Maria tem 5 anos, qual é a idade de João?"
  • Zero-shot Chain-of-Thought: "Maria tem 5 anos. O dobro de 5 é 10, então João tem 10 anos."
  • Resposta Final: "10."


4. Least-to-most Prompting

Least-to-most Prompting é uma técnica em que a IA é solicitada a resolver uma tarefa complexa começando com o aspecto mais simples e, gradualmente, recebendo mais detalhes ou passos adicionais para resolver problemas mais difíceis. É como ensinar alguém a dirigir começando com a teoria, depois a prática em ruas calmas, e só então no trânsito pesado.

Exemplo Prático:

  • Tarefa Inicial: "Qual é a capital da França?" (Simples)
  • Tarefa Adicional: "Agora, diga qual é a capital da França e explique por que é conhecida como a 'Cidade das Luzes'." (Mais complexo)

A IA resolve a primeira pergunta e, com base na solução, enfrenta a tarefa mais complicada com uma base já estabelecida.


5. Self-consistency (Autoconsistência)

Self-consistency é quando a IA gera várias respostas para uma mesma pergunta e depois compara essas respostas para encontrar a mais consistente. Isso ajuda a evitar erros ocasionais e melhora a precisão geral. É como fazer a mesma conta várias vezes para ter certeza de que o resultado está certo.

Exemplo Prático:

  • Tarefa: "Calcule 15% de 200."
  • A IA pode gerar diferentes abordagens ou cálculos e depois comparar para ver qual é a resposta mais comum ou mais lógica.
  • Resposta Final: "30" (porque 15% de 200 é 30, e a IA verificou várias vezes).


6. Chain-of-Verification

Chain-of-Verification é uma técnica onde a IA valida cada passo de seu raciocínio ou a resposta final através de verificações subsequentes. É como resolver um problema e, depois, verificar cada passo do raciocínio para garantir que está correto.

Exemplo Prático:

  • Tarefa: "Se tenho 3 maçãs e dou 1 para Ana e 1 para João, quantas maçãs restam?"
  • Chain-of-Verification: A IA pode responder "2" inicialmente, mas então verifica: "Eu tinha 3 maçãs, dei 1 para Ana e 1 para João, então 3 - 2 = 1."
  • Resposta Final: "1 maçã."


Essas técnicas ajudam a melhorar a precisão e a qualidade das respostas geradas pela IA, permitindo um controle mais refinado sobre os resultados.


Outras técnicas de prompt engineering

Existem outras técnicas usadas por Engenheiros de Prompt, como Selection-inference PromptingMaieutic PromptingReActART, e novas são criadas diariamente.

Por isso, uma grande parcela do trabalho de uma pessoa Engenheira de Prompt é estar atualizada com os artigos científicos mais recentes e relevantes.


Conclusão

A Engenharia de Prompt tem se tornando um campo crucial e decisivo na interação com modelos de inteligência artificial, principalmente no contexto do Processamento de Linguagem Natural (PLN). Ela fornece as ferramentas necessárias para extrair respostas de alta qualidade da IA, moldando o comportamento do modelo de forma estratégica. Técnicas como Zero-shot & Few-shot Prompting, Chain-of-Thought Prompting, Zero-shot Chain-of-Thought, Least-to-most Prompting, Self-consistency e Chain-of-Verification permitem que os usuários direcionem a IA para gerar respostas mais precisas, detalhadas e alinhadas com suas expectativas.


Ao explorar Zero-shot e Few-shot Prompting, os usuários aprendem a influenciar a IA com instruções mínimas ou alguns exemplos, moldando respostas que variam desde simples execuções até tarefas mais complexas. Chain-of-Thought Prompting e suas variações, como Zero-shot Chain-of-Thought, ajudam a decompor problemas em etapas lógicas, permitindo que a IA raciocine de maneira semelhante à mente humana. Com Least-to-most Prompting, é possível guiar a IA através de problemas incrementais, começando do mais simples ao mais complexo, enquanto Self-consistency verifica a confiabilidade das respostas, aumentando a precisão geral. Finalmente, Chain-of-Verification garante que cada passo da solução seja validado, minimizando erros e melhorando a robustez das respostas.


Essas técnicas demonstram que a Engenharia de Prompt não é apenas sobre o que se pergunta, mas como se pergunta. Ela capacita os usuários a aproveitar ao máximo as capacidades da IA, desde a resolução de problemas cotidianos até a execução de tarefas sofisticadas e personalizadas. Em um mundo onde a interação com IA se torna cada vez mais comum, entender e aplicar os princípios da Engenharia de Prompt se torna uma habilidade essencial para maximizar a eficiência e a utilidade dos modelos de inteligência artificial, transformando-os em ferramentas poderosas para inovação e tomada de decisão. Por isso, nada mais justo que estudar, aprimorar e aplicar cada vez mais essas técnicas incríveis, cada vez mais exigidas no dia a dia do mercado de trabalho e até na vida.


Fontes:

https://cookbook.openai.com/articles/techniques_to_improve_reliability

https://www.ibm.com/br-pt/topics/prompt-engineering

https://www.programmers.com.br/blog/guia-prompt-engineering/

https://www.cursospm3.com.br/blog/engenharia-de-prompt/?gad_source=1&gclid=EAIaIQobChMI2-Tb4Jj3hwMVV4jCCB3i9SqDEAAYAiAAEgKXsvD_BwE

https://arxiv.org/abs/2303.09014

https://arxiv.org/abs/2210.03629

https://arxiv.org/abs/2205.11822

https://arxiv.org/abs/2205.09712





Compartir
Comentarios (0)