Aller au contenu principal
Leçon 6 sur 12 · Raisonnement IA avec Mistral — reasoning_effort, Small 4 et Large 4

Prompter un modèle qui raisonne

Leçon 6 sur 12 Mis à jour le 2 novembre 2026 Développeur
Sur cette page
  1. Ce qui a changé depuis Magistral
  2. Séparer ce qui relève de la réflexion et de la réponse
  3. Décliner par domaine
  4. Trois erreurs fréquentes
  5. Points clés à retenir

Leçon réécrite le 2 novembre 2026. Elle portait sur le prompt système de Magistral, retiré depuis le 31 juillet 2026. La documentation actuelle du raisonnement (Reasoning) ne prévoit plus de prompt système dédié : reasoning_effort suffit. Ce qui suit distingue ce que disait la documentation de Magistral, ce qui a changé, et les règles de rédaction qui restent utiles.

Ce qui a changé depuis Magistral

Magistral fonctionnait au mieux avec un prompt système par défaut, que la documentation reproduisait (elle l’archive aujourd’hui dans sa page Native reasoning (deprecated)). En substance, il demandait au modèle de rédiger d’abord sa réflexion, comme un monologue intérieur, puis une réponse autonome ; d’écrire en Markdown, avec LaTeX pour les équations ; et de répondre dans la langue de la question. Il comportait même un gabarit de réflexion, sous la forme d’un fragment thinking placé dans le message système. Un paramètre, prompt_mode, permettait de forcer ce prompt par défaut ("reasoning") ou de s’en passer (None).

Avec les modèles actuels, rien de tout cela n’est nécessaire : la page sur le raisonnement ne mentionne ni prompt système dédié ni prompt_mode. Vous activez la réflexion avec reasoning_effort, et votre prompt système redevient un prompt système ordinaire, consacré au rôle, à la méthode et au format attendu. Si vous migrez depuis Magistral, retirez le gabarit de réflexion de vos messages système et prompt_mode de vos appels, puis comparez les résultats (leçon 8).

Séparer ce qui relève de la réflexion et de la réponse

Le modèle dispose désormais de deux espaces distincts : la réflexion, que l’utilisateur ne voit souvent pas, et la réponse finale. Un bon prompt en tient compte. Il décrit la méthode attendue, ce qu’un expert du domaine vérifierait, et il fixe le format de la réponse : la réponse doit être compréhensible sans la réflexion, puisque celle-ci sera généralement masquée.

import os
from mistralai.client import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

system_prompt = """Tu es un expert senior en debugging Python.

MÉTHODE
- Lis tout le code avant de formuler un diagnostic.
- Formule au moins deux hypothèses avant de conclure.
- Vérifie que ta correction ne crée pas de nouveau problème.

RÉPONSE FINALE
1. Le diagnostic précis
2. La cause racine
3. Le code corrigé
4. Un test qui prouve la correction"""

response = client.chat.complete(
    model="mistral-small-2603",
    messages=[
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": "Mon code plante avec RecursionError : def fibonacci(n): return fibonacci(n-1) + fibonacci(n-2)"},
    ],
    reasoning_effort="high",
)

Sur cette fonction fibonacci sans cas de base, l’exigence de deux hypothèses écarte le diagnostic réflexe « augmentez la limite de récursion » et conduit à la cause réelle.

Décliner par domaine

Le même squelette, méthode puis format de réponse, se décline selon le métier. En mathématiques, la méthode porte sur les hypothèses et le type de démonstration :

math_prompt = """Tu es un mathématicien rigoureux.

MÉTHODE
- Énonce les hypothèses avant chaque démonstration.
- Choisis explicitement entre récurrence, absurde ou calcul direct.
- Vérifie le résultat sur un cas particulier.

RÉPONSE FINALE
Démonstration formelle : hypothèses, étapes justifiées, conclusion."""

En analyse stratégique, elle porte sur les parties prenantes et la quantification, et la réponse attendue devient une recommandation assortie d’un plan :

strategy_prompt = """Tu es consultant en stratégie.

MÉTHODE
- Évalue chaque option selon la faisabilité, l'impact et le risque.
- Chiffre quand c'est possible, même en ordre de grandeur.
- Cherche l'objection la plus forte à ta propre recommandation.

RÉPONSE FINALE
Une recommandation claire, les pour et les contre de chaque option, un plan d'action en étapes datées."""

Trois erreurs fréquentes

Le prompt trop vague. « Tu es un assistant utile » ne dit rien de la méthode : le modèle raisonne selon ses habitudes plutôt que selon les vôtres. Décrivez ce qu’un expert vérifierait.

Le prompt contradictoire. « Sois très concis. Détaille chaque étape en profondeur. » place le modèle devant une injonction impossible. La contradiction se lève en répartissant les rôles : le détail relève de la réflexion, la concision de la réponse finale.

good_prompt = """Sois concis dans ta réponse finale : conclusions et chiffres essentiels.
Explore les détails dans ta réflexion, pas dans la réponse."""

La démarche réclamée dans la réponse. Demander « raisonne étape par étape » dans la réponse visible fait écrire au modèle une seconde fois ce qu’il a déjà fait dans sa réflexion : la réponse s’allonge, et vous payez deux fois les mêmes étapes en tokens de sortie. Ne demandez les étapes dans la réponse que si l’utilisateur doit les lire, par exemple dans un tuteur pédagogique.

Points clés à retenir

  • Le prompt système par défaut et prompt_mode étaient propres à Magistral : ils ne sont plus nécessaires
  • Activez la réflexion avec reasoning_effort, et gardez au prompt système son rôle classique
  • Décrivez la méthode attendue et le format d’une réponse lisible sans la réflexion
  • Répartissez les rôles : le détail dans la réflexion, la concision dans la réponse
  • Ne faites pas réécrire la démarche dans la réponse si personne ne doit la lire