0Pricing
AI Agents · Leçon

Stratégie de décomposition en sous-questions

Pour les questions complexes à plusieurs étapes, divisez-les en sous-questions, répondez à chacune, puis composez la réponse finale.

Stratégie de décomposition en sous-questions est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.

Quand une requête à un seul saut échoue

Certaines questions nécessitent plusieurs recherches :

« Comparez le chiffre d’affaires d’Apple en 2022 et celui de Microsoft en 2023. »

Une seule recherche par similarité ne récupérera pas les deux faits ; vous avez besoin de DEUX sous-requêtes.

Décomposer une question en sous-questions

LlamaIndex SubQuestionQueryEngine divise une question en sous-questions, répond à chacune, puis synthétise les réponses :

from llama_index.core.query_engine import SubQuestionQueryEngine
from llama_index.core.tools import QueryEngineTool, ToolMetadata

query_engine_tools = [
    QueryEngineTool(
        query_engine=apple_index.as_query_engine(),
        metadata=ToolMetadata(name='apple', description='Financial data for Apple Inc.')
    ),
    QueryEngineTool(
        query_engine=msft_index.as_query_engine(),
        metadata=ToolMetadata(name='microsoft', description='Financial data for Microsoft Corp.')
    )
]

engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
response = engine.query('Compare 2022 revenue of Apple vs 2023 revenue of Microsoft')

Fonctionnement

  1. Le LLM analyse la question
  2. Le LLM génère des sous-questions et attribue chacune à un outil
  3. Chaque sous-question est traitée en parallèle
  4. Le LLM synthétise une réponse finale à partir des réponses aux sous-questions

Afficher les sous-questions

Vous pouvez voir les sous-questions générées par le moteur :

response = engine.query('Compare X and Y')
for sq in response.metadata.get('sub_qa', []):
    print(sq.sub_q.sub_question, '->', sq.answer)

Quand utiliser les sous-questions

  • Requêtes de comparaison (X par rapport à Y)
  • Agrégation de plusieurs sources
  • Questions comportant plusieurs faits distincts

Quand NE PAS les utiliser

  • Questions-réponses simples — ajoute de la latence et des coûts
  • Contexte limité à un seul document
  • Tâches qui ne bénéficient pas d’une décomposition

Routage avec un LLM

SubQuestionQueryEngine s’associe à RouterQueryEngine pour décider d’abord quelles collections d’index interroger :

from llama_index.core.query_engine import RouterQueryEngine

router = RouterQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
# Routes 'apple revenue' to apple index, 'msft margins' to msft, etc.

Sous-questions pour les agents de programmation

Pour les agents qui écrivent du code, une sous-question permet de planifier les étapes :

« Créer une API REST » → sous-tâche : concevoir les modèles, sous-tâche : écrire les gestionnaires CRUD, sous-tâche : ajouter l’authentification.

Conséquences sur les coûts

Les sous-questions produisent N sous-requêtes au lieu d’une seule. Chacune implique un appel au LLM et une récupération. Prévoyez votre budget : le coût est 3 à 4 fois supérieur à celui d’une requête à un seul saut.

Comparaison avec ReAct

Les sous-questions correspondent à une planification préalable. ReAct (dans le prochain cours) procède étape par étape. Pour les requêtes dont la décomposition est connue, les sous-questions sont plus rapides ; pour les tâches exploratoires, ReAct s’adapte mieux.

Combinaison : ReAct + outils de sous-questions

La solution la plus flexible consiste à utiliser un agent ReAct dont les moteurs de sous-questions sont des outils — chaque « appel d’outil » peut lui-même être décomposé en plusieurs sous-requêtes.

Évaluer la qualité des sous-questions

Vérifiez si le LLM génère des sous-questions pertinentes. Une mauvaise décomposition est difficile à déboguer sans inspecter les traces.

Cas d’utilisation de la décomposition

Pour quel type de question la décomposition en sous-questions est-elle la plus utile ?

Récapitulatif

La décomposition en sous-questions transforme une requête complexe en plusieurs requêtes simples — pour un coût plus élevé, mais une précision nettement supérieure dans les questions de comparaison et les questions faisant appel à plusieurs sources.

Questions Fréquemment Posées

La leçon « Stratégie de décomposition en sous-questions » est-elle gratuite ?

Oui — le texte complet de « Stratégie de décomposition en sous-questions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Stratégie de décomposition en sous-questions » ?

Pour les questions complexes à plusieurs étapes, divisez-les en sous-questions, répondez à chacune, puis composez la réponse finale. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Agents ?

Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Stratégie de décomposition en sous-questions » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?

Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Chargeurs et analyseurs de documents
  2. Hiérarchie des index : vectoriel, arborescent, par mots-clés
  3. Moteurs de requêtes et synthèse des réponses
  4. Stratégie de décomposition en sous-questions
← Retour à AI Agents