Ingénierie de prompt
L'ingénierie de prompt (prompt engineering) est la discipline qui consiste à concevoir et optimiser des prompts (requêtes) pour interagir efficacement avec les grands modèles de langage (LLM). La qualité d'un prompt détermine directement la précision, la pertinence et la sécurité de la réponse du modèle. Ce domaine évolue rapidement, passant de la sélection manuelle d'instructions à la création de systèmes d'agents complexes et à l'utilisation de modèles dotés de mécanismes de raisonnement intégrés.
Principes de base et structure d'un prompt
Bien qu'il n'existe pas de norme unique, les prompts efficaces reposent sur des approches communes proposées par divers chercheurs et entreprises (par exemple, les 6 stratégies d'OpenAI ou les guides pratiques d'Anthropic).
- Un prompt efficace inclut souvent les composants suivants :
- Rôle (Persona) : Définit le contexte et le style de comportement du modèle (« Tu es un chercheur scientifique senior... »).
- Instructions : Directives claires et étape par étape sur ce qu'il faut faire.
- Contexte (Context) : Informations nécessaires à l'accomplissement de la tâche.
- Exemples (Examples) : Démonstration du format ou du style souhaité (few-shot prompting).
- Format de sortie (Output Format) : Spécification de la structure de la réponse (par exemple, JSON, Markdown).
Techniques d'amélioration du raisonnement (Reasoning)
Ces techniques amènent le modèle à « penser » de manière plus structurée.Remarque importante (Émergence) : L'efficacité de la technique `Chain‑of‑Thought` n'est manifeste que sur les grands modèles (≈100 milliards de paramètres et plus) ; les modèles plus petits montrent un effet négligeable ou une dégradation des résultats.
- Chain-of-Thought (CoT) : Instruction demandant au modèle de générer un raisonnement étape par étape avant la réponse finale (« Pense étape par étape »).
- Variations et alternatives au CoT :
- Self-Consistency : Génération de plusieurs chaînes de raisonnement et sélection de la réponse la plus fréquente par un système de « vote ».
- Tree-of-Thoughts (ToT) : Exploration de plusieurs pistes de raisonnement sous forme d'arbre, avec évaluation et retour aux étapes précédentes.
- Graph-of-Thought (GoT) : Technique avancée avec deux implémentations principales : l'une modélise le raisonnement comme un graphe pour des flux logiques plus flexibles (Besta et al.), l'autre se concentre sur la fusion des chemins de raisonnement (Yao et al.).
- Mécanismes de raisonnement intégrés (Reasoning Models): Le développement d'une nouvelle génération de modèles (tels que o1 et o3 d'OpenAI) est en cours. Ces modèles sont entraînés dès le départ avec des chaînes de raisonnement internes, ce qui leur permet d'effectuer des tâches complexes sans avoir besoin d'un prompt explicite de type CoT.
Gestion du contexte et de la mémoire
L'augmentation de la taille des fenêtres de contexte présente de nouveaux défis et solutions.
- Fenêtres de contexte (2024-2025) :
| Modèle | Fenêtre de contexte maximale |
|---|---|
| Google Gemini 2.0 Pro | 2 millions de tokens |
| Google Gemini 1.5 Pro | 2 millions de tokens |
| Anthropic Claude 3.5 Sonnet | ~200 000 tokens |
| OpenAI GPT-4o | ~128 000 tokens |
À partir de mars 2025, Google Gemini 2.5 Pro est présenté avec une fenêtre de contexte de 1 million de tokens, et la version Pro-Experimental promet 2 millions de tokens en mai 2025.
- Retrieval-Augmented Generation (RAG): Le RAG classique complète le prompt avec des informations issues de bases de données externes. Les implémentations modernes incluent :
- GraphRAG : Utilise des graphes de connaissances pour extraire des données sémantiquement plus pertinentes.
- RAG multimodal : Traite non seulement du texte, mais aussi des images, de l'audio et de la vidéo.
- Agentic RAG : Intègre le RAG dans des cycles d'agents, où l'agent décide de manière autonome quand et quelles informations rechercher.
- Techniques pour contexte long : Pour travailler efficacement avec de grandes fenêtres, des techniques avancées, souvent propriétaires, sont utilisées, telles que le Cascading KV Cache et l' Infinite Retrieval.
Techniques avancées : agents et outils
- Utilisation d'outils (Tool Usage) :
- Function Calling : Capacité intégrée dans les modèles (GPT-4, Claude 3.5) à appeler des API externes.
- Model Context Protocol (MCP) : Selon certains rapports préliminaires (à confirmer), une nouvelle norme pour unifier les API des outils, soutenue par Microsoft, est en cours de développement.
- Agents et frameworks (2024-2025) :
- LangChain (v0.3) : Avec la sortie de LangChain v0.3 (septembre 2024), le framework est entièrement passé à Pydantic 2 et a mis fin au support de Python 3.8, conformément à sa date de fin de vie (EOL) en octobre 2024.[1]
- AutoGen : Est entièrement passé à une architecture asynchrone et événementielle (actor model).
- CrewAI : Un framework haute performance pour l'orchestration de systèmes multi-agents qui gagne rapidement en popularité.
- Plateformes No-code : Des outils comme AutoGen Studio permettent de créer et de configurer des agents complexes sans écrire de code.
Techniques de réduction des hallucinations
Les hallucinations (génération d'informations factuellement incorrectes) restent un problème majeur. Selon les données de 2024, leur taux varie de 3 % à 16 % chez les principaux modèles, et les dommages économiques qu'elles engendrent sont estimés à plusieurs dizaines de milliards de dollars.
- Méthodes classiques : RAG, demande de citations, ajustement des paramètres de génération (température, top-p).
- Approches modernes d'alignement (Alignment) :
- Constitutional AI (CAI) : Méthode proposée par Anthropic, où le modèle apprend à suivre un ensemble de principes (une « constitution ») en utilisant un feedback généré par l'IA.
- Direct Preference Optimization (DPO) : Une alternative plus simple et plus efficace au RLHF. Des recherches sur le DPO dans les VLM multimodaux (par exemple, pour les rapports de radiologie) montrent une réduction des hallucinations de 3 à 4,8 fois.
Patrons de prompts : état actuel
De nombreux patrons (Persona, Output Customization) restent pertinents.
- À reconsidérer :
- Patron de liste de vérification des faits (Fact Check List Pattern) : Considéré comme peu fiable. Les modèles ont du mal à auto-vérifier les faits par le biais du prompting et nécessitent une intégration avec des systèmes de vérification externes.
- Nouveaux patrons (2024-2025) :
- Meta-prompting : Utilisation d'un LLM pour générer et optimiser des prompts pour un autre LLM.
- Prompts Mixture-of-Experts (MoE) : Création de prompts qui s'adressent dynamiquement à différentes parties « expertes » du modèle.
- Patrons multimodaux : Structures de prompts incluant du texte, des images et d'autres types de données pour des requêtes complexes.
Liens
- Guide d'ingénierie de prompt d'Anthropic
- Guide d'ingénierie de prompt d'OpenAI
- Guide de prompting de Google
- PromptingGuide.ai
- Amazon Bedrock
Bibliographie
- Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. PDF.
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Li, X. L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Liu, Y. et al. (2021). Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity. arXiv:2104.08786.
- Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
- Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Chang, K. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
- Genkina, D. (2024). AI Prompt Engineering Is Dead. IEEE Spectrum. [2].
- Li, Z. et al. (2024). Prompt Compression for Large Language Models: A Survey. arXiv:2410.12388.
- Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
- Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
- Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. EMNLP 2025. PDF.
- Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.