Controler la sortie du modele
Au-dela de la redaction de meilleurs prompts, deux techniques puissantes permettent de controler la sortie de Claude : le pre-remplissage des messages assistant et les sequences d’arret. Ces methodes offrent un controle precis sur le format et la longueur des reponses.
Pre-remplissage des messages assistant
Le pre-remplissage consiste a fournir le debut de la reponse de Claude pour orienter fortement la direction de sa reponse. Au lieu de laisser Claude decider comment commencer, vous lui donnez une ouverture specifique.
Le mecanisme : vous construisez votre liste de messages normale avec la question de l’utilisateur, puis ajoutez un message assistant contenant le debut de la reponse souhaitee. Claude voit ce message et continue naturellement a partir de ce point.
Exemple : si vous demandez “Le the ou le cafe est-il meilleur au petit-dejeuner ?” et pre-remplissez avec “Le cafe est meilleur parce que”, Claude continuera depuis ce point en construisant un argument en faveur du cafe.
messages = []
add_user_message(messages, "Le cafe ou le the est-il meilleur au petit-dejeuner ?")
add_assistant_message(messages, "Le cafe est meilleur parce que")
chat(messages)
Claude renvoie quelque chose comme “il contient plus de cafeine.” Il ne repete pas le texte pre-rempli : vous devez combiner les deux parties pour obtenir la reponse complete.
Vous pouvez orienter Claude dans n’importe quelle direction en changeant le texte pre-rempli :
- “Le the est meilleur parce que” : oriente vers le the
- “Les deux se valent parce que” : produit une reponse neutre
Sequences d’arret (stop sequences)
Les sequences d’arret forcent Claude a interrompre sa reponse immediatement quand il genere un texte specifique. Vous fournissez une liste de chaines ; des que Claude en genere une, il s’arrete et renvoie tout ce qu’il a produit jusque-la. La sequence d’arret elle-meme n’est pas incluse dans la reponse.
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"])
Resultat : “1, 2, 3, 4,” — Claude s’arrete avant d’inclure le “5”. Vous pouvez specifier plusieurs sequences d’arret :
chat(messages, stop_sequences=["5", "3, 4"])
Cas d’usage des sequences d’arret
- Controler la longueur des reponses
- S’arreter a des points de rupture naturels dans une sortie structuree
- Empecher Claude de continuer au-dela de delimiteurs specifiques
Ces deux techniques offrent un controle fin sur le comportement de Claude, permettant de faconner les reponses d’une maniere que le simple prompting ne peut pas atteindre.