Otimize a saída do modelo com engenharia de prompts
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:
- Comece pelo papel do assistente: Indique o papel e o resultado esperado para um pedido típico.
- Defina limites: Liste os tópicos, ações e tipos de conteúdo que o assistente deve evitar.
- Especifique o formato de saída: Se precisar de um formato específico, declare-o claramente e mantenha-o consistente.
- 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_pde 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.