Engenharia de prompts

Guia de Engenharia de Prompt da OpenAI: Dominando o ChatGPT para Aplicações Avançadas

mm
Prompt Engineering

Entendendo a Engenharia de Prompt

Engenharia de prompt é a arte e ciência de criar entradas (prompts) para obter saídas desejadas de modelos de IA como o ChatGPT. É uma habilidade crucial para maximizar a eficácia desses modelos.

O ChatGPT, construído sobre as arquiteturas GPT-3 e GPT-4 da OpenAI, evoluiu significativamente, tornando-se mais responsivo e consciente do contexto. Entender sua evolução é fundamental para dominar a engenharia de prompt.

Assim como um maestro habilidoso lidera uma orquestra, a engenharia de prompt nos permite direcionar esses modelos para realizar tarefas complexas, desde criar documentos técnicos detalhados até gerar conteúdo criativo e envolvente. Este guia irá guiá-lo por estratégias e táticas que transformarão sua interação com a IA, elevando-a de trocas básicas para conversas nuances e significativas.

Considere a diferença entre perguntar “Como faço para somar números no Excel?” e “Como faço para somar automaticamente uma coluna de valores em dólares no Excel, com totais exibidos à direita em uma coluna ‘Total’?” A segunda pergunta, mais detalhada, deixa menos espaço para interpretação da IA, levando a uma resposta mais precisa e útil. Da mesma forma, entender o uso de personas, delimitadores e instruções passo a passo pode impactar profundamente a qualidade da saída da IA, especialmente para tarefas complexas.

Este guia sobre engenharia de prompt não apenas cobrirá os aspectos teóricos, mas também fornecerá exemplos práticos e hands-on. Você aprenderá como usar táticas eficazes, como fornecer textos de referência para guiar a IA longe de fabricações, ou como quebrar tarefas complexas em subtarefas mais simples para obter resultados mais precisos.

1. Clareza e Detalhe

Criar prompts eficazes para modelos de IA como o GPT-4 requer uma combinação de precisão, contexto e clareza. A diferença entre um prompt mal criado e um bem pensado pode ser a diferença entre uma resposta vaga e genérica e uma resposta altamente relevante e específica.

Exemplo 1: Utilizando a Compreensão de Linguagem do ChatGPT para Consultas Técnicas

  • Prompt Ineficaz: “Como consertar um bug no meu código?”
    • Saída da IA: “Para consertar um bug no seu código, você precisa primeiro identificar o bug, entender por que está acontecendo e então modificar o código para corrigi-lo.”
  • Prompt Técnico Eficaz: “Estou codificando em Python e recebendo um ‘KeyError’ ao tentar acessar um dicionário. O trecho de código é: [trecho de código]. O que está causando este erro e como posso corrigi-lo?”
    • Saída da IA: “O ‘KeyError’ no seu código Python provavelmente está ocorrendo porque você está tentando acessar uma chave no dicionário que não existe. Aqui está como você pode modificar seu código para lidar com este erro: [trecho de código modificado com explicação].”

Exemplo 2: Escrita Criativa com Imitação de Estilo

  • Prompt Ineficaz: “Escreva uma história curta.”
    • Saída da IA: “Era uma vez, em uma terra distante, havia um reino que enfrentava um grande perigo…”
  • Prompt de Imitação de Estilo Eficaz: “Escreva uma história curta no estilo de Ernest Hemingway, focando em uma conversa entre dois velhos amigos que se encontram por acaso.”
    • Saída da IA: “O sol batia forte na estrada poeirenta onde Jack e Tom, dois velhos amigos, se encontraram por acaso. ‘Já faz anos’, disse Jack, sua voz tão seca quanto o ar. ‘Anos desde a guerra’, respondeu Tom. [A história continua no estilo conciso e dirigido por diálogos de Hemingway].”

Exemplo 3: Dicas de Viagem

  • Prompt Ineficaz: “O que devo fazer em Paris?”
    • Saída da IA: “Em Paris, você pode visitar pontos turísticos como a Torre Eiffel, o Museu do Louvre e a Catedral de Notre-Dame.”
  • Prompt Eficaz: “Estou visitando Paris por três dias este verão com foco em arte e história. Pode sugerir uma itinerário detalhado?”
    • Saída da IA: “Dia 1: Visite o Museu do Louvre de manhã, seguido de uma caminhada até a Catedral de Notre-Dame. [Segue um itinerário mais detalhado].”

Insights para Criar Melhores Prompts

  1. Específico: Seja o mais específico possível. Quanto mais detalhado for o seu prompt, mais personalizada será a resposta.
  2. Informação Contextual: Inclua todas as informações relevantes. Isso ajuda a IA a entender a natureza exata da sua solicitação.
  3. Objetivo Claro: Especifique claramente o que você espera como saída. Seja uma receita, um plano de viagem ou uma solução técnica, faça seu objetivo claro.
  4. Evite Ambiguidade: Prompts ambíguos levam a respostas genéricas. Clarifique sua solicitação para obter respostas precisas.
  5. Utilize Formatos Conhecidos: Se aplicável, peça informações em um formato específico, como uma lista, um guia passo a passo ou um diagrama.

2. Aumentando as Respostas da IA com Referência

O uso estratégico de textos de referência na engenharia de prompt pode elevar significativamente a qualidade e a precisão das respostas dos modelos de IA como o GPT-4. Ao fornecer informações relevantes e confiáveis ao lado da sua consulta, você pode guiar a IA para compor respostas baseadas no material fornecido, tornando as respostas mais confiáveis e contextualmente precisas.

Exemplo 1: Explicação Científica

  • Prompt Convencional: “Como se forma um buraco negro?”
    • Saída da IA: “Um buraco negro se forma a partir dos remanescentes de uma estrela grande que morre em uma explosão supernova. Se a massa do núcleo for suficiente, ele colapsa sob sua própria gravidade em um buraco negro.”
  • Prompt Aumentado com Texto de Referência:
    • Texto de Referência Fornecido: “[Artigo científico sobre evolução estelar e buracos negros]”
    • Prompt: “Usando as informações do artigo científico fornecido, explique o processo de formação de um buraco negro.”
    • Saída da IA: “Com base no artigo científico fornecido, um buraco negro se forma quando uma estrela massiva esgota seu combustível nuclear e seu núcleo colapsa. O artigo detalha: [‘Trechos relevantes do artigo’].”

Exemplo 2: Interpretação Jurídica

  • Prompt Convencional: “Quais são as implicações legais do roubo de propriedade intelectual?”
    • Saída da IA: “O roubo de propriedade intelectual pode levar a consequências legais como processos, multas e, em casos graves, prisão.”
  • Prompt Aumentado com Texto de Referência:
    • Texto de Referência Fornecido: “[Artigo jurídico sobre propriedade intelectual]”
    • Prompt: “Referenciando o artigo jurídico fornecido, explique as implicações legais específicas do roubo de propriedade intelectual.”
    • Saída da IA: “O artigo jurídico afirma que o roubo de propriedade intelectual pode resultar em litígios civis, danos estatutários e possíveis acusações criminais. Especificamente, o artigo menciona: [‘Citações diretas do artigo’].”

Insights para Usar Textos de Referência em Prompts

  1. Selecione Textos Relevantes: Escolha textos de referência que sejam diretamente relevantes para a sua consulta.
  2. Especifique o Prompt: Instrua claramente a IA a usar o texto de referência fornecido para compor sua resposta.
  3. Citações: Peça que a IA cite partes específicas do texto de referência em sua resposta para precisão e verificação.
  4. Lidar com Informações Insuficientes: Instrua a IA a declarar claramente se o texto fornecido não contém as informações necessárias para responder à pergunta.

3. Simplificando Tarefas Complexas com Divisão de Subtarefas

A chave para lidar eficazmente com tarefas complexas com modelos de IA como o GPT-4 está em dividi-las em subtarefas mais simples. Essa abordagem não apenas simplifica o processo, mas também melhora a precisão e a relevância das respostas da IA. Abaixo, demonstramos essa estratégia por meio de exemplos específicos, destacando as vantagens de usar classificação de intenção, técnicas de resumo e conversas estruturadas para consultas complexas.

Exemplo 1: Consulta de Serviço ao Cliente

  • Abordagem Ineficaz: Um único prompt solicitando assistência geral.
    • Prompt do Usuário: “Estou tendo problemas com minha conta.”
    • Saída da IA: “Poderia especificar a natureza dos problemas com sua conta?”
  • Abordagem Eficaz: Classificando a consulta em categorias e fornecendo assistência direcionada.
    • Prompt do Usuário: “Estou tendo problemas para acessar minha conta.”
    • Diretiva da IA: “Classifique a consulta em ‘Gerenciamento de Conta’, então ofereça etapas específicas para solucionar problemas de acesso.”
    • Saída da IA: “Parece que você está tendo problemas para acessar sua conta. Vamos começar redefinindo sua senha. [Seguem etapas detalhadas].”

Exemplo 2: Sumarização de Documento Longo

  • Abordagem Ineficaz: Tentando resumir um documento longo de uma vez.
    • Prompt do Usuário: “Resuma este livro de 300 páginas para mim.”
    • Saída da IA: “Sinto muito, mas não posso processar documentos mais longos que minha janela de contexto.”
  • Abordagem Eficaz: Sumarizando o documento em partes e construindo um resumo completo recursivamente.
    • Diretiva da IA: “Resuma cada capítulo separadamente, então crie um resumo dos resumos, procedendo recursivamente.”
    • Prompt do Usuário: “Resuma o capítulo 1 deste livro.”
    • Saída da IA: “Resumo do Capítulo 1: [Resumo breve do capítulo 1].”
    • Processo Contínuo: O mesmo processo é aplicado para cada capítulo, seguido de um resumo final que combina todos os resumos individuais.

Benefícios da Divisão de Subtarefas e Engenharia de Prompt Contextual

  1. Aumento da Precisão: Ao se concentrar em aspectos específicos de uma tarefa complexa, a IA pode fornecer respostas mais precisas e relevantes.
  2. Eficiência Aumentada: Dividir tarefas torna-as mais gerenciáveis e reduz a probabilidade de erros ou respostas irrelevantes.
  3. Melhor Experiência do Usuário: Os usuários recebem orientação direcionada e passo a passo, o que é mais útil do que respostas genéricas.
  4. Custo-Eficácia: Prompts menores e direcionados podem ser mais econômicos em comparação com prompts mais complexos e amplos.

4. Dando Tempo para o GPT Pensar

A estratégia de dar tempo para os modelos “pensarem” e dividir tarefas complexas em etapas gerenciáveis melhora significativamente a qualidade das respostas dos modelos de IA como o GPT-4.

Exemplo 1: Avaliação de Problema Matemático

  • Abordagem Ineficaz: Pedir diretamente ao modelo para avaliar a solução de um aluno.
    • Prompt do Usuário: “A solução do aluno para este problema matemático está correta?”
    • Saída da IA: “A solução do aluno parece estar correta/errada.”
  • Abordagem Eficaz: Instruir o modelo a primeiro trabalhar sua própria solução antes de avaliar a do aluno.
    • Prompt do Usuário: “Primeiro, resolva este problema matemático. Em seguida, compare sua solução com a do aluno e avalie sua correção.”
    • Saída da IA: “Minha solução: [Solução detalhada]. Comparando com a solução do aluno, encontrei um erro em sua calculação de [parte específica]. O método correto deve ser [método correto].”

Exemplo 2: Análise de Documento

  • Abordagem Ineficaz: Tentar analisar um documento longo em uma única consulta.
    • Prompt do Usuário: “Resuma os principais pontos deste documento inteiro.”
    • Saída da IA: “Sinto muito, mas não posso processar documentos mais longos que minha janela de contexto.”
  • Abordagem Eficaz: Extração sequencial de trechos e consultas de follow-up para análise abrangente.
    • Prompt do Usuário: “Extraia trechos-chave deste documento relacionados a [tópico específico].”
    • Saída da IA: “Trecho 1: [Passagem relevante]. Trecho 2: [Outra passagem relevante].”
    • Prompt de Follow-up do Usuário: “Há mais trechos relevantes? Certifique-se de que contenham todo o contexto.”
    • Saída da IA: “Trecho Adicional: [Passagem relevante adicional].”

Benefícios e Insights

  1. Profundidade da Análise: Ao trabalhar as soluções primeiro, a IA pode fornecer avaliações mais precisas e aprofundadas.
  2. Aprendizado Orientado: No contexto de tutoria, o uso de monólogo interno e dicas encoraja os alunos a chegarem às soluções de forma independente, melhorando a experiência de aprendizado.
  3. Cobertura Abrangente: Para análise de documentos, as abordagens sequenciais e recursivas garantem uma cobertura completa sem perder detalhes importantes.
  4. Evitar Viés: Ao gerar sua própria solução primeiro, a IA evita viés que poderia surgir de avaliar diretamente a resposta fornecida.

5. Utilizando Ferramentas Externas

Incorporar ferramentas e recursos externos nas interações com a IA pode melhorar significativamente a precisão e a relevância das respostas geradas por modelos como o GPT-4. Esta seção demonstra o uso de busca baseada em embeddings para recuperação de conhecimento, execução de código para cálculos precisos e chamadas de função para aumentar as capacidades dos modelos de IA.

Exemplo 1: Cálculos Precisos com Execução de Código

  • Sem Execução de Código: Dependendo apenas das capacidades de cálculo do modelo.
    • Prompt do Usuário: “Calcule a raiz quadrada de 529.”
    • Saída da IA: “A raiz quadrada de 529 é aproximadamente 23.”
  • Com Execução de Código: Garantindo precisão nos cálculos.
    • Prompt do Usuário: “Calcule a raiz quadrada de 529.”
    • Diretiva da IA: “Escreva e execute código Python para calcular isso.”
    • Saída da IA: “python import math math.sqrt(529) A raiz quadrada de 529 é exatamente 23.”

Exemplo 2: Usando Chamadas de API para Interações Dinâmicas

  • Sem Chamadas de API: Limitado a respostas estáticas e pré-programadas.
    • Prompt do Usuário: “Envie um lembrete ao meu amigo sobre nossa reunião amanhã.”
    • Saída da IA: “Lembrete: Não se esqueça de enviar uma mensagem ao seu amigo sobre a reunião amanhã.”
  • Com Chamadas de API: Interagindo com sistemas externos para ações em tempo real.
    • Prompt do Usuário: “Envie um lembrete ao meu amigo João sobre nossa reunião amanhã.”
    • Diretiva da IA: “Use a API de mensagens para enviar um lembrete.”
    • Saída da IA: “python import message message.write(to='João', message='Ei, lembre-se da nossa reunião amanhã!') Lembrete enviado a João sobre a reunião amanhã.”

Benefícios e Insights

  1. Base de Conhecimento Expandida: Ao usar busca baseada em embeddings, a IA pode acessar e incorporar uma vasta gama de informações atualizadas, melhorando a relevância e a precisão de suas respostas.
  2. Precisão nos Cálculos: A execução de código permite que a IA realize cálculos matemáticos precisos, o que é especialmente útil em contextos técnicos ou científicos.
  3. Capacidades Interativas: As chamadas de API permitem que a IA interaja com sistemas externos, facilitando ações no mundo real, como enviar mensagens ou definir lembretes.

6. Teste Sistemático

O teste sistemático, ou procedimentos de avaliação, é crucial para determinar a eficácia das alterações nos sistemas de IA. Essa abordagem envolve comparar as saídas do modelo com um conjunto pré-determinado de padrões ou respostas “padrão-ouro” para avaliar a precisão.

Exemplo 1: Identificando Contradições em Respostas

  • Cenário de Teste: Detectar contradições na resposta do modelo em comparação com respostas de especialistas.
    • Diretiva do Sistema: Determine se a resposta do modelo contradiz qualquer parte da resposta fornecida pelo especialista.
    • Entrada do Usuário: “Neil Armstrong se tornou a segunda pessoa a caminhar na lua, após Buzz Aldrin.”
    • Processo de Avaliação: O sistema verifica a consistência com a resposta do especialista que afirma Neil Armstrong foi a primeira pessoa na lua.
    • Saída do Modelo: A resposta do modelo contradiz diretamente a resposta do especialista, indicando um erro.

Exemplo 2: Comparando Níveis de Detalhe em Respostas

  • Cenário de Teste: Avaliar se a resposta do modelo alinha com, excede ou fica aquém da resposta do especialista em termos de detalhe.
    • Diretiva do Sistema: Compare a profundidade da informação entre a resposta do modelo e a resposta do especialista.
    • Entrada do Usuário: “Neil Armstrong foi o primeiro a caminhar na lua em 21 de julho de 1969, às 02:56 UTC.”
    • Processo de Avaliação: O sistema avalia se a resposta do modelo fornece mais, igual ou menos detalhe em comparação com a resposta do especialista.
    • Saída do Modelo: A resposta do modelo fornece detalhe adicional (o horário exato), alinhando-se e expandindo a resposta do especialista.

Benefícios e Insights

  1. Precisão e Confiabilidade: O teste sistemático garante que as respostas do modelo de IA sejam precisas e confiáveis, especialmente ao lidar com informações factuais.
  2. Deteção de Erros: Ajuda a identificar erros, contradições ou inconsistências nas respostas do modelo.
  3. Garantia de Qualidade: Essa abordagem é essencial para manter altos padrões de qualidade em conteúdo gerado por IA, particularmente em contextos educacionais, históricos ou outros contextos sensíveis a fatos.

Conclusão e Mensagem de Retorno

Através dos exemplos e estratégias discutidos, vimos como a especificidade nos prompts pode dramaticamente alterar a saída e como dividir tarefas complexas em subtarefas mais simples pode tornar desafios intimidadores em desafios gerenciáveis. Exploramos o poder de ferramentas externas no aumento das capacidades da IA e a importância do teste sistemático para garantir a confiabilidade e precisão das respostas da IA. Visite Guia de Engenharia de Prompt da OpenAI para conhecimento fundamental que complementa nossa exploração abrangente de técnicas avançadas e estratégias para otimizar interações com a IA.

Eu passei os últimos cinco anos me imergindo no fascinante mundo de Aprendizado de Máquina e Aprendizado Profundo. Minha paixão e expertise me levaram a contribuir para mais de 50 projetos de engenharia de software diversificados, com um foco particular em IA/ML. Minha curiosidade contínua também me levou em direção ao Processamento de Linguagem Natural, um campo que estou ansioso para explorar mais.