Une instruction système fait la différence entre une IA qui divague et une IA qui exécute. Le mois dernier, j’ai reconstruit le pipeline d’extraction d’AlgoVesta en modifiant exactement trois lignes dans l’instruction système. Même modèle. Même données d’entrée. La qualité de la sortie est passée de 67 % d’éléments analysables à 94 %.
La plupart des gens traitent les instructions système comme des instructions décoratives. Elles ne le sont pas. Une instruction système est votre seul moyen garanti de façonner la façon dont un modèle réfléchit avant qu’il ne voie votre demande réelle.
Ce que fait réellement une instruction système
Une instruction système est le premier message d’une conversation — celui que l’utilisateur ne voit jamais. C’est là que vous définissez le rôle du modèle, ses contraintes, son format de sortie et ses règles de prise de décision. Le modèle le traite comme un contexte qui n’expire pas. Il s’applique à chaque message de ce fil de conversation.
Ceci est important car le modèle accorde plus de poids aux instructions système qu’à l’entrée de l’utilisateur dans la plupart des implémentations. Une instruction système bien conçue survit aux instructions utilisateur négligentes. Une instruction faible s’effondre sous leur poids.
Trois Composants qui Contrôlent le Comportement
Définition du rôle. Dites au modèle exactement ce qu’il est. Pas « vous êtes un assistant utile » — c’est insignifiant. Soyez précis.
# Mauvaise instruction système
Vous êtes un assistant IA utile qui fournit des informations sur le trading.
# Meilleure instruction système
Vous êtes un analyste quantitatif en trading avec 10 ans d'expérience.
Votre travail consiste à analyser les données du marché et à identifier les opportunités d'arbitrage statistique.
Vous ne fournissez pas de conseils financiers. Vous signalez les opportunités et leurs risques.
Vous expliquez votre raisonnement en points numérotés courts.
La seconde version contraint la structure de sortie, élimine la dérive du périmètre et empêche le modèle de pivoter vers des conseils financiers lorsque vous lui demandez d’analyser quelque chose.
Spécification du format de sortie. Ne supposez pas que le modèle formatera la sortie comme vous le souhaitez. Définissez-le explicitement.
# Mauvaise instruction système
Analysez cet ensemble de données et fournissez des informations.
# Meilleure instruction système
Analysez cet ensemble de données.
Retournez la sortie UNIQUEMENT sous forme de JSON valide dans cette structure exacte :
{
"anomalies": [
{"metric": string, "threshold": number, "current_value": number}
],
"confidence": 0.0 à 1.0,
"risk_flags": [string]
}
N'incluez pas de texte explicatif en dehors de ce JSON.
Sans règles de format explicites, Claude ou GPT-4o encapsuleront le JSON dans des blocs de code markdown, ajouteront un préambule ou incluront des mises en garde qui casseront l’analyse en aval. La spécificité empêche cela.
Contraintes comportementales. Dites au modèle ce qu’il doit refuser et quand signaler l’incertitude.
# Mauvaise instruction système
Soyez précis.
# Meilleure instruction système
Si vous rencontrez l'un des éléments suivants, dites INCERTAIN et arrêtez le traitement :
- Données avec >20% de valeurs manquantes
- Demandes vous demandant de projeter au-delà de 30 jours
- Requêtes concernant les données financières d'individus spécifiques
Ne pas estimer les données manquantes. Ne pas extrapoler au-delà de la fenêtre de données d'entraînement.
Si vous ne pouvez pas accomplir la tâche, expliquez pourquoi en une phrase.
Cela empêche les points de données fantaisistes et rend les échecs visibles pour les processus en aval.
L’Équilibre Température et Jetons
Les instructions système fonctionnent avec les paramètres du modèle, pas contre eux. La température contrôle le caractère aléatoire ; une instruction système contrôle la direction.
Pour les tâches déterministes (extraction de données, formatage JSON, analyse structurée), utilisez une température de 0,0 à 0,3 avec une instruction système précise. La basse température rend le modèle prévisible ; l’instruction système le rend cohérent.
Pour les tâches génératives (rédaction, brainstorming, création de contenu), utilisez une température de 0,7 à 0,9 tout en gardant l’instruction système axée sur le ton et les limites de sortie, pas sur le contenu spécifique.
Claude Sonnet 4 (mars 2025) respecte plus strictement les instructions système que GPT-4o. Si vous changez de modèle, testez l’instruction système sur les deux — le comportement diffère. GPT-4o ignore parfois les spécifications de format sous une température de 0,8+ ; Claude les respecte.
Longueur de l’Instruction Système et Coût des Jetons
Une instruction système détaillée coûte des jetons à chaque requête dans cette conversation. Cela est important si vous effectuez une inférence à haut volume.
Une instruction système complète utilise 300 à 500 jetons. Au prix de Claude 3.5 Sonnet (mars 2025), cela représente environ 0,001 à 0,002 $ par requête pour les jetons système seuls. Multiplié par 100 000 requêtes par mois, vous regardez 100 à 200 $ de frais généraux pour l’instruction système.
La solution n’est pas de rogner sur les coûts — c’est de supprimer la redondance. Chaque contrainte de votre instruction système doit servir un but. Si une contrainte apparaît dans votre instruction utilisateur, supprimez-la de l’instruction système.
# Redondant
Système : « Toujours sortir du JSON valide. Formatez-le comme suit : {...} »
Utilisateur : « Analysez ces données et retournez du JSON dans la structure que j'ai spécifiée. »
# Optimisé
Système : « Toujours sortir du JSON valide dans cette structure : {...} »
Utilisateur : « Analysez ces données. »
L’instruction utilisateur est moins chère — elle n’est traitée qu’une seule fois par message. L’instruction système est traitée à chaque fois.
Tester Votre Instruction Système
Exécutez la même entrée de test trois fois et vérifiez la cohérence. Si la sortie varie considérablement, votre instruction système est trop vague ou votre température est trop élevée.
Testez les cas limites : entrée mal formée, champs manquants, requêtes qui violent vos contraintes. Une bonne instruction système gère ces cas sans hallucination — elle les signale.
Documentez ce qui a changé et pourquoi. Lorsque vous reconstruirez l’instruction système le mois prochain, vous saurez ce qui a fonctionné. Je tiens un journal des modifications comme celui-ci :
v1 (Jan) : Ensemble d'instructions de base, taux de succès de 40 % sur l'extraction complexe
v2 (Fév) : Ajout de la spécification du format JSON, taux de succès de 67 %
v3 (Mar) : Ajout d'une liste de contraintes pour les cas limites, taux de succès de 94 %
- Suppression de la définition vague du rôle
- Ajout d'un protocole explicite « INCERTAIN » pour les entrées ambiguës
- Spécification du comportement exact de gestion des erreurs
L’itération est intégrée. La première instruction système ne sera pas optimale.
Une Chose à Faire Aujourd’hui
Prenez une instruction que vous utilisez régulièrement. Réécrivez-la avec trois sections explicites : (1) rôle et contraintes, (2) format de sortie sous forme de JSON ou de texte structuré, (3) que faire lorsque la tâche échoue. Testez-la sur la même entrée cinq fois. Si les résultats varient de plus de 10 %, affinez le langage ou abaissez la température.