0Pricing
AI Prompt Engineering · Leçon

Qu’est-ce que l’enchaînement d’invites ?

Découvrez le principe de l’exécution séquentielle des invites et de la transmission d’informations.

Qu’est-ce que l’enchaînement d’invites ? est une leçon AI Prompt Engineering gratuite sur CoddyKit. Ceci est la leçon 1 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 Prompt Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Prompt Engineering comprend 4 leçons au total.

Le plafond de l’invite unique

Une seule invite peut accomplir beaucoup de choses, mais elle a ses limites. Les tâches complexes qui nécessitent plusieurs sous-tâches spécialisées, un contexte très long ou un affinage itératif dépassent souvent ce qu’une seule invite peut faire de manière fiable.

Signes indiquant que vous avez atteint le plafond d’une invite unique :

  • Le modèle ignore des étapes dans une tâche en plusieurs étapes
  • La qualité diminue dans les dernières parties d’une tâche longue
  • La sortie est trop longue pour tenir dans une seule fenêtre de contexte
  • Les différentes parties de la tâche nécessitent des expertises ou des tons différents

Qu’est-ce que le chaînage d’invites ?

Le chaînage d’invites est une exécution séquentielle où la sortie de chaque invite devient l’entrée de l’invite suivante. Au lieu d’utiliser une seule grande invite qui tente de tout faire, vous divisez la tâche en étapes spécialisées.

Étape 1 → sortie → Étape 2 → sortie → Étape 3 → résultat final

Chaque étape peut être optimisée indépendamment, utiliser des modèles différents ou appliquer des contraintes différentes.

Un exemple simple de chaînage

Prenons l’exemple de la rédaction d’un article de blogue. Au lieu d’une seule invite, vous en enchaînez trois :

import anthropic

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

def call(prompt):
    r = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=1000,
        messages=[{'role': 'user', 'content': prompt}]
    )
    return r.content[0].text

# Step 1: Generate outline
outline = call('Create a 5-point outline for a blog post about prompt engineering for beginners.')

# Step 2: Expand outline into draft
draft = call(f'Write a full blog post based on this outline:\n\n{outline}')

# Step 3: Edit for clarity
final = call(f'Edit this blog post for clarity and conciseness. Remove jargon:\n\n{draft}')

print(final[:500])

Quand le chaînage est utile : complexité de la tâche

Le chaînage est particulièrement efficace lorsqu’une tâche est trop complexe pour qu’une seule invite la traite avec une qualité élevée. Diviser la complexité en étapes spécialisées permet à chaque étape d’exceller dans sa fonction précise.

Exemple : analyser les retours des clients à grande échelle

  • Étape 1 : Extraire tous les problèmes mentionnés (extraction)
  • Étape 2 : Catégoriser chaque problème (classification)
  • Étape 3 : Établir les priorités selon la fréquence et la gravité (classement)
  • Étape 4 : Rédiger une synthèse pour la direction (synthèse)

Chaque étape utilise une invite ciblée, optimisée pour sa sous-tâche.

Quand le chaînage est utile : la qualité par la spécialisation

Les invites spécialisées surpassent les invites généralistes pour leur sous-tâche spécifique. Une chaîne vous permet d’utiliser le style d’invite adapté à chaque étape :

# Each step uses a prompt optimized for its role

step1_prompt_template = '''
<task>Extract all named entities from the text below. Return JSON:
{"people": [], "companies": [], "locations": []}</task>
<text>{text}</text>
'''

step2_prompt_template = '''
<task>For each company in the list below, classify it as:
startup, enterprise, government, or nonprofit.
Return JSON: [{"company": str, "type": str}]</task>
<companies>{companies}</companies>
'''

# Each prompt is simpler, more focused, and easier to debug
# than a single prompt trying to do both tasks at once.
print('Specialized prompts per step.')

Quand le chaînage est utile : limites des fenêtres de contexte

Même avec de grandes fenêtres de contexte (plus de 100 000 jetons), le traitement de documents très longs en une seule fois dégrade la qualité en raison de l’effet perdu au milieu. Le chaînage apporte une solution :

  • Étape 1 : Traiter chaque fragment indépendamment → produire un résumé ou une extraction pour chaque fragment
  • Étape 2 : Combiner les sorties des fragments → réaliser une synthèse pour obtenir une réponse finale

Ce modèle de répartition-réduction est une stratégie fondamentale de chaînage pour les documents longs.

def map_reduce_summarize(document, chunk_size=3000):
    chunks = [document[i:i+chunk_size] for i in range(0, len(document), chunk_size)]

    # Map: summarize each chunk
    summaries = []
    for i, chunk in enumerate(chunks):
        summary = call(f'Summarize this section of a document in 3 bullet points:\n\n{chunk}')
        summaries.append(summary)

    # Reduce: synthesize all summaries
    combined = '\n\n'.join(f'Section {i+1}:\n{s}' for i, s in enumerate(summaries))
    final = call(f'Combine these section summaries into a single executive summary:\n\n{combined}')
    return final

Chaînes synchrones et parallèles

Les chaînes ne sont pas toujours linéaires. Certaines étapes peuvent s’exécuter en parallèle lorsqu’elles sont indépendantes :

import concurrent.futures

def parallel_step(topics):
    # Each topic can be researched in parallel — they do not depend on each other
    def research_topic(topic):
        return call(f'List 5 key facts about: {topic}')

    with concurrent.futures.ThreadPoolExecutor() as executor:
        results = list(executor.map(research_topic, topics))

    # Then synthesize in a sequential step
    combined = '\n\n'.join(f'{t}:\n{r}' for t, r in zip(topics, results))
    synthesis = call(f'Write a comparative analysis of these topics:\n\n{combined}')
    return synthesis

print('Parallel steps can reduce total latency.')

Chaînes et agents

Les chaînes d’invites et les agents d’IA sont liés, mais différents :

  • Chaînes : flux prédéfini et déterministe. La séquence des étapes est fixe. Plus faciles à tester, déboguer et prévoir.
  • Agents : flux dynamique. Le modèle décide de l’étape suivante en fonction de la sortie. Plus flexibles, mais plus difficiles à contrôler et à déboguer.

Pour la plupart des cas d’utilisation en production, commencez par des chaînes. Utilisez des agents uniquement lorsque la tâche est réellement ouverte et que la structure de la chaîne ne peut pas être déterminée à l’avance.

Considérations relatives aux coûts des chaînes

Chaque étape d’une chaîne est un appel d’API distinct, avec son propre coût. Concevez vos chaînes en tenant compte des coûts :

  • Utilisez des modèles moins coûteux ou plus petits pour les étapes simples (extraction, classification)
  • Réservez les modèles coûteux (GPT-4o, Claude Opus) aux étapes nécessitant un raisonnement approfondi
  • Mettez en cache les résultats intermédiaires afin d’éviter de réexécuter des étapes coûteuses pour des entrées identiques
  • Échouez rapidement — validez la sortie de chaque étape avant de la transmettre à la suivante
import anthropic
import functools

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

@functools.lru_cache(maxsize=128)
def cached_call(prompt, model='claude-haiku-4-5'):
    r = client.messages.create(
        model=model,
        max_tokens=500,
        messages=[{'role': 'user', 'content': prompt}]
    )
    return r.content[0].text

# Cheap model for extraction, expensive for synthesis
def smart_chain(text):
    entities = cached_call(f'Extract entities from: {text}', model='claude-haiku-4-5')
    synthesis = cached_call(f'Analyze these entities: {entities}', model='claude-opus-4-5')
    return synthesis

Documenter votre chaîne

Une chaîne bien documentée est facile à maintenir. Utilisez une structure simple pour décrire chaque étape :

chain_spec = {
    'name': 'Blog Post Generator',
    'steps': [
        {
            'id': 'step_1',
            'name': 'Outline Generation',
            'model': 'claude-haiku-4-5',
            'input': 'topic (string)',
            'output': 'outline (string, 5 bullet points)',
            'prompt_template': 'outline_prompt.txt'
        },
        {
            'id': 'step_2',
            'name': 'Draft Writing',
            'model': 'claude-opus-4-5',
            'input': 'outline from step_1',
            'output': 'draft (string, ~800 words)',
            'prompt_template': 'draft_prompt.txt'
        },
        {
            'id': 'step_3',
            'name': 'Editorial Polish',
            'model': 'claude-haiku-4-5',
            'input': 'draft from step_2',
            'output': 'final post (string)',
            'prompt_template': 'polish_prompt.txt'
        }
    ]
}

print('Chain documented with step specs.')

Chaîne concrète : analyse concurrentielle

Une chaîne pratique en trois étapes pour l’analyse concurrentielle :

def competitive_analysis_chain(competitor_list, product_description):
    # Step 1: Research each competitor (parallel)
    def research(competitor):
        return call(f'List key features, pricing model, and target market for: {competitor}')

    with concurrent.futures.ThreadPoolExecutor() as ex:
        research_results = dict(zip(competitor_list, ex.map(research, competitor_list)))

    # Step 2: Compare against our product
    comparison_input = '\n\n'.join(f'{k}:\n{v}' for k, v in research_results.items())
    comparison = call(f'Compare these competitors against our product:\nOur product: {product_description}\n\nCompetitors:\n{comparison_input}')

    # Step 3: Strategic recommendations
    recommendations = call(f'Based on this competitive analysis, provide 3 strategic recommendations:\n\n{comparison}')
    return recommendations

Vérification rapide

Quel scénario convient le mieux au chaînage d’invites plutôt qu’à une seule invite ?

Chaînage d’invites — Points clés

Le chaînage d’invites constitue le fondement des systèmes d’IA en production :

  • Exécution séquentielle où chaque sortie alimente l’invite suivante en tant qu’entrée
  • Permet la spécialisation — chaque étape utilise une invite optimisée pour sa sous-tâche précise
  • Résout les limites des fenêtres de contexte grâce aux modèles de répartition-réduction
  • Les étapes indépendantes peuvent s’exécuter en parallèle afin de réduire la latence
  • Plus prévisible et plus facile à déboguer que les systèmes entièrement agentiques
  • Optimisez les coûts en utilisant des modèles moins coûteux pour les étapes simples et des modèles coûteux pour les raisonnements complexes
  • Documentez toujours votre chaîne avec les identifiants des étapes, les spécifications des entrées et sorties et les affectations de modèles

Questions Fréquemment Posées

La leçon « Qu’est-ce que l’enchaînement d’invites ? » est-elle gratuite ?

Oui — le texte complet de « Qu’est-ce que l’enchaînement d’invites ? » 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 Prompt Engineering, passe à CoddyKit PRO. Le cours AI Prompt Engineering comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Qu’est-ce que l’enchaînement d’invites ? » ?

Découvrez le principe de l’exécution séquentielle des invites et de la transmission d’informations. Tu pratiques AI Prompt Engineering 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 Prompt Engineering ?

Aucune expérience préalable n'est requise. AI Prompt Engineering 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 1 sur 4.

Combien de temps prend la leçon « Qu’est-ce que l’enchaînement d’invites ? » ?

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 Prompt Engineering ?

Oui. Chaque leçon AI Prompt Engineering 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. Qu’est-ce que l’enchaînement d’invites ?
  2. Modèles sortie-entrée
  3. Chaînes de transformations séquentielles
  4. Gestion des erreurs dans les chaînes d’invites
← Retour à AI Prompt Engineering