Self-Ask prompting : décomposer un prompt en sous-questions pour fiabiliser les réponses compositionnelles

Quand vous demandez à une IA générative « Qui a vécu plus longtemps : Mahatma Gandhi ou Albert Einstein ? », le modèle connaît les dates de naissance et de décès des deux personnes, mais il échoue souvent à les combiner correctement pour répondre. Ce phénomène, appelé gap de compositionnalité, a été documenté en 2022 par Ofir Press et son équipe, qui proposent dans le même papier une technique simple et redoutablement efficace : Self-Ask prompting. L’idée tient en une ligne : forcer le modèle à expliciter les sous-questions intermédiaires avant de répondre à la question principale. Ce guide explique le mécanisme, le scaffolding parsable qui le distingue d’un CoT classique, et arbitre quand activer Self-Ask en 2026.

Cet article est l’approfondissement Self-Ask du mini-cocon des techniques avancées de raisonnement. Pour la vue d’ensemble comparée des 3 architectures multi-chain, voir notre hub des techniques avancées de raisonnement IA. Pour la base CoT sur laquelle Self-Ask s’appuie, voir notre guide Chain-of-Thought (CoT).

En bref

  • Self-Ask force le modèle à expliciter les sous-questions intermédiaires avant de répondre à la question principale.
  • Origine scientifique : Press et al. 2022 « Measuring and Narrowing the Compositionality Gap in Language Models ».
  • Le gap de compositionnalité : les LLM connaissent les faits A et B séparément, mais échouent à les combiner pour répondre à « A et B impliquent quoi ? ».
  • Le scaffolding parsable (« Sous-question : », « Réponse intermédiaire : », « Réponse finale : ») rend les sorties exploitables programmatiquement.
  • Particulièrement efficace sur 3 familles de problèmes : comparaisons multi-entités, raisonnement temporel, inférences compositionnelles.
  • Pour structurer la maîtrise de ces techniques dans vos équipes, découvrez notre parcours de décomposition de prompt en entreprise.

Le problème : le gap de compositionnalité

Imaginez une question simple : « Qui a vécu plus longtemps : Mahatma Gandhi ou Albert Einstein ? ». Pour y répondre, il faut :

  1. Connaître les dates de Gandhi (1869-1948, soit 78 ans)
  2. Connaître les dates d’Einstein (1879-1955, soit 76 ans)
  3. Faire la comparaison (78 > 76, donc Gandhi)

Un grand modèle de langage connaît parfaitement les faits 1 et 2 isolément. Sur un benchmark factuel sec, il répond sans hésitation à « Quand est né Mahatma Gandhi ? » et « Quand est décédé Albert Einstein ? ». Mais quand vous lui posez directement la question composite, le taux d’erreur monte significativement. C’est le gap de compositionnalité : un écart entre la connaissance des faits constitutifs et la capacité à les combiner correctement.

Press et al. ont théorisé et mesuré ce phénomène en 2022. Leur observation centrale : plus la question demande de combiner des faits éloignés dans l’espace sémantique du modèle, plus le gap se creuse. Sur les questions « 2-hop » (deux faits à combiner), le gap est déjà mesurable. Sur les questions « 3-hop » ou plus, il devient massif.

Pourquoi le CoT classique ne suffit pas toujours

On pourrait penser que le Chain-of-Thought résout le problème : si on demande au modèle de raisonner étape par étape, il devrait naturellement décomposer la question composite. En pratique, ça marche sur certains cas et échoue sur d’autres. Trois raisons :

  • Manque de structuration : la chaîne CoT mélange souvent les recherches de faits et le raisonnement final dans une même séquence, ce qui rend les erreurs intermédiaires invisibles.
  • Absence de scaffold explicite : sans format imposé, le modèle peut sauter une étape de récupération de fait ou la traiter partiellement.
  • Difficulté à parser la sortie : pour les usages automatisés, une chaîne CoT libre est difficile à exploiter par script ; on récupère du texte mêlé où il faut extraire la réponse a posteriori.

Self-Ask adresse les trois.

Le mécanisme Self-Ask en détail

Self-Ask consiste à demander explicitement au modèle, dans le prompt, de poser et de répondre à des sous-questions intermédiaires avant de produire la réponse finale. Le format est rigide et reconnaissable.

Exemple complet

Prompt : Question : Qui a vécu plus longtemps : Mahatma Gandhi ou Albert Einstein ?

Avant de répondre directement, posez les sous-questions nécessaires et répondez-y une par une, puis donnez la réponse finale.

Réponse Self-Ask : Sous-question 1 : Quelle est la durée de vie d’Albert Einstein ? Réponse intermédiaire : Albert Einstein est né le 14 mars 1879 et est décédé le 18 avril 1955. Il a vécu 76 ans.

Sous-question 2 : Quelle est la durée de vie de Mahatma Gandhi ? Réponse intermédiaire : Mahatma Gandhi est né le 2 octobre 1869 et est décédé le 30 janvier 1948. Il a vécu 78 ans.

Sous-question 3 : Lequel a vécu plus longtemps ? Réponse intermédiaire : 78 > 76, donc Gandhi a vécu plus longtemps.

Réponse finale : Mahatma Gandhi a vécu plus longtemps qu’Albert Einstein (78 ans contre 76 ans).

Le scaffolding (« Sous-question : » / « Réponse intermédiaire : » / « Réponse finale : ») force le modèle à activer séparément chaque fait, ce qui réduit le gap de compositionnalité. C’est aussi ce qui distingue Self-Ask d’un CoT classique : la structure est parsable par un script qui peut extraire la réponse finale, les sous-questions, et les réponses intermédiaires.

Self-Ask : un scaffolding parsable La structure imposée fait toute la différence avec un CoT libre Question composite Sous-question 1 → Réponse intermédiaire 1 Sous-question 2 → Réponse intermédiaire 2 Sous-question 3 → Réponse intermédiaire 3 Réponse finale Avantages du scaffolding ✓ Faits activés séparément (réduit le gap de compositionnalité) ✓ Sortie parsable (extraction par script possible) ✓ Auditabilité du raisonnement (chaque étape vérifiable) ✓ Détection d’incomplétude (si fait manquant, on le voit) ✓ Couplage avec recherche externe (chaque sous-question peut être documentée)

Trois familles de problèmes où Self-Ask brille

Famille 1 : comparaisons multi-entités

Toutes les questions qui demandent de comparer deux entités sur une dimension calculée à partir de faits séparés.

Exemples typiques :

  • « Quelle entreprise a fait plus de bénéfices en 2025 : Microsoft ou Apple ? »
  • « Quel pays a la plus longue côte : la Norvège ou le Canada ? »
  • « Qui était plus âgé au moment de sa mort : Steve Jobs ou Albert Einstein ? »

Sur ce type de questions, le CoT classique se trompe régulièrement parce qu’il essaie de calculer mentalement la comparaison en mélangeant les deux recherches. Self-Ask sépare proprement la recherche du fait 1, la recherche du fait 2, puis la comparaison.

Famille 2 : raisonnement temporel multi-événements

Toutes les questions qui demandent de croiser plusieurs événements dans le temps.

Exemples typiques :

  • « Combien d’années se sont écoulées entre la sortie du premier iPhone et la mort de Steve Jobs ? »
  • « L’invention de l’imprimerie est-elle antérieure à la découverte de l’Amérique ? »
  • « Combien de présidents français ont gouverné depuis la naissance de Macron ? »

Self-Ask permet de poser explicitement chaque date avant le calcul, ce qui réduit drastiquement les erreurs de chronologie qui se glissent dans les chaînes CoT classiques.

Famille 3 : inférences compositionnelles à 3 sauts ou plus

Toutes les questions qui demandent d’enchaîner trois récupérations de faits ou plus.

Exemple type : « Qui a réalisé le film dans lequel l’actrice qui a gagné l’Oscar de la meilleure actrice en 2018 a joué le rôle principal ? »

Décomposition Self-Ask :

  • SQ1 : Qui a gagné l’Oscar de la meilleure actrice en 2018 ? → Frances McDormand
  • SQ2 : Pour quel film a-t-elle gagné cet Oscar ? → Three Billboards: Les Panneaux de la vengeance
  • SQ3 : Qui a réalisé ce film ? → Martin McDonagh
  • Réponse finale : Martin McDonagh

Sur ce type de questions, le taux d’erreur du CoT classique grimpe au-dessus de 30 %. Self-Ask le ramène à des niveaux exploitables en production.

Le gap de compositionnalité Pourquoi un LLM connaît les faits séparés mais échoue à les combiner Faits séparés : ça marche « Quand est né Gandhi ? » → 1869 ✓ « Quand est mort Gandhi ? » → 1948 ✓ « Quand est né Einstein ? » → 1879 ✓ « Quand est mort Einstein ? » → 1955 ✓ 4 faits / 4 corrects Question composite : ça plante « Qui a vécu plus longtemps : Gandhi ou Einstein ? » Réponse CoT directe : Einstein ✗ Avec Self-Ask : SQ1 → 78 ans (Gandhi) SQ2 → 76 ans (Einstein) Réponse : Gandhi ✓ Le gap se creuse avec le nombre de sauts (2-hop, 3-hop, n-hop)

Cas d’usage métier concrets

Cas 1 : analyse comparative de fournisseurs

Pour produire un comparatif de trois fournisseurs sur cinq critères (prix, qualité, délais, conformité, support), Self-Ask structure la sortie en sous-questions : « Quel est le prix de chaque fournisseur ? Quelle est la qualité documentée sur les références ? Quels sont les délais annoncés ? Quelle est la conformité à nos exigences ? Quel est le niveau de support ? » Puis synthèse. Cette technique produit des comparatifs auditables exploitables en comité de sélection, avec une traçabilité de chaque sous-réponse.

Cas 2 : analyse de causalité multi-facteurs

Pour analyser les causes possibles d’une dégradation de KPI métier (chute de conversion, augmentation du churn, baisse de marge), Self-Ask permet d’investiguer méthodiquement chaque facteur (effet calendaire, effet concurrentiel, effet produit, effet acquisition) avant de conclure. La structure parsable rend les sous-conclusions exploitables pour un comité de pilotage.

Cas 3 : conformité réglementaire compositionnelle

Pour vérifier la conformité d’un traitement de données à plusieurs textes (RGPD, AI Act, sectoriel propre à votre domaine), Self-Ask permet de poser une sous-question par texte applicable, puis de croiser les conclusions. Cette approche évite l’omission systématique d’une dimension réglementaire que le CoT classique survole.

Cas 4 : diagnostic différentiel structuré

Pour un diagnostic différentiel médical ou technique, Self-Ask structure l’investigation : « Quels sont les symptômes observés ? Quelles hypothèses sont compatibles ? Quels examens départageraient ces hypothèses ? Quelle est l’hypothèse la plus probable ? » Cette structure rejoint les méthodologies d’évaluation pédagogique structurée. Voir notre guide d’évaluation des apprenants avec l’IA.

Couplage avec recherche externe (RAG)

Un atout majeur de Self-Ask : chaque sous-question peut être traitée par une recherche externe plutôt que de s’appuyer uniquement sur la connaissance interne du modèle. Press et al. proposent dans leur papier original une variante nommée Self-Ask with Search, où chaque sous-question déclenche un appel à un moteur de recherche dont le résultat est injecté comme réponse intermédiaire.

Cette architecture est aujourd’hui à la base de nombreux systèmes RAG (Retrieval-Augmented Generation) en production. La structure parsable de Self-Ask permet d’orchestrer proprement l’alternance entre génération et recherche. Voir notre guide sur la recherche augmentée RAG pour le détail sur l’intégration de Self-Ask dans une architecture RAG.

Combiner Self-Ask avec les autres techniques multi-chain

Self-Ask + CoT : sur chaque sous-question, vous pouvez appliquer un raisonnement CoT interne. C’est la combinaison de base, déjà implicite dans la formulation initiale de Press et al.

Self-Ask + Self-Consistency : pour fiabiliser une décomposition critique, appliquer Self-Consistency à chaque sous-question décomposée donne des sorties très fiables. Le coût d’inférence multiplie par le nombre d’échantillons × le nombre de sous-questions, mais sur les usages critiques le retour sur investissement reste positif. Voir notre guide Self-Consistency en profondeur.

Self-Ask + Tree-of-Thoughts : sur les problèmes où la décomposition elle-même n’est pas évidente, on peut utiliser ToT pour générer plusieurs décompositions candidates, évaluer leur pertinence, puis appliquer Self-Ask sur la décomposition retenue. Voir notre guide Tree-of-Thoughts en profondeur.

Les limites de Self-Ask

Limite 1 : surcoût inutile sur les questions monolithiques. Sur les questions qui ne demandent pas de combinaison de faits (« Quelle est la définition du RGPD ? »), Self-Ask alourdit le prompt sans bénéfice. Réservez la technique aux questions compositionnelles réelles.

Limite 2 : sensibilité à la qualité de la décomposition. Si le modèle décompose mal le problème (sous-questions mal formulées, ordre incorrect, oublis), la sortie finale en hérite. Sur les problèmes mal posés, Self-Ask amplifie l’erreur de cadrage.

Limite 3 : dépendance à la connaissance interne du modèle. Self-Ask ne crée pas de connaissance. Si le modèle ne sait pas la réponse à une sous-question, Self-Ask la formule mais produit une réponse hallucinée. Le couplage avec une recherche externe (RAG) ou un agent IA avec outils est ce qui rend la technique vraiment solide sur les usages factuels.

Limite 4 : verbosité de la sortie. Self-Ask produit une sortie 3 à 8 fois plus longue qu’une réponse directe (sous-questions + réponses intermédiaires + réponse finale). Sur les usages où la concision compte, prévoyez un post-traitement qui extrait uniquement la réponse finale.

Ce que cela change pour vos équipes

Pour les ingénieurs prompt et les analystes en entreprise, maîtriser Self-Ask transforme la capacité à traiter les questions complexes auditables. Sans Self-Ask, les analyses multi-facteurs reposent sur la qualité aléatoire d’une chaîne CoT unique. Avec Self-Ask, chaque étape de raisonnement est posée explicitement, vérifiée séparément, et la sortie est exploitable directement en comité de pilotage ou dans un rapport structuré.

Chez Proactive Academy, nos parcours de prompt engineering avancé intègrent Self-Ask dans la pratique guidée sur des cas métier réels. La technique elle-même se comprend en 30 minutes ; la maîtrise du choix de décomposition et du couplage avec recherche externe demande deux à trois jours de pratique encadrée. Pour structurer cette montée en compétence dans vos équipes, découvrez notre parcours de décomposition de prompt en entreprise.

FAQ : Self-Ask prompting

Quand Self-Ask est-il vraiment plus efficace qu’un CoT classique ?

Sur 3 familles de questions : comparaisons multi-entités, raisonnement temporel multi-événements, inférences à 3 sauts ou plus. Sur les questions monolithiques ou linéaires, le CoT classique suffit et Self-Ask alourdit inutilement le prompt.

Quelle est la formulation type pour activer Self-Ask ?

Une formulation simple suffit : « Avant de répondre directement, posez les sous-questions nécessaires et répondez-y une par une, puis donnez la réponse finale. Utilisez le format : Sous-question : / Réponse intermédiaire : / Réponse finale : ». Vous pouvez aussi fournir un exemple démonstratif (one-shot Self-Ask) pour fixer le format précis attendu.

Self-Ask fonctionne-t-il sur tous les modèles en 2026 ?

Sur les grands modèles modernes (GPT-4 et au-delà, Claude 3 et au-delà, Gemini 1.5 et au-delà, Mistral Large, Llama 3 70B), oui. Sur les petits modèles open source en local, la décomposition peut être maladroite. Sur les modèles raisonnants natifs (o1, o3, Claude extended thinking, DeepSeek R1), la décomposition se fait en partie automatiquement en interne mais expliciter la structure reste utile pour la parsabilité.

Faut-il toujours combiner Self-Ask avec une recherche externe ?

Non. Self-Ask peut s’appliquer en pure connaissance interne du modèle quand la question porte sur des faits qu’il connaît bien. Pour les questions factuelles à jour ou sur des données propriétaires, le couplage avec recherche externe (RAG, agent IA) devient indispensable.

Quelle différence pratique entre Self-Ask et un agent IA avec outils ?

Self-Ask est une technique de prompt : c’est le modèle qui décompose et résout les sous-questions dans une seule réponse. Un agent IA avec outils va plus loin : il peut appeler une recherche web, une base de données, un calcul externe entre chaque sous-question. En 2026, beaucoup d’agents IA en production utilisent une variante de Self-Ask comme moteur de décomposition, avec appels d’outils intercalés.

Comment extraire automatiquement la réponse finale depuis une sortie Self-Ask ?

Trois techniques : (1) regex sur le pattern « Réponse finale : … », (2) parser structuré qui détecte les balises « Sous-question : » / « Réponse intermédiaire : » / « Réponse finale : », (3) LLM-as-extractor en post-traitement. Les frameworks LangChain et LlamaIndex proposent des extractors prêts à l’emploi pour Self-Ask.

Self-Ask peut-il échouer sur la décomposition elle-même ?

Oui. Sur les problèmes mal posés ou ambigus, le modèle peut produire des sous-questions non pertinentes ou oublier une dimension importante. Deux parades : (1) fournir un exemple démonstratif qui montre la bonne forme de décomposition pour votre domaine, (2) combiner avec Self-Consistency pour échantillonner plusieurs décompositions et retenir la plus cohérente.

Self-Ask est-il rentable sur les usages courants en entreprise ?

Pas sur toutes les tâches, mais sur les usages d’analyse comparative, d’audit, de diagnostic et de conformité, oui. La structure parsable et l’auditabilité du raisonnement justifient le surcoût en tokens. Sur les tâches courantes (résumé, traduction, rédaction), restez sur du zero-shot ou few-shot. Voir notre hub zero-shot/one-shot/few-shot.

Self-Ask reste l’une des techniques les plus rentables du prompt engineering pour les questions compositionnelles. Sa structure parsable la rend précieuse pour les usages industriels où la sortie doit être exploitée par un script ou auditée par un humain. Pour la vue comparative avec les autres techniques multi-chain (Self-Consistency, Tree-of-Thoughts), voir notre hub des techniques avancées de raisonnement IA. Pour structurer la maîtrise du Self-Ask dans vos équipes, découvrez notre parcours de décomposition de prompt en entreprise.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *