O que é um system prompt?

Um system prompt é uma maneira de fornecer contexto, instruções e diretrizes ao Claude antes de apresentá-lo com uma pergunta ou tarefa. Ao usar um system prompt, você pode preparar o terreno para a conversa, especificando o papel, a personalidade, o tom ou qualquer outra informação relevante do Claude que o ajudará a entender e responder melhor à entrada do usuário.

Os system prompts podem incluir:

  • Instruções e objetivos da tarefa
  • Traços de personalidade, papéis e diretrizes de tom
  • Informações contextuais para a entrada do usuário
  • Restrições de criatividade e orientação de estilo
  • Conhecimento externo, dados ou material de referência
  • Regras, diretrizes e proteções
  • Padrões e requisitos de verificação de saída

Benefícios de usar system prompts

A incorporação de system prompts bem elaborados pode melhorar significativamente o desempenho e a qualidade de saída do Claude. Alguns benefícios principais incluem:

  1. Melhor interpretação de papéis e consistência de personagens: Ao atribuir um papel ou personalidade específica ao Claude por meio de um system prompt, ele pode manter esse personagem de forma mais eficaz ao longo da conversa, exibindo respostas mais naturais e criativas enquanto permanece no personagem.
  2. Maior adesão a regras e instruções: Os system prompts podem ajudar o Claude a entender e seguir melhor as diretrizes, tornando menos provável que ele execute tarefas proibidas, gere conteúdo restrito ou se desvie das instruções fornecidas.
  3. Melhor compreensão do contexto: Ao fornecer informações de fundo relevantes ou material de referência no system prompt, você pode melhorar a compreensão do Claude sobre a entrada do usuário e permitir que ele gere respostas mais precisas e conscientes do contexto.
  4. Formatação de saída personalizada: Os system prompts podem ser usados para especificar os formatos de saída desejados, como cabeçalhos, listas, tabelas ou blocos de código, garantindo que as respostas do Claude sejam estruturadas e apresentadas de uma maneira que melhor atenda às suas necessidades.

É importante observar que, embora os system prompts possam aumentar a robustez e a resiliência do Claude contra comportamentos indesejados, eles não garantem proteção completa contra jailbreaks ou vazamentos. No entanto, eles fornecem uma camada adicional de orientação e controle sobre a saída do Claude.


Como usar system prompts

Para usar system prompts com a API Messages, defina o parâmetro system para o texto do system prompt desejado. Aqui está um exemplo de chamada de API:

Python
import anthropic

client = anthropic.Client(api_key="YOUR_API_KEY")

response = client.messages.create(
    model="claude-2.1",
    system="Responda apenas em espanhol.", # <-- system prompt
    messages=[
        {"role": "user", "content": "Olá, Claude!"} # <-- user prompt
    ]
)

print(response.message)

Para obter mais informações, consulte nossa documentação da API Messages.

Nota: Você também pode usar system prompts no Console, mas não no claude.ai.


Técnicas de prompting

Você pode aplicar as mesmas técnicas de prompting que usaria em um user prompt a um system prompt. Por exemplo, você pode:

  1. Especificar a formatação de saída: Forneça exemplos de respostas ou instruções para padrões de saída desejados dentro do system prompt para orientar o comportamento do Claude.
  2. Fornecer documentos, guias e material de referência: Inclua informações relevantes ou conteúdo RAG no system prompt para ajudar o Claude a gerar respostas mais informadas e precisas.
  3. Usar tags XML, especialmente para estruturar documentos longos: Use tags XML para organizar seu system prompt em seções para melhorar a clareza. Ao incorporar vários documentos ou documentos longos no system prompt, você pode usar o formato XML de vários documentos para ajudar o Claude a entender e utilizar melhor as informações fornecidas.

Perguntas frequentes

Como sei quando usar um system prompt vs. um user prompt?

Prompting é tudo experimentação, então recomendamos que você tente das duas maneiras! Mas, em geral, você pode pensar nos system prompts como um espaço para fornecer orientação sobre a interação geral com o Claude, e o turno user como parte da interação em si, ou quando você tem apenas uma tarefa única que deseja realizar.

Como posso converter meus prompts existentes apenas para usuários para usar system prompts?

Para converter seus prompts apenas user em system prompts, basta mover qualquer conteúdo que não faça parte da entrada do usuário para o parâmetro system na API Messages. Isso pode incluir instruções de tarefas, diretrizes de personalidade, material de referência ou qualquer outra informação contextual que ajude a preparar o terreno para a conversa. Encorajamos você a experimentar para ver o que funciona melhor em cada campo.

Onde posso usar system prompts?

Os system prompts estão atualmente disponíveis para uso com os modelos Claude 3 e Claude 2.1 por meio de nossa API, Console, API do Amazon Bedrock e API do Google Cloud Vertex AI. Eles não são suportados no claude.ai no momento.

Os system prompts tornam meus prompts à prova de jailbreak ou à prova de vazamento?

Embora o Claude já seja altamente resiliente a jailbreaks e comportamentos indesejados devido aos seus métodos de treinamento (por exemplo, RLHF e Constitutional AI), os system prompts podem aprimorar ainda mais a capacidade do Claude de aderir a instruções e diretrizes. No entanto, eles não garantem proteção completa contra jailbreaks ou vazamentos.