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)