Aller au contenu principal

Chainer les prompts

Pourquoi chainer ?

Certaines taches sont trop complexes pour un seul prompt. Le chainage consiste a decomposer une tache en plusieurs etapes, ou la sortie d’un prompt devient l’entree du suivant.

Avantages

  • Meilleure precision : chaque prompt se concentre sur une seule sous-tache
  • Debuggage facilite : on peut identifier exactement ou le processus echoue
  • Flexibilite : on peut modifier une etape sans toucher aux autres
  • Controle : on peut injecter de la logique metier entre les etapes

Schema classique

Prompt 1 : Extraire les informations cles d'un document
    ↓ sortie
Prompt 2 : Analyser les informations extraites
    ↓ sortie
Prompt 3 : Generer un rapport structure

Implementation

# Etape 1 : Extraction
response1 = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=2000,
    messages=[
        {"role": "user", "content": f"Extrais les faits cles de ce texte : <texte>{document}</texte>"}
    ]
)
faits = response1.content[0].text

# Etape 2 : Analyse
response2 = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=2000,
    messages=[
        {"role": "user", "content": f"Analyse ces faits et identifie les tendances : <faits>{faits}</faits>"}
    ]
)
analyse = response2.content[0].text

# Etape 3 : Rapport
response3 = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=2000,
    messages=[
        {"role": "user", "content": f"Redige un rapport executif base sur cette analyse : <analyse>{analyse}</analyse>"}
    ]
)

Bonnes pratiques

  • Utilisez des balises XML pour structurer les entrees/sorties a chaque etape
  • Validez la sortie intermediaire avant de passer a l’etape suivante
  • Envisagez d’utiliser des modeles differents pour differentes etapes (Haiku pour l’extraction, Sonnet pour l’analyse)
  • Gardez un historique des sorties intermediaires pour le debuggage

Cas d’usage courants

  • Analyse de documents longs (extraction puis synthese)
  • Generation de contenu en plusieurs passes (brouillon, revision, formatage)
  • Traitement de donnees (nettoyage, transformation, analyse)
  • Workflows de decision (classification, routage, action)