Voici quelques techniques avancées d'ingénierie d'invites clés pour les tâches de codage avec de grands modèles de langage :
1. Comprendre l'interprétation par le modèle des requêtes liées au codage : cela implique d'avoir une compréhension approfondie des concepts de programmation et d'être capable de les articuler de manière à ce que le modèle puisse les traiter efficacement. L'objectif est de créer des invites qui s'alignent sur les représentations internes et les mécanismes d'attention du modèle.[1]
2. Chaînage d'invites et invites multi-tours : Décomposer une tâche de codage complexe en une séquence d'invites, où la sortie d'une invite est utilisée comme entrée pour la suivante. Cela permet au modèle d'aborder la tâche étape par étape.[2][3]
3. Invitation de chaîne de pensée (CoT) : fournir au modèle des exemples de raisonnement étape par étape pour résoudre un problème, en le guidant pour générer sa propre chaîne de raisonnement.[4][5] Il a été démontré que cela améliore considérablement les performances sur des tâches de raisonnement complexes.
4. Invite d'auto-cohérence : une extension de CoT où plusieurs chemins de raisonnement sont échantillonnés et la réponse la plus cohérente est sélectionnée. Ceci est utile pour les problèmes ouverts avec plusieurs solutions valides.[4]
5. Ingénierie automatique des invites (APE) : technique qui traite l'invite elle-même comme le « programme » à optimiser, en utilisant des modèles de langage pour générer et rechercher parmi les invites candidates afin de trouver la plus efficace pour une tâche donnée. [5]
6. Fournir un contexte et des exemples pertinents : l'inclusion d'informations spécifiques au domaine, de directives de style de codage et d'exemples d'entrée-sortie dans l'invite peut aider à orienter le modèle vers une génération de code plus précise et plus pertinente.[1][3]
La clé est d’expérimenter de manière itérative la conception, les tests et l’affinement des invites afin de trouver les invites les plus efficaces pour vos tâches de codage et votre modèle de langage spécifiques. Une ingénierie rapide et minutieuse peut améliorer considérablement les capacités des grands modèles de langage en matière d’assistance au codage.
[1] Ingénierie rapide pour les tâches de codage - Vers la science des données[2] Techniques avancées d'ingénierie rapide - Mercity AI[3] Prompt Engineering en 2024 : Techniques, utilisations et avancées... - Acorn[4] Ingénierie avancée des invites : qu'est-ce que cela implique ? - DataScientest.com[5] prompts-advanced-usage.md - GitHub
Citations :[1] https://towardsdatascience.com/prompt-engineering-llms-coding-chatgpt-artificial-intelligence-c16620503e4e?gi=54ae68d69ee0
[2] https://www.mercity.ai/blog-post/advanced-prompt-engineering-techniques
[3] https://www.acorn.io/resources/learning-center/prompt-engineering
[4] https://datascientest.com/en/advanced-prompt-engineering-what-does-it-involve
[5] https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/guides/prompts-advanced-usage.md