Exercice : prompts système
Sur cette page
Dans cet exercice, vous allez expérimenter avec différents prompts système pour observer comment ils transforment le comportement de Claude.
Objectif
Créer 3 chatbots avec des personnalités différentes en utilisant uniquement des prompts système. Posez les mêmes questions aux trois et comparez les réponses.
Les 3 personnalités à créer
1. Le chef cuisinier français
Un chef passionné qui répond avec des recettes, des astuces de cuisine et des anecdotes gastronomiques. Il ramène tout à la cuisine.
2. Le reviewer de code
Un reviewer constructif mais rigoureux. Il cherche les bugs, les améliorations possibles et les bonnes pratiques. Il est direct sans être cassant.
3. L’historien
Un historien érudit qui relie tout à des événements historiques. Quand on lui pose une question, il trouve un parallèle avec l’histoire.
À vous de jouer
Pour chaque personnalité :
- Écrivez le prompt système (soyez précis et détaillé)
- Testez avec ces 3 questions :
- “Qu’est-ce que le travail en équipe ?”
- “Comment gérer le stress ?”
- “Quel conseil donnerais-tu à un débutant ?”
- Comparez les réponses entre les trois personnalités
Code de départ
from dotenv import load_dotenv
from anthropic import Anthropic
load_dotenv()
client = Anthropic()
model = "claude-sonnet-5-5"
def ask_with_personality(system, question):
"""Pose une question avec un prompt système donné."""
message = client.messages.create(
model=model,
max_tokens=4096,
system=system,
messages=[{"role": "user", "content": question}],
)
return "".join(block.text for block in message.content if block.type == "text")
# Définissez vos prompts système ici
chef_prompt = "..."
reviewer_prompt = "..."
historien_prompt = "..."
questions = [
"Qu'est-ce que le travail en équipe ?",
"Comment gérer le stress ?",
"Quel conseil donnerais-tu à un débutant ?",
]
for question in questions:
print(f"\n{'=' * 60}\nQuestion : {question}\n{'=' * 60}")
for name, prompt in [("Chef", chef_prompt), ("Reviewer", reviewer_prompt), ("Historien", historien_prompt)]:
print(f"\n--- {name} ---")
print(ask_with_personality(prompt, question))
Solution
Essayez d’abord par vous-même avant de regarder la solution.
Voir les prompts système
chef_prompt = """Tu es un chef cuisinier français passionné, avec 30 ans d'expérience.
Tu réponds à toutes les questions en faisant des parallèles avec la cuisine et la gastronomie.
Tu donnes des astuces culinaires, des recettes et des anecdotes de cuisine dès que possible.
Tu emploies le vocabulaire culinaire et tu es enthousiaste.
Quand la question n'a rien à voir avec la cuisine, tu trouves quand même un angle gastronomique."""
reviewer_prompt = """Tu es un relecteur de code senior, avec 15 ans d'expérience en Python et en architecture logicielle.
Tu es constructif mais rigoureux. Tu cherches toujours :
- les bugs potentiels ;
- les améliorations de performance ;
- le respect des bonnes pratiques (PEP 8, SOLID, DRY) ;
- la lisibilité et la maintenabilité.
Tu réponds à toutes les questions sous l'angle du développement logiciel et de la qualité du code.
Tu es direct et tu donnes des exemples de code quand c'est pertinent."""
historien_prompt = """Tu es un historien érudit, spécialiste d'histoire mondiale de l'Antiquité à nos jours.
Pour chaque question, tu trouves un parallèle historique pertinent et tu racontes un événement qui illustre ta réponse.
Tu cites des dates, des lieux et des personnages précis.
Tu es passionné et tu rends l'histoire vivante et accessible."""
Ce que vous devriez observer
- Le chef transforme chaque réponse en métaphore culinaire
- Le reviewer donne des conseils structurés avec des références au code
- L’historien cite des événements et des personnages pour illustrer ses propos
Le même modèle, la même question, et des réponses radicalement différentes : c’est toute la puissance des prompts système. Remarquez aussi que le prompt de l’historien ne lui fait plus revendiquer une « mémoire encyclopédique » : un prompt système décrit un rôle et un comportement, il ne donne pas au modèle des connaissances qu’il n’a pas.
Pour aller plus loin
- Créez une 4e personnalité de votre choix
- Testez ce qui se passe quand le prompt système est très court vs très détaillé
- Essayez de donner des contraintes contradictoires et observez comment Claude gère
Sources officielles : System prompts (Claude Academy) · Prompting best practices (documentation Claude : donner un rôle à Claude)
Points clés à retenir
- Trois prompts système, une seule question : trois réponses différentes, c’est l’effet du rôle.
- Un bon prompt système précise le rôle, le ton, ce qu’il faut toujours faire et comment traiter les questions hors sujet.
- Un prompt système façonne le comportement, il n’ajoute pas de connaissances.
- On compare les variantes sur les mêmes questions : c’est déjà une petite évaluation, préfiguration de la section 2.