
TP : Construire le prompt système d'un agent de support
Sommaire
Objectif du TP#
Concevoir le prompt système d’un agent chargé de répondre aux demandes de support d’une boutique en ligne fictive, en appliquant les quatre piliers vus dans le cours : contexte plutôt qu’instructions, outils structurés, format de sortie contraint, gestion du contexte.
L’agent dispose de deux outils fictifs : consulter_commande(numero_commande) et initier_remboursement(numero_commande, montant).
Étape 1 : Rédiger le contexte de base#
Rédigez un premier prompt système décrivant la situation de l’agent (rôle, objectif, ton attendu) sans encore mentionner les outils. Évitez toute instruction pas à pas de type “premièrement, ensuite, enfin”.
Astuce
Un bon test de contexte : si vous supprimez toutes les instructions numérotées et ne gardez que la description de la situation, un humain qui découvre ce texte doit comprendre ce qu’on attend de lui.
Étape 2 : Définir les schémas d’outils#
Rédigez les schémas JSON des deux outils consulter_commande et initier_remboursement, en précisant pour chacun un nom explicite, une description en une phrase, et la liste des paramètres avec leur type.
{
"name": "consulter_commande",
"description": "Récupère le détail d'une commande à partir de son numéro",
"parameters": {
"type": "object",
"properties": {
"numero_commande": { "type": "string" }
},
"required": ["numero_commande"]
}
}Étape 3 : Poser des critères d’arrêt explicites#
Ajoutez au prompt système une règle de comportement pour trois situations : une commande introuvable, une demande de remboursement supérieure à un certain montant, et une demande qui ne correspond à aucun des deux outils disponibles.
Étape 4 : Contraindre le format de sortie#
Ajoutez une contrainte de format pour que chaque réponse finale de l’agent (une fois les outils appelés si nécessaire) soit produite sous la forme d’un objet JSON avec les champs statut, message et necessite_intervention_humaine.
Étape 5 : Tester sur des cas limites#
Vérifiez le comportement de votre prompt sur ces trois scénarios, sans exécuter réellement les outils (simulez mentalement ou avec un modèle la réponse de l’agent) :
- Une demande de remboursement pour une commande qui n’existe pas.
- Une demande de remboursement d’un montant très supérieur au montant de la commande d’origine.
- Une question sans rapport avec une commande (par exemple une question sur les horaires du magasin).
Attention
Si l’agent tente d’appeler un outil dans le scénario 3 alors qu’aucun outil ne correspond à la demande, c’est le signe que le contexte du prompt système reste insuffisamment précis sur le périmètre d’action de l’agent.
Grille d’auto-évaluation#
Avant de comparer votre prompt final à votre première version, vérifiez-le point par point sur les critères suivants.
| Critère | Vérifié |
|---|---|
| Le contexte décrit une situation (rôle, objectif, ton) sans instruction numérotée pas à pas | |
| Chaque outil a un nom explicite, une description en une phrase et des paramètres typés | |
| Une règle de comportement existe pour une commande introuvable | |
| Une règle de comportement existe pour un remboursement d’un montant anormalement élevé | |
| Une règle de comportement existe pour une demande hors périmètre des deux outils | |
Le format de sortie final est contraint (JSON avec les champs statut, message, necessite_intervention_humaine) | |
| Le prompt a été vérifié sur les trois scénarios de l’étape 5, y compris le cas hors périmètre |
Astuce
Si une case reste difficile à cocher avec certitude, c’est le signe d’un pilier du cours resté insuffisamment appliqué : reprenez la section correspondante plutôt que de forcer une réponse positive.
Pour poursuivre#
Comparez votre prompt final à votre première version de l’étape 1 : identifiez ce qui a changé de nature (contexte, outils, contraintes de sortie) plutôt que ce qui a changé en volume de texte. Le quiz associé au cours permet de vérifier que les notions mobilisées dans ce TP sont bien acquises.