Otimize a saída do modelo com engenharia de prompts

Concluído

A forma mais acessível de otimizar o desempenho de um modelo é através da engenharia de prompts. A engenharia de prompts é o processo de conceber e refinar prompts para melhorar a qualidade, precisão e relevância das respostas geradas por um modelo de linguagem. Não requer infraestrutura adicional nem dados de treino, e pode começar a experimentar imediatamente.

Compreenda os componentes do prompt

Quando interage com um modelo de linguagem, a qualidade da sua pergunta influencia diretamente a qualidade da resposta. Um prompt bem construído ajuda o modelo a perceber o que precisa e a gerar uma resposta mais útil.

Os prompts para modelos de conclusão de chat normalmente incluem os seguintes componentes:

  • Mensagem do sistema: Instruções que definem o comportamento, papel e restrições do modelo.
  • Mensagem do utilizador: A pergunta ou entrada do utilizador.
  • Mensagem do assistente: Respostas do modelo anterior, usadas em conversas com múltiplos turnos.
  • Exemplos: Pares de entrada/saída de exemplo que demonstram o formato de resposta esperado.

A forma como estruturas e combinas estes componentes determina quão eficazmente o modelo responde.

Mensagens eficazes do sistema de design

Uma mensagem do sistema é um conjunto de instruções que fornece ao modelo para orientar as suas respostas. As mensagens do sistema normalmente aparecem primeiro na conversa e funcionam como o conjunto de instruções de nível mais elevado. Utiliza-os para:

  • Defina o papel e os limites do assistente.
  • Define o tom e o estilo de comunicação.
  • Especifique formatos de saída, como JSON ou pontos de lista.
  • Adicione restrições de segurança e qualidade para o seu cenário.

Uma mensagem de sistema pode ser tão simples como:

You are a helpful AI assistant.

Ou pode incluir regras detalhadas e requisitos de formatação. Por exemplo, a aplicação de chat da agência de viagens pode usar:

You are a friendly travel advisor for Margie's Travel.
Answer only questions related to travel, hotels, and trip planning.
Use a warm, conversational tone.
If you don't have enough information to answer, ask a clarifying question.
Format hotel recommendations as a bulleted list with the hotel name, location, and price range.

Importante

Uma mensagem do sistema influencia o modelo, mas não garante a conformidade. Deves testares e variares as mensagens do teu sistema e adicionares camadas a outras medidas de mitigação, como filtragem e avaliação de conteúdo.

Ao desenhar uma mensagem do sistema, siga esta lista de verificação:

  1. Comece pelo papel do assistente: Indique o papel e o resultado esperado para um pedido típico.
  2. Defina limites: Liste os tópicos, ações e tipos de conteúdo que o assistente deve evitar.
  3. Especifique o formato de saída: Se precisar de um formato específico, declare-o claramente e mantenha-o consistente.
  4. Adicionar uma política "quando incerto": Dizer ao modelo o que fazer quando o pedido do utilizador é ambíguo, fora do âmbito ou quando o modelo não tem informações.

Aplicar padrões de prompt

Prompts eficazes utilizam padrões que ajudam o modelo a produzir melhores respostas. Aqui estão alguns padrões comuns que pode usar:

Padrão Persona

Instrua o modelo a assumir uma perspetiva ou papel específico. Por exemplo, pedir ao modelo para responder como um profissional experiente de marketing produz resultados diferentes de não usar nenhuma persona.

Sem persona Com persona
Mensagem do sistema Nenhum É um profissional experiente de marketing a escrever para clientes técnicos.
Prompt do utilizador Escreva uma descrição de uma frase de um produto CRM. Escreva uma descrição de uma frase de um produto CRM.
Resposta Um produto CRM é uma ferramenta de software concebida para gerir as interações de uma empresa com os clientes. Experimente uma gestão fluida da relação com o cliente com o nosso CRM, concebido para simplificar operações e impulsionar o crescimento das vendas com análises robustas.

Padrão de modelo de formato

Fornece um modelo ou estrutura no teu prompt para obter o resultado num formato específico. Por exemplo, se precisar de uma resposta estruturada sobre um hotel:

Format the result to show:
- Hotel name
- Location
- Star rating
- Price range per night

Este padrão garante respostas consistentes e organizadas que são fáceis de analisar na sua candidatura.

Padrão de corrente de pensamentos

Peça ao modelo que explique o seu raciocínio passo a passo. Esta técnica, chamada cadeia de pensamento, reduz a probabilidade de resultados imprecisos e facilita a verificação da lógica do modelo.

Por exemplo, em vez de perguntar "Qual o melhor hotel para uma família de quatro?", pode perguntar:

Which hotel is best for a family of four? Take a step-by-step approach: 
consider room size, amenities for children, location, and price.

Uma técnica relacionada é dividir a tarefa em sub-passos explícitos antes de o modelo responder, em vez de lhe pedir que raciocine em tudo de uma só vez. Por exemplo, pode primeiro pedir ao modelo para extrair factos-chave de uma passagem e, depois, num prompt de seguimento, pedir-lhe que responda a uma pergunta baseada nesses factos. Decompor o trabalho desta forma reduz erros em tarefas complexas e com várias partes.

Observação

O encadeamento de pensamento é uma técnica para modelos que não raciocinam. Modelos de raciocínio, como os modelos da série O, processam a lógica de forma sequencial internamente.

Padrão de aprendizagem de poucos exemplos

Forneça um ou mais exemplos da entrada e saída desejadas para ajudar o modelo a identificar o padrão que pretende. Esta técnica chama-se aprendizagem de poucos tiros (ou one-shot para um único exemplo). Quando não são apresentados exemplos, chama-se aprendizagem zero-shot .

Por exemplo, para classificar pedidos de clientes:

Classify the following customer messages:

Message: "I need to change my flight to Rome"
Category: Booking change

Message: "What's the weather like in Bali in March?"
Category: Travel information

Message: "Can I get a refund for my cancelled tour?"
Category:

O modelo aprende o padrão de classificação a partir dos exemplos e completa corretamente a última entrada.

Utilize uma sintaxe clara e delimitadores

Quando o seu prompt inclui várias secções — como instruções, texto fonte e exemplos — use delimitadores como ---, títulos Markdown ou etiquetas XML para os separar. Limites claros ajudam o modelo a distinguir instruções de conteúdo e a reduzir a probabilidade de má interpretação.

Sugestão

Os modelos podem ser suscetíveis a viés de recência, o que significa que o texto próximo do final de um prompt pode ter mais influência do que o texto no início. Se o modelo não estiver a seguir as tuas instruções de forma consistente, tenta repetir a instrução principal no final do prompt.

Configurar os parâmetros do modelo

Para além do texto dos seus prompts, pode ajustar parâmetros do modelo que controlam como o modelo gera respostas:

  • Temperatura: Controla a aleatoriedade da saída. Um valor mais elevado (por exemplo, 0,7) produz respostas mais criativas e variadas, enquanto um valor mais baixo (por exemplo, 0,2) produz respostas mais focadas e determinísticas. Use valores mais baixos para tarefas factuais e valores mais altos para tarefas criativas.
  • Top_p: Também controla a aleatoriedade, mas de forma diferente. Limita o modelo a um subconjunto dos tokens seguintes mais prováveis. Por exemplo, um top_p de 0,9 significa que o modelo considera apenas os 90% principais de tokens prováveis.

Sugestão

A recomendação geral é ajustar a temperatura ou o top_p, não ambos ao mesmo tempo.

No cenário da agência de viagens, pode usar uma temperatura baixa (0,2) ao responder a perguntas factuais sobre comodidades do hotel, mas uma temperatura mais alta (0,7) ao gerar sugestões criativas de itinerários de viagem.

Quando a engenharia de prompts é suficiente

A engenharia de prompts é o ponto de partida certo para qualquer processo de otimização de modelos. É eficaz quando for necessário:

  • Guie o tom, formato e comportamento do modelo.
  • Forneça instruções específicas para uma tarefa.
  • Itere rapidamente nos resultados sem alterar a infraestrutura.
  • Mantenha os custos baixos, pois não é necessário treino ou storage de dados adicionais.

No entanto, a engenharia rápida tem limites. Se o modelo não tiver acesso à informação necessária (como o catálogo de hotéis da sua empresa), ou se falhar consistentemente em manter um comportamento específico apesar das instruções detalhadas, deve considerar estratégias adicionais.