Ingénierie des prompts
Visitez notre tutoriel d’ingénierie des prompts pour apprendre à créer des prompts via un cours interactif.
Claude offre des performances de base de haut niveau prêtes à l’emploi. Cependant, l’ingénierie des prompts peut vous aider à améliorer encore ses performances et à affiner ses réponses pour mieux répondre à votre cas d’utilisation spécifique. Ces techniques ne sont pas nécessaires pour obtenir de bons résultats avec Claude, mais vous pouvez les trouver utiles pour améliorer vos entrées et sorties.
Pour démarrer rapidement avec un prompt ou vous initier au concept de prompting, consultez intro au prompting.
Qu’est-ce que l’ingénierie des prompts ?
L’ingénierie des prompts est une science empirique qui implique d’itérer et de tester des prompts pour optimiser les performances. La majeure partie de l’effort consacré au cycle d’ingénierie des prompts ne réside pas réellement dans la rédaction des prompts. Au contraire, la majorité du temps d’ingénierie des prompts est consacrée au développement d’un solide ensemble d’évaluations, suivi de tests et d’itérations par rapport à ces évaluations.
Le cycle de vie du développement de prompts
Nous recommandons une approche de développement piloté par les tests, basée sur des principes, pour garantir des performances optimales des prompts. Passons en revue le processus de haut niveau clé que nous utilisons lors du développement de prompts pour une tâche, comme illustré dans le diagramme ci-joint.
- Définir la tâche et les critères de réussite : La première et la plus cruciale étape consiste à définir clairement la tâche spécifique que vous voulez que Claude effectue. Cela peut aller de l’extraction d’entités, de la réponse aux questions ou du résumé de texte à des tâches plus complexes comme la génération de code ou l’écriture créative. Une fois que vous avez une tâche bien définie, établissez les critères de réussite qui guideront votre processus d’évaluation et d’optimisation.
Les principaux critères de réussite à prendre en compte sont :- Performance et précision : À quel point le modèle doit-il bien performer sur la tâche ?
- Latence : Quel est le temps de réponse acceptable pour le modèle ? Cela dépendra des exigences en temps réel de votre application et des attentes des utilisateurs.
- Prix : Quel est votre budget pour exécuter le modèle ? Prenez en compte des facteurs tels que le coût par appel API, la taille du modèle et la fréquence d’utilisation.
Avoir des critères de réussite clairs et mesurables dès le départ vous aidera à prendre des décisions éclairées tout au long du processus d’adoption et à vous assurer que vous optimisez pour les bons objectifs.
- Développer des cas de test : Une fois votre tâche et vos critères de réussite définis, l’étape suivante consiste à créer un ensemble diversifié de cas de test qui couvrent les cas d’utilisation prévus pour votre application. Ceux-ci doivent inclure à la fois des exemples typiques et des cas limites pour garantir la robustesse de vos prompts. Avoir des cas de test bien définis à l’avance vous permettra de mesurer objectivement les performances de vos prompts par rapport à vos critères de réussite.
- Concevoir le prompt préliminaire : Ensuite, créez un prompt initial qui décrit la définition de la tâche, les caractéristiques d’une bonne réponse et tout contexte nécessaire pour Claude. Idéalement, vous devriez ajouter quelques exemples d’entrées et de sorties canoniques que Claude doit suivre. Ce prompt préliminaire servira de point de départ pour le raffinement.
- Tester le prompt par rapport aux cas de test : Fournissez vos cas de test à Claude en utilisant le prompt préliminaire. Évaluez attentivement les réponses du modèle par rapport à vos sorties attendues et à vos critères de réussite. Utilisez une grille de notation cohérente, qu’il s’agisse d’une évaluation humaine, d’une comparaison avec une clé de réponse, ou même d’une autre instance du jugement de Claude basée sur une grille. L’essentiel est d’avoir une méthode systématique pour évaluer les performances.
- Affiner le prompt : Sur la base des résultats de l’étape 4, affinez de manière itérative votre prompt pour améliorer les performances sur les cas de test et mieux répondre à vos critères de réussite. Cela peut impliquer d’ajouter des clarifications, des exemples ou des contraintes pour guider le comportement de Claude. Veillez à ne pas trop optimiser pour un ensemble restreint d’entrées, car cela peut conduire à un surajustement et à une mauvaise généralisation.
- Déployer le prompt peaufiné : Une fois que vous avez obtenu un prompt qui fonctionne bien sur vos cas de test et répond à vos critères de réussite, il est temps de le déployer dans votre application. Surveillez les performances du modèle en conditions réelles et soyez prêt à apporter d’autres améliorations si nécessaire. Des cas limites peuvent survenir qui n’étaient pas anticipés dans votre ensemble de tests initial.
Tout au long de ce processus, il est intéressant de commencer avec le modèle le plus performant et une longueur de prompt non contrainte pour établir un plafond de performance. Une fois que vous avez atteint la qualité de sortie souhaitée, vous pouvez alors expérimenter des optimisations comme des prompts plus courts ou des modèles plus petits pour réduire la latence et les coûts si nécessaire.
En suivant cette méthodologie pilotée par les tests et en définissant soigneusement votre tâche et vos critères de réussite à l’avance, vous serez sur la bonne voie pour exploiter la puissance de Claude pour votre cas d’utilisation spécifique. Si vous investissez du temps dans la conception de cas de test et de prompts robustes, vous en récolterez les fruits en termes de performance et de maintenabilité du modèle.
Techniques d’ingénierie des prompts
Tout au long de votre cycle de développement de prompts, il existe certaines techniques que vous pouvez utiliser pour améliorer les performances de Claude, telles que :
- Être clair et direct : Fournir des instructions claires et un contexte pour guider les réponses de Claude
- Utiliser des exemples : Inclure des exemples dans vos prompts pour illustrer le format ou le style de sortie souhaité
- Donner un rôle à Claude : Préparer Claude à incarner un rôle spécifique (comme celui d’un expert) afin d’augmenter les performances pour votre cas d’utilisation
- Utiliser des balises XML : Incorporer des balises XML pour structurer les prompts et les réponses pour plus de clarté
- Enchaîner les prompts : Diviser les tâches complexes en étapes plus petites et gérables pour de meilleurs résultats
- Laisser Claude réfléchir : Encourager une réflexion étape par étape pour améliorer la qualité de la sortie de Claude
- Pré-remplir la réponse de Claude : Commencer la réponse de Claude avec quelques mots pour guider sa sortie dans la direction souhaitée
- Contrôler le format de sortie : Spécifier le format de sortie souhaité pour assurer la cohérence et la lisibilité
- Demander des réécritures à Claude : Demander des révisions basées sur une grille pour amener Claude à itérer et à améliorer sa sortie
- Conseils pour les fenêtres de contexte longues : Optimiser les prompts qui tirent parti des fenêtres de contexte plus longues de Claude
Nous fournissons également un métaprompt d’aide expérimental qui incite Claude à créer un prompt pour vous en fonction des directives que vous fournissez. Le métaprompt est expérimental, mais peut être utile pour rédiger un prompt initial ou créer rapidement de nombreuses variations de prompts pour les tests.
Remarque : Les modèles antérieurs à la famille Claude 3 peuvent nécessiter plus d’ingénierie des prompts. Pour plus d’informations, consultez notre guide des modèles hérités.
Ressources supplémentaires
Pour en savoir plus sur l’ingénierie des prompts, consultez ces ressources :
- Anthropic Cookbook : Un ensemble de recettes sous forme de notebooks Jupyter qui présentent du code copiable démontrant comment utiliser Claude de manière efficace et intéressante dans des scénarios plus avancés, tels que le téléchargement de PDF, l’utilisation d’outils et l’appel de fonctions, les embeddings, et plus encore
- Tutoriel interactif d’ingénierie des prompts : Un tutoriel pratique étape par étape pour apprendre facilement des stratégies de prompting efficaces (nécessite une clé API)
- Il existe également une clé de réponse d’accompagnement si vous souhaitez voir des exemples de solutions.
- Bibliothèque de prompts : Une collection de prompts pré-écrits pour des tâches courantes, amusantes et utiles pour une variété de cas d’utilisation personnels et professionnels
- SDK clients : un ensemble d’outils pour vous faciliter la création et l’intégration de Claude dans vos applications
Bon prompting !