Aller au contenu principal

Contrôler la sortie du modèle

Mis à jour le 30 juillet 2026

Au-delà de la rédaction de meilleurs prompts, deux techniques puissantes permettent de contrôler la sortie de Claude : le pré-remplissage des messages assistant et les séquences d’arrêt. Chacune agit sur une extrémité de la réponse — le pré-remplissage décide comment elle commence, les séquences d’arrêt décident où elle finit — et ensemble, elles offrent un contrôle précis sur le format et la longueur que le prompting seul n’atteint pas.

Pré-remplissage des messages assistant

Le pré-remplissage consiste à fournir le début de la réponse de Claude pour orienter fortement sa direction. Au lieu de laisser Claude décider comment commencer, vous lui donnez une ouverture spécifique — en exploitant une propriété que vous connaissez déjà : l’historique de messages est déclaratif, et rien n’interdit d’y écrire un message assistant vous-même.

Le mécanisme : vous construisez votre liste de messages normale avec la question de l’utilisateur, puis ajoutez un message assistant contenant le début de la réponse souhaitée. Claude voit ce message et continue naturellement à partir de ce point — comme s’il l’avait écrit lui-même.

Exemple : demandez « Le thé ou le café est-il meilleur au petit-déjeuner ? » — question d’opinion sur laquelle Claude produirait une réponse équilibrée. Pré-remplissez avec « Le café est meilleur parce que », et l’équilibre disparaît :

messages = []
add_user_message(messages, "Le café ou le the est-il meilleur au petit-déjeuner ?")
add_assistant_message(messages, "Le café est meilleur parce que")

chat(messages)

Claude renvoie quelque chose comme « il contient plus de caféine. » Détail pratique à ne pas rater : il ne répète pas le texte pré-rempli — la réponse reprend là où votre amorce s’arrête, et vous devez combiner les deux parties pour obtenir la phrase complète.

Vous pouvez orienter Claude dans n’importe quelle direction en changeant le texte pré-rempli — « Le thé est meilleur parce que » penche vers le thé, « Les deux se valent parce que » produit une réponse neutre. Trois mots d’amorce, et toute la réponse suit. Au-delà du jeu d’opinion, c’est l’outil de contrôle du format : imposer une ouverture, sauter les préambules, forcer une structure.

Séquences d’arrêt (stop sequences)

À l’autre bout, les séquences d’arrêt forcent Claude à interrompre sa réponse immédiatement quand il génère un texte spécifique. Vous fournissez une liste de chaînes ; dès que Claude en génère une, il s’arrête et renvoie tout ce qu’il a produit jusque-là. La séquence d’arrêt elle-même n’est pas incluse dans la réponse.

Sur Bedrock, le réglage rejoint la configuration d’inférence :

def chat(messages, system=None, temperature=1.0, stop_sequences=[]):
    params = {
        "modelId": model_id,
        "messages": messages,
        "inferenceConfig": {
            "temperature": temperature,
            "stopSequences": stop_sequences
        },
    }

Exemple pratique :

messages = []
add_user_message(messages, "Comptez de 1 a 10")

chat(messages, stop_sequences=["5"])

Résultat : « 1, 2, 3, 4, » — Claude s’arrête avant d’inclure le « 5 ». Observez la fin de chaîne : la virgule et l’espace y figurent, car la coupe tombe au caractère près, juste devant la séquence détectée — choisissez donc vos séquences en pensant à l’état exact dans lequel elles laissent la sortie. Vous pouvez aussi spécifier plusieurs séquences d’arrêt :

chat(messages, stop_sequences=["5", "3, 4"])

La première séquence générée gagne — ici, « 3, 4 » arrêterait la génération avant même que « 5 » ne soit atteint.

Cas d’usage des séquences d’arrêt

En pratique, les séquences d’arrêt servent à contrôler la longueur des réponses, à s’arrêter à des points de rupture naturels dans une sortie structurée — fin d’une liste, fermeture d’un bloc —, et à empêcher Claude de continuer au-delà de délimiteurs spécifiques. La génération coupée est aussi du temps et des tokens économisés : on ne paie pas ce qui n’est pas généré.

Ces deux techniques offrent un contrôle fin sur le comportement de Claude, permettant de façonner les réponses d’une manière que le simple prompting ne peut pas atteindre. Et elles culminent lorsqu’on les combine — ouvrir un format par pré-remplissage, le fermer par séquence d’arrêt : c’est la recette d’extraction de données structurées de la prochaine leçon.

Points clés à retenir

  • Deux leviers complémentaires : le pré-remplissage contrôle le début, les stop sequences contrôlent la fin
  • Pré-remplir = écrire l’amorce du message assistant ; la réponse continue sans répéter l’amorce
  • La coupe des stop sequences tombe au caractère près, séquence exclue — pensez à l’état final de la chaîne
  • Sur Bedrock : stopSequences dans inferenceConfig, plusieurs séquences possibles
  • Combinées, ces techniques préparent l’extraction de données structurées — prochaine leçon