Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As mensagens do sistema ajudam-no a orientar um modelo de chat Azure OpenAI para o comportamento, tom e formato de saída que pretende. Este artigo explica o que são as mensagens do sistema, como afetam as respostas e como as desenhar para maior consistência e segurança.
O que este artigo aborda
Este artigo foca na mensagem do sistema (por vezes chamada prompt do sistema ou metaprompt) para experiências de chat.
Se quiser orientações mais amplas sobre prompts (exemplos de poucos casos, ordenamento e eficiência de uso de tokens), veja Técnicas de engenharia de prompts.
Pré-requisitos
Para usar mensagens do sistema, precisa de acesso a um recurso Azure OpenAI com um modelo de conclusão de chat implementado. Para instruções de configuração, consulte Criar e implementar um recurso Azure OpenAI.
O que é uma mensagem do sistema?
Uma mensagem do sistema é um conjunto de instruções e contexto que fornece ao modelo para orientar as suas respostas. Normalmente usa-o para:
- Defina o papel e os limites do assistente.
- Definir o tom e o estilo de comunicação.
- Especifique os formatos de saída (por exemplo, JSON).
- Adicione restrições de segurança e qualidade para o seu cenário.
Uma mensagem de sistema pode ser uma frase curta:
You are a helpful AI assistant.
Ou pode ser várias linhas com regras estruturadas e requisitos de formatação.
Importante
Uma mensagem do sistema influencia o modelo, mas não garante a conformidade. Ainda precisas de testar e iterar, e deves sobrepor mensagens do sistema com outras mitigações (por exemplo, filtragem e avaliação).
Como funcionam as mensagens do sistema
Nas APIs baseadas em chat, envia um conjunto de mensagens que inclui funções como sistema, utilizador e assistente. A mensagem do sistema aparece normalmente primeiro e funciona como o conjunto de instruções de nível mais alto para a conversa.
As mensagens do sistema são mais eficazes quando:
- Mantenha as instruções inequívocas.
- Evite regras conflitantes.
- Torna explícito o "comportamento de recuo" (o que o assistente faz quando lhe falta informação ou o pedido está fora do âmbito).
Conceitos-chave
Função e âmbito
Define o que é o assistente (função) e o que é ou não pode fazer (âmbito). As declarações de âmbito são especialmente importantes para assistentes específicos de domínio.
Contrato de produção
Se a sua aplicação precisar de saída estruturada, especifique um contrato de saída (por exemplo, JSON com chaves fixas). Mantenha o contrato pequeno e estável.
Restrições de segurança
Adicione restrições que reduzam comportamentos de risco para o seu cenário, como recusar pedidos recusados ou evitar a divulgação de informações sensíveis.
Se quiser orientações e modelos concebidos para a segurança, consulte Mensagens do sistema de segurança e Modelos de mensagens do sistema de segurança.
Exemplos de mensagens de sistema
O exemplo seguinte mostra uma mensagem do sistema e a resposta resultante do modelo.
| Mensagem do sistema | Utilizador | Assistente |
|---|---|---|
| És um assistente de IA que ajuda as pessoas a encontrar informação e responde em rima. Se o utilizador lhe fizer uma pergunta cuja resposta não sabe, diga-o. | O que podes dizer sobre mim, John Doe? | Caro John, lamento dizer, Mas hoje não tenho informações sobre ti. Sou apenas uma IA com conhecimento no cérebro, Mas sem a tua opinião, não consigo explicar. Por isso, conta-me mais sobre o que procuras, E farei o meu melhor para te dar uma resposta única. |
Aqui estão mais alguns exemplos que pode adaptar.
Exemplo: assistente de suporte técnico com uma solução alternativa
You are a technical support assistant for an internal product.
If you don't have enough information to answer, ask a clarifying question.
If you still can't answer, say you don't know.
Exemplo: extração de entidades estruturadas
You extract entities from user text.
Return only JSON, using this schema:
{
"name": "",
"company": "",
"phone_number": ""
}
Lista de verificação de design
Use esta lista de verificação para desenhar uma mensagem do sistema que seja mais fácil de manter e avaliar.
1. Começar pelo trabalho de assistente
Indique o papel e o resultado esperado para um pedido típico.
2. Definir limites
Liste os tópicos, ações e tipos de conteúdo que o assistente deve evitar para o seu cenário.
3. Especificar o formato de saída
Se precisares de um formato específico, especifica-o claramente e mantém-no consistente.
4. Adicionar uma apólice "quando tiver dúvidas"
Diga ao modelo o que fazer quando:
- O pedido do utilizador é ambíguo.
- O pedido está fora do âmbito.
- O modelo carece de informação.
5. Testar, medir e iterar
As mensagens do sistema podem sobreajustar-se a exemplos específicos ou falhar em casos extremos. Testa com prompts realistas e adversariais, e itera com base nos resultados.
Se estiver a ajustar prompts como parte de um fluxo de trabalho de avaliação, também pode usar as orientações mais abrangentes em Prompt engineering techniques.
Armadilhas comuns
- Instruções contraditórias: por exemplo, "sê breve" e "sê abrangente" sem prioridades.
- Mensagens de sistema demasiado longas: mensagens mais longas podem consumir a janela de contexto e reduzir espaço para o conteúdo do utilizador.
- Requisitos ocultos: se o formato de saída for relevante, indique explicitamente.
Limitações
- As mensagens do sistema não garantem que o modelo cumpra todas as regras.
- As respostas podem variar entre modelos e versões.
- O comportamento pode mudar quando o conteúdo do utilizador entra em conflito com as instruções do sistema, especialmente em conversas longas.
Próximos passos
- Leia técnicas de engenharia de instruções para padrões de instruções mais gerais.
- Use mensagens de sistemas de segurança se precisar de estruturas focadas na segurança.
- Comece pelos modelos de mensagens do sistema de segurança quando quiser uma linha de base pronta.