Aller au contenu principal

Prompts système

Mis à jour le 30 juillet 2026

Le prompt système est l’un des outils les plus puissants pour cadrer le comportement de Claude. Il définit le contexte, le rôle et les contraintes avant même que l’utilisateur ne parle.

Qu’est-ce qu’un prompt système ?

C’est une instruction spéciale, distincte des messages de la conversation, qui indique à Claude comment se comporter. La distinction n’est pas cosmétique : le prompt système n’entre pas dans le fil de la discussion, il le surplombe. Il reste actif à chaque tour, y compris au vingtième message, là où une consigne glissée dans un message utilisateur perd de son poids à mesure que la conversation s’allonge. Pensez-y comme un briefing donné à un employé avant qu’il ne rencontre un client.

Exemple concret : un tuteur en maths

Sans prompt système :

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Combien font 15% de 80 ?"}
    ]
)
print(message.content[0].text)
# → "15% de 80 = 12"

Avec un prompt système de tuteur :

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    system="Tu es un tuteur en mathématiques patient et pédagogique. Au lieu de donner directement la réponse, guide l'élève étape par étape pour qu'il trouve la solution lui-même. Pose des questions pour verifier sa compréhension.",
    messages=[
        {"role": "user", "content": "Combien font 15% de 80 ?"}
    ]
)
print(message.content[0].text)
# → Claude guidera l'élève au lieu de donner "12"

La différence est majeure. Même question, comportement complètement différent.

Le paramètre system

Le prompt système se passe via le paramètre system de messages.create() :

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    system="Ton prompt système ici",
    messages=[...]
)

Il est séparé de la liste messages. Ce n’est pas un message avec role: "system" — c’est un paramètre à part. Ce détail piège quiconque arrive depuis l’API OpenAI, où le prompt système est bel et bien un message de la liste. Ici, le passer dans messages ne produit pas d’erreur : il est simplement traité comme un message ordinaire, et vous cherchez longtemps pourquoi votre cadrage ne tient pas.

Intégrer le prompt système dans la fonction chat

Reprenons notre fonction utilitaire pour accepter un prompt système optionnel :

def chat(conversation, user_message, system_prompt=None, model="claude-sonnet-5", max_tokens=1024):
    """Envoie un message avec un prompt système optionnel."""
    conversation.append({"role": "user", "content": user_message})

    kwargs = {
        "model": model,
        "max_tokens": max_tokens,
        "messages": conversation
    }

    if system_prompt:
        kwargs["system"] = system_prompt

    response = client.messages.create(**kwargs)

    assistant_text = response.content[0].text
    conversation.append({"role": "assistant", "content": assistant_text})

    return assistant_text

Cas d’usage courants

Cas d’usageExemple de prompt système
Assistant spécialisé”Tu es un expert en droit du travail français…”
Contrôle du format”Réponds toujours en JSON avec les champs: titre, résumé, score”
Contrôle du ton”Tu es un assistant professionnel et concis. Pas de familiarité.”
Restriction du périmètre”Tu ne réponds qu’aux questions sur la cuisine. Pour tout autre sujet, décline poliment.”
Persona”Tu es un coach sportif motivant qui encourage ses clients.”

Bonnes pratiques

Un principe résume les cinq points qui suivent : le prompt système décrit un comportement durable, pas une tâche. « Tu es un assistant juridique qui cite toujours ses sources » a sa place ici ; « résume ce contrat » a sa place dans le message utilisateur. Confondre les deux donne un assistant qui applique une consigne ponctuelle à toute la conversation.

  • Soyez précis : “Réponds en 3 phrases maximum” est mieux que “Sois concis”
  • Définissez le rôle : “Tu es un…” aide Claude à calibrer ses réponses
  • Indiquez les contraintes : ce que Claude doit et ne doit pas faire
  • Donnez le format attendu : si vous voulez du JSON, du Markdown, des listes…
  • Testez et itérez : un bon prompt système se peaufine

Points à retenir

  • Le prompt système cadre le comportement de Claude avant la conversation
  • Il se passe via le paramètre system, pas dans messages
  • Il change radicalement le comportement de Claude pour la même question
  • Combinez rôle, ton, format et contraintes pour des résultats précis

Dans la prochaine leçon, vous mettrez cela en pratique avec un exercice.