No contexto de modelos de linguagem (como Large Language Models - LLMs), um "prompt" é a entrada de texto que fornecemos ao modelo para instruí-lo ou fazer uma pergunta
Prompt Engineering é a prática de formular instruções (prompts) de forma clara, estratégica e eficaz para interagir com modelos de linguagem como o ChatGPT, Gemini, Claude, entre outros.
Em outras palavras, é o processo de escrever perguntas ou comandos da melhor forma possível para obter respostas úteis de ferramentas de Inteligência Artificial generativa.
Apesar desses modelos serem potentes, a qualidade da resposta depende muito de como a pergunta é feita. Um prompt bem elaborado pode fazer a diferença entre uma resposta vaga e uma resposta precisa, útil e aplicável.
Se você está em dúvida sobre como criar ou estruturar um prompt, pergunte à LLM.
Estou precisando criar um prompt para sumarizar o conteúdo de contratos de compra e venda de imóveis.
Crie um prompt para isso e inclua instruções que você achar convenientes.
Retorne o system e o user prompt.
Prompt Ruim/Básico:
Me dê ideias para uma campanha de marketing.
Prompt Melhorado (Adicionando Especificidade):
Sugira 5 ideias de slogans criativos para uma campanha de marketing de um novo software de gerenciamento de projetos focado em pequenas e médias empresas.
Prompt Avançado (Adicionando Contexto e Formato):
Atue como um guru de marketing digital. Gere 3 conceitos de campanhas de marketing inovadoras para o lançamento de um software de gerenciamento de projetos SaaS (Software as a Service) para PMEs. Cada conceito deve incluir: um título chamativo, um público-alvo específico, um canal de marketing principal e uma métrica de sucesso. Mantenha um tom otimista e voltado para resultados.
Prompt Ruim/Básico:
Crie uma tabela de produtos.
Prompt Melhorado (Adicionando Especificidade):
Gere uma tabela Markdown para organizar informações de produtos. Inclua colunas para "Nome do Produto", "SKU", "Preço (R$)", "Estoque" e "Descrição Breve".
Prompt Avançado (Adicionando Contexto e Formato):
Crie uma tabela em formato JSON que contenha dados de 3 produtos fictícios. Cada produto deve ter os seguintes campos: "id" (número), "nome" (string), "categoria" (string), "preco" (número decimal), "disponivelEmEstoque" (booleano). Popule a tabela com dados realistas para produtos de tecnologia.
O User Prompt é a instrução ou pergunta direta que o usuário final envia ao modelo. É a nossa "fala" para o modelo, o que queremos que ele responda ou execute. O User Prompt reflete a necessidade imediata do usuário.
O System Prompt, também conhecido como "contexto de sistema" ou "persona", é uma instrução que você (como desenvolvedor ou implementador) fornece ao modelo antes da interação do usuário. Ele define o papel, o tom, as regras e o comportamento geral que o modelo deve seguir durante toda a conversa ou série de interações. Pense nele como o "manual de instruções" interno do modelo.
System Prompt:
Você é um escritor de ficção fantástica. Seu estilo deve ser descritivo, com foco em construção de mundo e desenvolvimento de personagens. Inclua sempre um elemento de magia ou mistério em suas histórias. Use um vocabulário rico e evite clichês.
User Prompt:
Escreva uma breve história sobre um antigo artefato sendo descoberto.
System Prompt:
Você é um analista de notícias. Seu trabalho é resumir artigos complexos de forma objetiva e imparcial, destacando os pontos mais importantes. As respostas devem ter no máximo 3 frases.
User Prompt:
Resuma o seguinte artigo sobre as recentes mudanças econômicas no país X: [Colar o texto do artigo]
Em termos simples, uma persona em um prompt é um conjunto de características que você atribui à IA, simulando um papel ou identidade específica. Ao fazer isso, você "instrui" a IA a responder de uma determinada maneira, com um tom de voz, estilo de linguagem e até mesmo um nível de conhecimento compatível com essa persona. É como pedir à IA para "vestir um chapéu" específico antes de responder.
"Você é um(a) [Função/Papel] com o objetivo de [Objetivo]. Seu conhecimento sobre [Assunto] é [Nível de Conhecimento]. Seu tom de voz é [Tom de Voz] e seu estilo de linguagem é [Estilo de Linguagem]. Responda como se estivesse falando com [Público-alvo]."
Estrutura básica
Sem Persona: "Crie uma postagem sobre os benefícios do café da manhã."
Com Persona: "Você é um nutricionista moderno e entusiasmado que escreve para jovens adultos no Instagram. Seu objetivo é inspirar hábitos saudáveis de forma leve e divertida. Use emojis e uma linguagem informal. Crie uma postagem sobre os benefícios do café da manhã."
Sem Persona: "Sem Persona: "Explique o que é blockchain."
Com Persona: "Você é um professor universitário de ciência da computação explicando blockchain para alunos do primeiro ano, sem jargões excessivos e com exemplos práticos. Explique o que é blockchain."
Saída estruturada refere-se à geração de informações por um LLM em um formato que possui uma estrutura predefinida e é semanticamente consistente. Em vez de uma resposta em texto, o LLM é instruído a produzir dados que podem ser facilmente analisados por máquinas ou interpretados de forma consistente por humanos.
Por favor, me ajude a organizar uma lista de compras para a semana, pensando em café da manhã e almoço."
Quero que a lista seja organizada por categorias (ex: Padaria, Hortifrúti, Laticínios) e que cada item tenha a quantidade desejada.
Por favor, extraia o nome, telefone e email do texto abaixo e formate a saída como um objeto JSON.
Texto: "Entre em contato com Ana Silva no telefone (11) 98765-4321 ou envie um email para ana.silva@empresa.com.br."
Formato JSON esperado:
```json
{
"nome": "STRING",
"telefone": "STRING",
"email": "STRING"
}
```
O Zero-Shot Prompting é a abordagem mais básica, onde o LLM recebe uma tarefa sem nenhum exemplo prévio. O modelo deve confiar exclusivamente em seu conhecimento interno, adquirido durante seu extenso treinamento, para gerar uma resposta.
Classifique o sentimento da seguinte frase como 'positivo', 'negativo' ou 'neutro':
"O atendimento ao cliente foi demorado e ineficaz."
No One-Shot Prompting, fornecemos ao LLM um único exemplo de como queremos que a tarefa seja realizada. Este exemplo serve como um guia, ajudando o modelo a entender o formato, o tom ou o tipo de resposta esperada.
Reescreva a frase abaixo em um tom mais formal.
Exemplo:
Entrada: 'Manda ver!'
Saída: 'Prossiga, por favor.'
Agora, reescreva:
Entrada: 'Tá pegando fogo a reunião!'
Saída:
O Few-Shot Prompting é uma extensão do One-Shot, onde fornecemos vários exemplos (geralmente 2 a 5) ao LLM antes de apresentar a tarefa principal. Cada exemplo demonstra um par de entrada/saída, permitindo que o modelo aprenda padrões mais complexos e generalize melhor para a nova tarefa.
Dado o par de pergunta e resposta, gere uma resposta concisa para a nova pergunta.
Exemplo 1:
Pergunta: 'Como faço para redefinir minha senha?'
Resposta: 'Você pode redefinir sua senha na página de login, clicando em 'Esqueceu sua senha?'.'
Exemplo 2: Pergunta: 'Qual é o horário de funcionamento?'
Resposta: 'Nosso horário de funcionamento é de segunda a sexta, das 9h às 18h.'
Agora, responda: Pergunta: 'Posso pagar com cartão de crédito?'
Evite ambiguidades. Use linguagem simples e concisa. O LLM não pode ler sua mente, então seja explícito sobre o que você quer.
Se você precisa da resposta em um formato específico (lista, tabela, parágrafo, código, etc.), indique-o no prompt.
Fornecer contexto ajuda o LLM a entender melhor sua solicitação. Se a resposta for direcionada a um público específico ou se você quiser que o LLM adote uma persona, especifique isso.
Seja explícito sobre o que o LLM não deve fazer ou sobre quaisquer limites de tamanho, número de itens, etc.
Se você precisa de um estilo ou formato muito específico, fornecer um ou mais exemplos no prompt pode guiar o LLM. Isso é conhecido como "few-shot prompting".