Pular para o conteúdo principal

Engenharia de Prompt

O que é um Prompt?

Do ponto de vista de um usuário interagindo com uma IA, um prompt é a mensagem ou instrução que você fornece à IA para que ela execute uma tarefa ou responda a uma pergunta. Basicamente, é o comando ou a solicitação que inicia a interação com a IA.

Por exemplo, quando você digita uma pergunta ou pede para a IA realizar uma ação, como "Explique o que é um prompt", isso é o prompt. A IA então processa essa solicitação e responde com base nas informações que ela tem.

Aqui estão alguns exemplos de prompts que um você pode fornecer a uma IA:

  • "Traduza este texto para o inglês."
  • "Escreva um resumo de 100 palavras sobre inteligência artificial."
  • "Crie um título para esta issue no GitHub."
  • "Explique o conceito de Clean Code."

A qualidade e a clareza do prompt influenciam diretamente a da resposta da IA. Quanto mais claro e específico for o prompt, melhor será a resposta da IA.

Os prompts podem variar em formato e complexidade, incluindo perguntas diretas, instruções específicas ou descrições detalhadas, dependendo do que se deseja alcançar.

1. O que é Engenharia de Prompt?

É a prática de criar e ajustar prompts para obter respostas mais precisas e relevantes de modelos de linguagem, como IA. Ela envolve a escolha cuidadosa de palavras, estrutura e contexto no prompt para guiar o modelo de IA (por exemplo, o GPT) a gerar a saída (output) desejada.

Por exemplo:

Se você quer que a IA gere um resumo de um texto, um prompt simples como "Resuma este texto" pode gerar uma resposta genérica. No entanto, ao aplicar a engenharia de prompt, você pode ser mais específico: "Resuma o seguinte texto em 100 palavras, destacando os principais pontos sobre sustentabilidade." Isso ajuda a IA a entender melhor o que você espera, resultando em uma resposta mais alinhada ao seu objetivo.

1.1 Objetivo

O objetivo da Engenharia de Prompt é maximizar a eficácia das interações com modelos de IA, garantindo que as respostas sejam alinhadas com as suas expectativas.

1.2 Importância

  • Melhora a qualidade das respostas.
  • Reduz a ambiguidade nas interações.
  • Aumenta a eficiência no uso de modelos de IA.

2. Como Funciona a Engenharia de Prompt?

A Engenharia de Prompt envolve a formulação de perguntas ou comandos que orientam o modelo de IA a gerar respostas específicas. Isso pode incluir:

  • Definir o contexto.
  • Especificar o formato da resposta.
  • Limitar o escopo da resposta.

2.1 Exemplo de Prompt Simples

"Explique o conceito de aprendizado supervisionado em machine learning."

2.2 Exemplo de Prompt Detalhado

 "Explique o conceito de aprendizado supervisionado em machine learning, incluindo exemplos de algoritmos populares e suas aplicações práticas."

2.3 Qual o tamanho ideal de um prompt?

  • Prompts muito pequenos: não fornecem contexto o suficiente.

  • Prompts longos demais: podem adicionar ruído ao contexto. Ou seja, escrever muito não necessariamente é bom.

3. Melhores Práticas na Engenharia de Prompt

3.1 Seja claro e específico

  • Use linguagem clara e objetiva.
  • Evite ambiguidades.
  • Especifique o que você espera como resposta.

Exemplo:

"Liste três benefícios do uso de containers em desenvolvimento de software."

3.2 Estilize: forneça contexto

  • Dê ao modelo informações suficientes para entender o cenário.

  • Contextualize a pergunta para evitar respostas genéricas.

  • Explique a linguagem na qual você quer receber a resposta.

    Exemplo:

"Em um ambiente de desenvolvimento ágil, quais são os principais benefícios do uso de containers?"
Me ajude a explicar o conceito de AI com menos termos técnicos para o meu trabalho do MBA. 
Explique isso para mim como se fosse um tópico em um programa educacional infantil, ensinando alunos do ensino fundamental.
Sou um engenheiro de software que utiliza modelos de linguagem grandes para sumarização. Resuma o texto a seguir em menos de 250 palavras.

3.3 Formatação: Defina o formato da resposta

  • Especifique o formato desejado, como listas, parágrafos ou exemplos.

Exemplo:

"Explique o conceito de microserviços e forneça três exemplos de sua aplicação em empresas de tecnologia."
“Retorne como JSON”

3.4 Use Exemplos

  • Inclua exemplos no prompt para guiar o modelo a fornecer respostas mais relevantes.

Exemplo:

"Explique o conceito de DevOps e como ele se relaciona com a automação de pipelines de CI/CD. Por exemplo, como o Jenkins pode ser usado nesse contexto?"

3.5 Itere e refine

  • Teste diferentes versões do prompt para ver qual gera a melhor resposta.
  • Ajuste o prompt conforme necessário para melhorar a precisão.

3.6. Restrigir

  • Limite as opções para que as respostas sejam mais assertivas.

Exemplo:

Responda usando apenas artigos acadêmicos. 
Não use fontes mais antigas que 2020. 
Se você não souber a resposta, apenas diga “Eu não sei”.

4. Erros comuns na Engenharia de Prompt

4.1 Prompts muito genéricos

  • Evite perguntas amplas que podem gerar respostas vagas.

Exemplo ruim:

"O que é IA?"

Exemplo melhorado:

"O que é IA e como ela é aplicada no reconhecimento de imagens?"

4.2 Prompts ambíguos

  • Evite perguntas que podem ser interpretadas de várias maneiras.

Exemplo ruim:

"Explique o uso de redes."

Exemplo melhorado:

"Explique o uso de redes neurais em machine learning."

5. ** Técnicas para Engenharia de Prompt**

As técnicas a seguir ajudam a melhorar a precisão e relevância das respostas geradas por modelos de linguagem.

5.1 Zero-shot

  • Definição: o modelo responde sem exemplos prévios relacionados.

  • Uso: útil para tarefas amplas e generalistas.

  • Exemplo:

    • Prompt: "explique o que é um banco de dados relacional."
    • Resposta esperada: o modelo responde com base no conhecimento geral, sem exemplos fornecidos.

5.2 Few-shot

  • Definição: inclui exemplos curtos no prompt para orientar a resposta.

  • Uso: melhora a precisão ao fornecer contexto específico.

  • Exemplo:

    • Prompt: "escreva uma função em Python que calcule a média de uma lista de números. Exemplo de entrada: [10, 20, 30]. Exemplo de saída: 20."
    • Resposta esperada: o modelo segue o padrão dos exemplos fornecidos para gerar a resposta.

5.3 Chain-of-Thoughts (CoT)

  • Definição: o modelo é guiado a pensar passo a passo, explicando o raciocínio.

  • Uso: útil para tarefas que requerem explicação detalhada e lógica.

  • Exemplo:

    • Prompt: "explique passo a passo como implementar autenticação JWT em uma aplicação Flask."
    • Resposta esperada: o modelo detalha cada etapa do processo, como instalação de bibliotecas, configuração de rotas, geração de tokens, etc.

5.4 Sua técnica aqui

  • Definição: técnica personalizada que você pode criar para atender a uma necessidade específica.

  • Exemplo: Role-based Prompting (Criação de prompts baseados em papéis ou perspectivas).

    • Prompt: "Você é um guia turístico virtual. Descreva a Torre Eiffel para um grupo de turistas, incluindo sua história e curiosidades."
    • Resposta esperada: O modelo responde assumindo o papel de um guia turístico, fornecendo uma descrição mais envolvente e relevante.

6. Casos de Uso da Engenharia de Prompt

6.1 Assistentes virtuais

  • Criação de prompts para guiar assistentes virtuais a fornecer respostas úteis e contextuais.

6.2 Geração de conteúdo

  • Uso de prompts para gerar artigos, resumos ou descrições de produtos.

6.3 Automação de tarefas

  • Criação de prompts para automatizar tarefas repetitivas, como geração de relatórios ou análise de dados.

Outras boas práticas de Prompt

1. Histórico da conversa

É fundamental ter em mente que o histórico de sua conversa pode impactar nas respostas que você recebe durante uma sessão de chat. Por exemplo, se você está fazendo perguntas sobre uma aplicação Java e depois muda repentinamente para perguntar sobre aplicações Python, as respostas que você recebe podem precisar ser mais úteis e precisas.

  • Se quiser mudar o assunto da conversa, é melhor começar um novo chat em vez de simplesmente limpar o histórico da conversa. Limpar o histórico da conversa remove as mensagens da página, mas iniciar um novo chat redefine o histórico da conversa e pode resultar em melhores respostas.

  • Se quiser mudar de assunto, clique em um novo chat para começar do zero.

2. Converse

Converse por fases. Faça perguntas, aguarde a resposta e, dependendo disso, peça mais detalhes. Confira:

  • Como implemento isso?
  • Traga mais informações sobre isso.
  • Mude isso para aquilo.
  • Pegue essa classe e faça isso.

Incrementando Prompts com a StackSpot AI

Knowledge Source

Criar um Knowledge Source é muito importante, pois ajuda a fornecer contexto para o StackSpot AI. Se você já criou uma e está fazendo perguntas que não produzem os resultados desejados, verifique se seu Knowledge Source tem informações e contexto suficientes.

Algumas boas práticas:

1. Ao criar um Knowledge Source, é melhor incluir apenas as informações que você precisa e separá-las por assunto. A StackSpot AI seleciona e classifica documentos com base em sua relevância para o seu tópico, portanto, se você tiver muitas informações não relacionadas em uma única fonte, pode não obter resultados precisos.

2. Em vez de agrupar diferentes trechos de código, frameworks e linguagens de programação em um único Knowledge Source, é melhor criar fontes separadas para cada contexto. Isso permite que a StackSpot AI encontre documentos mais relevantes e detalhados para cada assunto, resultando em uma variedade maior de documentos de alta qualidade.

3. Confira alguns exemplos:

  • Knowledge Source com trechos de integração Kafka.
  • Knowledge Source com melhores práticas para programação funcional.

4. Considere organizar os Knowledge Sources para melhorar os resultados da pesquisa..

5. Você pode adicionar Knowledge Sources específicos ao contexto do seu Workspace.