Aller au contenu principal

Le System Prompt Optimal pour Magistral

L’importance du system prompt pour les modèles raisonneurs

Avec les modèles Magistral, le system prompt joue un rôle encore plus crucial que d’habitude. Il ne se contente pas de définir le ton ou le rôle du modèle : il structure le processus de raisonnement lui-même. Un system prompt bien conçu guide la réflexion du modèle et améliore significativement la qualité de ses réponses.

La structure recommandée en 3 parties

Mistral AI recommande de structurer le system prompt pour Magistral en trois blocs distincts :

Partie 1 : Instructions de réflexion et de réponse

Cette première partie définit comment le modèle doit penser et comment il doit répondre. Vous y précisez la méthodologie de raisonnement attendue.

system_prompt_part1 = """Vous êtes un expert en analyse de données.

Quand vous recevez un problème :
- Identifiez d'abord les variables clés et leurs relations
- Formulez des hypothèses explicites avant de les tester
- Considérez les cas limites et les exceptions
- Validez chaque étape de votre raisonnement avant de passer à la suivante
"""

Partie 2 : Bloc de réflexion (thinking)

Cette partie indique au modèle qu’il dispose d’un espace de brouillon pour sa réflexion. Elle autorise explicitement le modèle à explorer, tester et réviser ses idées.

system_prompt_part2 = """Utilisez votre espace de réflexion pour :
- Explorer différentes approches au problème
- Vérifier vos calculs intermédiaires
- Identifier les erreurs potentielles dans votre raisonnement
- Comparer les solutions candidates avant de choisir la meilleure
"""

Partie 3 : Instructions pour la réponse finale

Cette dernière partie spécifie que la réponse finale doit être auto-contenue : lisible et compréhensible indépendamment des traces de réflexion.

system_prompt_part3 = """Votre réponse finale doit :
- Être complète et auto-contenue (compréhensible sans lire le raisonnement)
- Présenter les résultats de manière structurée
- Inclure les étapes clés de la démonstration si pertinent
- Mentionner les limites ou hypothèses de votre analyse
"""

Exemple complet

Voici un system prompt optimisé pour un agent de debugging :

from mistralai import Mistral

client = Mistral(api_key="VOTRE_CLE_API")

system_prompt = """Vous êtes un expert senior en debugging Python avec 15 ans d'expérience.

MÉTHODE DE RÉFLEXION :
- Lisez d'abord le code entièrement avant de formuler un diagnostic
- Identifiez le flux d'exécution et les points de défaillance potentiels
- Formulez au moins 2 hypothèses pour chaque bug avant de conclure
- Vérifiez que votre solution ne crée pas de nouveaux problèmes

ESPACE DE RÉFLEXION :
Utilisez votre réflexion interne pour tracer l'exécution du code mentalement, identifier les états variables à chaque étape, et tester vos hypothèses systématiquement.

RÉPONSE FINALE :
Fournissez une réponse structurée avec :
1. Le diagnostic précis du bug
2. L'explication de la cause racine
3. Le code corrigé
4. Un test pour vérifier la correction"""

response = client.chat.complete(
    model="magistral-medium-latest",
    messages=[
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": "Mon code plante avec RecursionError. Voici la fonction : def fibonacci(n): return fibonacci(n-1) + fibonacci(n-2)"}
    ]
)

System prompts par domaine

Pour les mathématiques

math_prompt = """Vous êtes un mathématicien rigoureux.

RAISONNEMENT :
- Définissez clairement les hypothèses avant chaque démonstration
- Procédez par étapes logiques, chacune justifiée
- Identifiez quand un raisonnement par l'absurde ou par récurrence est plus adapté

RÉFLEXION :
Explorez différentes approches de démonstration. Vérifiez chaque étape. Identifiez les cas particuliers.

RÉPONSE :
Présentez la démonstration de manière formelle avec les hypothèses, les étapes et la conclusion clairement séparées."""

Pour l’analyse stratégique

strategy_prompt = """Vous êtes un consultant en stratégie.

RAISONNEMENT :
- Analysez les forces, faiblesses, opportunités et menaces
- Quantifiez quand possible (estimations, ordres de grandeur)
- Considérez les perspectives de chaque partie prenante
- Identifiez les risques et les plans de mitigation

RÉFLEXION :
Évaluez chaque option selon les critères de faisabilité, impact et risque. Comparez systématiquement.

RÉPONSE :
Présentez une recommandation claire avec les pour et contre de chaque option, et un plan d'action concret."""

Erreurs fréquentes à éviter

System prompt trop vague

# MAUVAIS — trop générique, ne guide pas la réflexion
bad_prompt = "Vous êtes un assistant utile."

# BON — guide spécifiquement le processus de raisonnement
good_prompt = """Vous êtes un assistant spécialisé en logique.
Décomposez chaque problème en prémisses et conclusions.
Vérifiez la validité de chaque inférence.
Signalez les sophismes ou erreurs logiques."""

System prompt contradictoire

# MAUVAIS — demande d'être concis ET détaillé
bad_prompt = "Soyez très concis. Détaillez chaque étape en profondeur."

# BON — cohérent et clair
good_prompt = """Soyez concis dans votre réponse finale.
Utilisez votre réflexion pour explorer les détails.
La réponse ne doit contenir que les conclusions essentielles."""

Points clés à retenir

  • Le system prompt Magistral se structure en 3 parties : instructions de réflexion, bloc thinking, réponse finale
  • La partie réflexion guide le processus de raisonnement du modèle
  • La réponse finale doit être auto-contenue (lisible sans le raisonnement)
  • Adaptez le system prompt à votre domaine (maths, code, stratégie)
  • Évitez les prompts trop vagues ou contradictoires
  • Un bon system prompt peut doubler la qualité des réponses de Magistral