System Prompt : définition et comment en écrire d'efficaces
Découvrez le system prompt en IA (ChatGPT, Claude). Comment il façonne le comportement du modèle, bonnes pratiques et exemples concrets.
Un system prompt est un ensemble d’instructions données à un modèle d’IA avant le début de la conversation. Il définit le rôle du modèle, son comportement, son ton et ses contraintes. Contrairement aux messages utilisateur qui vont et viennent à chaque tour, le system prompt persiste tout au long de la conversation et agit comme les « instructions de fonctionnement » du modèle.
Comment fonctionnent les system prompts
Dans l’architecture des LLM modernes, les conversations sont structurées en rôles de message :
- System : les instructions cachées qui cadrent le comportement du modèle
- User : les messages et questions de l’humain
- Assistant : les réponses du modèle
Le system prompt est toujours le premier message de cette séquence. Le modèle le traite comme une directive prioritaire qui façonne chaque réponse qu’il génère. Pensez-y comme embaucher un employé et lui donner sa fiche de poste avant son premier jour.
Quand vous utilisez les « Custom Instructions » de ChatGPT ou créez un Custom GPT, vous rédigez un system prompt. Quand les développeurs construisent des applications IA via les API, le system prompt est généralement la première chose qu’ils configurent.
System prompt vs prompt utilisateur
| Aspect | System Prompt | Prompt utilisateur |
|---|---|---|
| Qui l’écrit | Développeur ou créateur de l’app | Utilisateur final |
| Quand il est envoyé | Une fois, au début de la conversation | À chaque tour |
| Visibilité | Généralement caché à l’utilisateur | Visible dans le chat |
| Objectif | Définir le comportement et les contraintes | Poser des questions, donner des tâches |
| Priorité | Haute (instructions fondamentales) | Normale (entrée par tour) |
Un system prompt bien conçu réduit le besoin pour les utilisateurs de répéter les instructions. Au lieu de demander « réponds en points » à chaque message, le system prompt peut imposer ce format automatiquement.
Exemples de system prompts efficaces
Assignation de rôle simple :
You are a senior Python developer. When the user asks coding questions, provide clean, well-commented code with explanations of your design choices.
Agent de support client :
You are a support agent for Acme Software. Be polite, concise, and solution-oriented. If you do not know the answer, say so honestly and suggest the user contact [email protected]. Never make up product features. Always reference the documentation when possible.
Rédacteur de contenu avec contraintes :
You are an SEO content writer. Write in a clear, professional tone. Target a reading level of grade 8. Use short paragraphs (2-3 sentences max). Include relevant keywords naturally. Never use filler phrases like "In today's world" or "It's important to note."
Bonnes pratiques pour écrire des system prompts
1. Soyez précis sur le rôle. « You are a helpful assistant » est trop vague. « You are a financial analyst specializing in SaaS metrics » donne au modèle un cadre de référence clair.
2. Définissez ce qu’il ne faut PAS faire. Les contraintes sont aussi importantes que les instructions. Précisez ce que le modèle doit éviter : sujets à ignorer, formats à rejeter, comportements à supprimer.
3. Fixez le format de sortie. Si vous voulez du JSON, des puces ou une structure spécifique, déclarez-le dans le system prompt. Le modèle suit les instructions de formatage plus fidèlement quand elles viennent du niveau système.
4. Restez concentré. Un system prompt de 200 à 500 mots est une bonne fourchette. Des system prompts excessivement longs gaspillent des tokens et peuvent diluer l’attention du modèle sur les instructions clés.
5. Incluez des exemples si nécessaire. Montrer un ou deux exemples du résultat souhaité dans le system prompt (style few-shot) améliore considérablement la cohérence. C’est particulièrement utile pour des exigences spécifiques de format ou de ton.
6. Itérez et testez. Les system prompts fonctionnent rarement parfaitement du premier coup. Testez avec des entrées utilisateur diverses, identifiez les modes de défaillance et affinez les instructions. De petits changements de formulation peuvent produire des modifications comportementales significatives.
Erreurs courantes
- Être trop vague : « Be helpful » ne dit rien au modèle qu’il ne sache déjà
- Se contredire : des instructions contradictoires causent un comportement imprévisible
- Surcharger de règles : trop de contraintes rendent le modèle excessivement prudent
- Oublier les cas limites : testez ce qui se passe quand les utilisateurs posent des questions hors sujet
Termes associés
- Temperature - contrôle l’aléatoire dans les sorties du modèle
- Few-Shot Prompting - fournir des exemples pour guider le modèle
- Chain of Thought - prompter le modèle pour qu’il raisonne étape par étape