Les prompts système
Mis à jour le 30 juillet 2026
Jusqu’ici, Claude répond avec son comportement par défaut : serviable, complet, direct. Excellent assistant généraliste — mais votre application n’est probablement pas généraliste. Les prompts système permettent de personnaliser le comportement de Claude pour qu’il corresponde à votre cas d’usage : définir qui il est, comment il répond, ce qu’il s’interdit — avant même le premier message de l’utilisateur.
Pourquoi utiliser un prompt système
Prenons l’exemple d’un chatbot tuteur en mathématiques. Quand un étudiant demande « Comment résoudre 5x + 2 = 3 pour x ? », on veut que Claude se comporte comme un vrai tuteur :
- Donner d’abord des indices plutôt que la solution complète
- Guider l’étudiant pas à pas
- Montrer des exemples similaires
On ne veut pas que Claude donne directement la réponse ou suggère d’utiliser une calculatrice — ce serait pédagogiquement contre-productif, et pourtant c’est exactement ce que ferait le comportement par défaut, optimisé pour être serviable et donner la réponse. Le problème n’est pas que Claude réponde mal : c’est que « bien répondre » ne signifie pas la même chose pour un moteur de recherche et pour un tuteur. Le prompt système est l’endroit où l’on définit ce que « bien répondre » veut dire pour votre application.
Fonctionnement
Le prompt système est passé en paramètre system de la fonction create — une voie séparée de la liste des messages :
system_prompt = """
Tu es un tuteur de mathématiques patient.
Ne reponds pas directement aux questions.
Guide l'etudiant vers la solution étape par étape.
"""
client.messages.create(
model=model,
messages=messages,
max_tokens=1000,
system=system_prompt
)
Cette séparation est significative : le prompt système n’appartient pas à la conversation. L’utilisateur ne le voit pas, ne l’écrit pas, et il s’applique à tous les tours de la conversation — là où un message utilisateur n’est qu’un tour parmi d’autres. C’est la voix de l’application, distincte de celle de l’utilisateur : vos règles y pèsent durablement, au-dessus du fil de la discussion.
La différence en pratique
L’effet est immédiat et spectaculaire sur notre équation. Sans prompt système, Claude donne la solution complète immédiatement — soustraire 2, diviser par 5, x = 0,2. Avec le prompt système, Claude pose des questions comme « Quelle serait une bonne première étape pour isoler x ? » — il tutore. Même modèle, même question, deux applications entièrement différentes : toute la différence tient dans ces trois lignes de système.
Fonction chat flexible
Intégrons le paramètre à notre fonction utilitaire, pour qu’elle serve les deux cas — avec et sans système :
def chat(messages, system=None):
params = {
"model": model,
"max_tokens": 1000,
"messages": messages,
}
if system:
params["system"] = system
message = client.messages.create(**params)
return message.content[0].text
Le détail d’implémentation qui compte : l’API Claude n’accepte pas system=None — d’où la construction du dictionnaire de paramètres en deux temps, avec inclusion conditionnelle. Le paramètre n’est ajouté que s’il a une valeur ; sinon, il est simplement absent de la requête. Ce pattern de construction conditionnelle nous resservira pour chaque paramètre optionnel à venir — température, outils, séquences d’arrêt.
Les prompts système sont le premier outil de personnalisation de votre boîte — essentiels pour créer des applications cohérentes et adaptées à leur usage. La section d’ingénierie de prompt approfondira leur rédaction ; pour l’instant, retenez le mécanisme et le réflexe : toute application sérieuse commence par définir qui son Claude doit être.
Points clés à retenir
- Le prompt système définit le comportement de l’application : rôle, méthode, interdits — avant tout message
- Il passe par le paramètre
system, séparé des messages : invisible pour l’utilisateur, actif à tous les tours - Trois lignes de système transforment un répondeur en tuteur — même modèle, application différente
system=Noneest refusé par l’API : construction conditionnelle des paramètres, pattern à réutiliser- Définir « bien répondre » pour votre cas d’usage : c’est le rôle exact du prompt système