System prompts
Qu’est-ce qu’un system prompt ?
Un system prompt est un moyen de fournir un contexte, des instructions et des directives à Claude avant de lui présenter une question ou une tâche. En utilisant un system prompt, vous pouvez définir le cadre de la conversation, en précisant le rôle de Claude, sa personnalité, son ton ou toute autre information pertinente qui l’aidera à mieux comprendre et répondre à l’entrée de l’utilisateur.
Les system prompts peuvent inclure :
- Instructions et objectifs de la tâche
- Traits de personnalité, rôles et directives de ton
- Informations contextuelles pour l’entrée de l’utilisateur
- Contraintes de créativité et conseils de style
- Connaissances externes, données ou matériel de référence
- Règles, directives et garde-fous
- Normes et exigences de vérification des résultats
Avantages de l’utilisation des system prompts
L’intégration de system prompts bien conçus peut améliorer considérablement les performances et la qualité des résultats de Claude. Voici quelques avantages clés :
- Amélioration du jeu de rôle et de la cohérence des personnages : Lorsque vous attribuez à Claude un rôle ou une personnalité spécifique via un system prompt, il peut maintenir ce personnage plus efficacement tout au long de la conversation, en présentant des réponses plus naturelles et créatives tout en restant dans le personnage.
- Meilleure adhésion aux règles et aux instructions : Les system prompts peuvent aider Claude à mieux comprendre et suivre les directives, ce qui réduit le risque qu’il effectue des tâches interdites, produise du contenu restreint ou s’écarte des instructions données.
- Meilleure compréhension du contexte : En fournissant des informations de base pertinentes ou du matériel de référence dans le system prompt, vous pouvez améliorer la compréhension de Claude de l’entrée de l’utilisateur et lui permettre de générer des réponses plus précises et adaptées au contexte.
- Personnalisation du format de sortie : Les system prompts peuvent être utilisés pour spécifier les formats de sortie souhaités, tels que des en-têtes, des listes, des tableaux ou des blocs de code, en veillant à ce que les réponses de Claude soient structurées et présentées de la manière qui convient le mieux à vos besoins.
Il est important de noter que si les system prompts peuvent augmenter la robustesse et la résilience de Claude face aux comportements indésirables, ils ne garantissent pas une protection complète contre les jailbreaks ou les fuites. Cependant, ils fournissent une couche supplémentaire de guidage et de contrôle sur les résultats de Claude.
Comment utiliser les system prompts
Pour utiliser les system prompts avec l’API Messages, définissez le paramètre system
sur le texte de system prompt souhaité. Voici un exemple d’appel d’API :
import anthropic
client = anthropic.Client(api_key="YOUR_API_KEY")
response = client.messages.create(
model="claude-2.1",
system="Répondez uniquement en espagnol.", # <-- system prompt
messages=[
{"role": "user", "content": "Bonjour, Claude!"} # <-- user prompt
]
)
print(response.message)
Pour plus d’informations, reportez-vous à notre documentation de l’API Messages.
Remarque : Vous pouvez également utiliser des system prompts dans la Console, mais pas sur claude.ai.
Techniques de prompting
Vous pouvez appliquer les mêmes techniques de prompting que vous utiliseriez dans un user prompt à un system prompt à la place. Par exemple, vous pouvez :
- Spécifier le formatage de sortie : Fournir des exemples de réponses ou des instructions pour les modèles de sortie souhaités dans le system prompt pour guider le comportement de Claude.
- Fournir des documents, des guides et du matériel de référence : Inclure des informations pertinentes ou du contenu RAG dans le system prompt pour aider Claude à générer des réponses plus informées et précises.
- Utiliser des balises XML, en particulier pour structurer de longs documents : Utiliser des balises XML pour organiser votre system prompt en sections afin d’améliorer la clarté. Lorsque vous intégrez plusieurs documents ou des documents volumineux dans le system prompt, vous pouvez utiliser le format XML multi-documents pour aider Claude à mieux comprendre et utiliser les informations fournies.
Foire aux questions
Comment savoir quand utiliser un system prompt ou un user prompt ?
Le prompting est une question d’expérimentation, nous vous recommandons donc d’essayer les deux façons ! Mais en général, vous pouvez considérer les system prompts comme un espace pour fournir des conseils sur l’interaction globale avec Claude, et le tour user
comme faisant partie de l’interaction elle-même, ou lorsque vous avez seulement une tâche ponctuelle à accomplir.
Comment puis-je convertir mes prompts existants en system prompts ?
Pour convertir vos prompts user
uniquement en system prompts, déplacez simplement tout le contenu qui ne fait pas partie de l’entrée de l’utilisateur vers le paramètre system
dans l’API Messages. Cela peut inclure des instructions de tâches, des directives de personnalité, du matériel de référence ou toute autre information contextuelle qui aide à définir le cadre de la conversation. Nous vous encourageons à expérimenter pour voir ce qui fonctionne le mieux dans quel champ.
Où puis-je utiliser les system prompts ?
Les system prompts sont actuellement disponibles pour une utilisation avec les modèles Claude 3 et Claude 2.1 via notre API, la Console, l’API d’Amazon Bedrock et l’API de Google Cloud Vertex AI. Ils ne sont pas pris en charge sur claude.ai pour le moment.
Les system prompts rendent-ils mes prompts à l’épreuve des jailbreaks ou des fuites ?
Bien que Claude soit déjà très résilient aux jailbreaks et aux comportements indésirables grâce à ses méthodes d’entraînement (par exemple, RLHF et Constitutional AI), les system prompts peuvent encore améliorer la capacité de Claude à respecter les instructions et les directives. Cependant, ils ne garantissent pas une protection complète contre les jailbreaks ou les fuites.