Aller au contenu principal

Analyse et Prise de Décision

Mis à jour le 29 juillet 2026

⚠️ Modèle déprécié (mise à jour du 28 juillet 2026) : les modèles Magistral sont dépréciés par Mistral, avec des retraits échelonnés jusqu’à mi-2026. Le raisonnement est désormais intégré aux modèles généralistes (Mistral Small 4, Medium 3.5). Les concepts de ce cours restent instructifs, mais ne construisez plus de nouveau projet sur Magistral — consultez le cours « Mistral en 2026 » pour la migration.

Le raisonnement au service de la décision

Un mot d’honnêteté avant les techniques : le modèle ne prendra pas la décision à votre place, et ce n’est pas le but. Ce que le raisonnement apporte à une décision, c’est ce qu’apporte un bon consultant — l’explicitation. Les critères qui restaient implicites, les scénarios qu’on n’avait pas déroulés, le risque dont personne ne parlait : tout cela posé noir sur blanc, la décision vous revient, mieux éclairée.

Les décisions complexes requièrent une analyse multi-critères, la prise en compte de perspectives différentes, et la capacité à évaluer des compromis. Ce sont des tâches où le raisonnement structuré apporte une valeur considérable par rapport à une réponse intuitive.

Analyse comparative structurée

Le raisonnement permet de construire des comparaisons méthodiques :

from mistralai import Mistral

client = Mistral(api_key="VOTRE_CLE_API")

comparaison = """Mon équipe doit choisir entre PostgreSQL et MongoDB pour une nouvelle application.

Contexte :
- Application SaaS B2B de gestion de projets
- 500 utilisateurs initiaux, objectif 10 000 en 2 ans
- Données structurées (utilisateurs, projets, tâches) + commentaires libres
- Équipe de 4 développeurs, tous expérimentés en SQL
- Budget serveur limité (startup)

Analysez les deux options et recommandez la meilleure."""

response = client.chat.complete(
    model="magistral-medium-latest",
    messages=[
        {"role": "system", "content": """Consultant technique senior.

MÉTHODE D'ANALYSE :
1. Identifiez les critères de décision pertinents
2. Évaluez chaque option sur chaque critère
3. Pondérez les critères selon le contexte
4. Identifiez les risques de chaque option
5. Formulez une recommandation argumentée

RÉFLEXION :
Explorez les compromis. Considérez les implications à court et long terme.

RÉPONSE :
Recommandation claire avec justification, plan de mitigation des risques."""},
        {"role": "user", "content": comparaison}
    ],
    prompt_mode=None
)

Analyse de scénarios

Le raisonnement est particulièrement efficace pour explorer les conséquences de différents choix :

scenario = """Notre startup (15 employés, 2M ARR) a reçu deux offres :
1. Levée de fonds Série A de 5M auprès d'un VC avec dilution de 25%
2. Offre de rachat de 12M par un grand groupe (earn-out sur 3 ans)

Analysez les deux scénarios et leurs implications."""

response = client.chat.complete(
    model="magistral-medium-latest",
    messages=[
        {"role": "system", "content": """Analyste stratégique.
Pour chaque scénario, évaluez :
- Impact financier à 1 an, 3 ans, 5 ans
- Impact sur l'autonomie de décision
- Risques et probabilité de réalisation
- Impact sur l'équipe et la culture"""},
        {"role": "user", "content": scenario}
    ],
    prompt_mode=None
)

Pattern : matrice de décision automatisée

Vous pouvez automatiser la construction de matrices de décision :

def decision_matrix(client, options, criteria, context):
    """Génère une matrice de décision structurée."""

    options_text = "\n".join(f"- {opt}" for opt in options)
    criteria_text = "\n".join(f"- {crit}" for crit in criteria)

    prompt = f"""Contexte : {context}

Options à évaluer :
{options_text}

Critères d'évaluation :
{criteria_text}

Pour chaque option, évaluez chaque critère sur une échelle de 1 à 5.
Justifiez chaque note.
Calculez le score total pondéré.
Recommandez l'option optimale."""

    response = client.chat.complete(
        model="magistral-medium-latest",
        messages=[
            {"role": "system", "content": "Expert en analyse décisionnelle. Soyez objectif et rigoureux dans vos évaluations."},
            {"role": "user", "content": prompt}
        ],
        prompt_mode=None
    )

    return response.choices[0].message.content

# Exemple : choix de framework
result = decision_matrix(
    client,
    options=["React + Next.js", "Vue + Nuxt", "Svelte + SvelteKit"],
    criteria=[
        "Courbe d'apprentissage",
        "Écosystème et communauté",
        "Performance",
        "Recrutement de développeurs",
        "Maintenabilité long terme"
    ],
    context="Refonte d'un site e-commerce B2C, équipe de 3 devs juniors"
)

Analyse de risques

Le raisonnement structuré est idéal pour l’identification et l’évaluation des risques :

analyse_risque = """Nous prévoyons de migrer notre base de données de production
(50 Go, 200 tables, 15 applications connectées) de MySQL 5.7 vers PostgreSQL 16.

Identifiez tous les risques de cette migration et proposez un plan de mitigation."""

response = client.chat.complete(
    model="magistral-medium-latest",
    messages=[
        {"role": "system", "content": """DBA senior et architecte système.

ANALYSE DE RISQUES :
Pour chaque risque identifié, spécifiez :
- Probabilité (faible/moyenne/haute)
- Impact (faible/moyen/critique)
- Plan de mitigation
- Plan de rollback"""},
        {"role": "user", "content": analyse_risque}
    ],
    prompt_mode=None
)

Évaluation de compromis (trade-offs)

Les décisions techniques impliquent souvent des compromis. Le raisonnement aide à les expliciter :

tradeoff = """Architecture microservices vs monolithique pour notre application :

Notre situation :
- Équipe de 6 développeurs
- Application de gestion RH
- 3 modules : recrutement, paie, congés
- Déploiement sur Kubernetes
- Besoin de mise à jour indépendante des modules

Analysez les trade-offs de chaque approche."""

response = client.chat.complete(
    model="magistral-medium-latest",
    messages=[{"role": "user", "content": tradeoff}]
)

Pattern : avocat du diable

C’est le pattern le plus précieux de cette leçon, parce qu’il corrige un biais que tout le monde a : une fois une décision prise, on ne cherche plus que des confirmations. Demander explicitement au modèle d’attaquer la décision — trouver les faiblesses, les scénarios d’échec, les hypothèses fragiles — force à entendre ce qu’aucun collaborateur n’ose dire et qu’on ne se dit plus à soi-même :

def challenge_decision(client, decision, context):
    """Joue l'avocat du diable sur une décision."""

    prompt = f"""Une équipe a pris la décision suivante :
DÉCISION : {decision}

CONTEXTE : {context}

Jouez l'avocat du diable :
1. Identifiez les 5 principaux arguments CONTRE cette décision
2. Pour chaque argument, évaluez sa gravité (1-5)
3. Proposez des conditions sous lesquelles cette décision serait catastrophique
4. Suggérez les mesures de sauvegarde nécessaires
5. Concluez : la décision est-elle solide malgré les contre-arguments ?"""

    return client.chat.complete(
        model="magistral-medium-latest",
        messages=[
            {"role": "system", "content": "Analyste critique. Soyez incisif mais constructif."},
            {"role": "user", "content": prompt}
        ],
        prompt_mode=None
    )

Quand utiliser Small vs Magistral pour l’analyse

Le bon réflexe est d’aligner le modèle sur la criticité et la réversibilité de la décision. Une comparaison simple entre deux options aux critères clairs, une évaluation rapide, une décision que vous pourrez corriger la semaine suivante : Small avec le raisonnement ajustable fait très bien l’affaire, à moindre coût. En revanche, dès que l’analyse devient multi-critères avec des pondérations discutables, que la décision est stratégique et difficilement réversible — un choix d’architecture, une migration de production, un arbitrage financier — ou que le scénario comporte une vraie part d’incertitude, le raisonnement profond de Magistral justifie son coût : c’est précisément dans l’exploration des compromis et des cas défavorables qu’il fait la différence.

Points clés à retenir

  • Le raisonnement transforme l’analyse décisionnelle en un processus structuré et reproductible
  • Utilisez un system prompt qui impose une méthode d’analyse (critères, pondération, risques)
  • Les matrices de décision et l’analyse de scénarios bénéficient énormément du raisonnement
  • Le pattern avocat du diable exploite le raisonnement pour challenger vos décisions
  • Adaptez le modèle à la criticité de la décision : Small pour le quotidien, Magistral pour le stratégique