Definition

Qu'est-ce que l'ingénierie des prompts (invites)?

L'ingénierie des  prompts (invites) est une technique d'ingénierie de l'intelligence artificielle (IA) qui permet d'affiner les grands modèles de langage (LLM) à l'aide d'invites spécifiques et de sorties recommandées. Elle fait également partie du processus d'affinage des données d'entrée de divers services d'IA générative (GenAI) pour générer du texte ou des images. L'ingénierie des messages-guides aide les outils d'IA générative à créer divers types de contenus et d'artefacts numériques, notamment des robots d'automatisation des processus, des actifs 3D, des scripts et des instructions pour robots.

Les techniques d'ingénierie des invites permettent d'adapter les LLM à des cas d'utilisation spécifiques, allant de la production de textes à la conception graphique en passant par la cybersécurité. Cependant, l'ingénierie des invites pour divers outils d'IA générative existants est son utilisation la plus répandue, car il y a beaucoup plus d'utilisateurs d'outils existants que de développeurs travaillant sur de nouveaux outils.

L'ingénierie des invites combine des éléments de logique, de codage, d'art et parfois des modificateurs supplémentaires, tels que des adjectifs et des adverbes, pour rendre les invites plus spécifiques. L'invite peut comprendre un texte en langage naturel, des images ou d'autres types de données d'entrée. Bien que les outils d'IA générative les plus courants puissent traiter des requêtes en langage naturel, la même invite produira probablement des résultats différents d'un service d'IA à l'autre et d'un outil à l'autre. Chaque outil dispose de ses propres modificateurs spéciaux pour faciliter la description du poids des mots, des styles, des perspectives, de la présentation ou d'autres propriétés de la sortie ou de la réponse souhaitée.

Pourquoi l'ingénierie rapide est-elle importante pour l'IA ?

Une ingénierie rapide est essentielle pour créer de meilleurs services alimentés par l'IA, minimiser les biais et obtenir de meilleurs résultats des outils d'IA générative existants.

Créer de meilleurs services alimentés par l'IA

En termes de création d'une meilleure IA, l'ingénierie rapide peut aider les équipes à régler les LLM et à dépanner les flux de travail pour obtenir des résultats spécifiques. Les développeurs d'entreprise peuvent expérimenter cet aspect de l'ingénierie des prompts en réglant un LLM tel que le GPT-4 d'OpenAI pour alimenter des chatbots ou des moteurs de recherche orientés client, ou pour traiter des tâches spécifiques telles que la création de contrats adaptés aux besoins d'une entreprise ou d'un secteur spécifique. Par exemple, un cabinet d'avocats pourrait utiliser l'IA générative pour générer des contrats utilisant un langage cohérent.

L'ingénierie des invites joue également un rôle dans l'identification et l'atténuation de divers types d'attaques par injection d'invites. Ces types d'attaques sont une variante moderne des attaques par injection de langage de requête structuré dans lesquelles des acteurs malveillants ou des expérimentateurs curieux tentent de briser la logique des services d'IA générative, tels que ChatGPT d'OpenAI, Copilot de Microsoft ou Gemini de Google. Les modèles peuvent avoir un comportement erratique si on leur demande d'ignorer des commandes antérieures, d'entrer dans un mode spécial ou d'interpréter des informations contraires. Dans ces cas, les développeurs de l'entreprise peuvent remédier au problème en explorant les invites en question et en affinant les modèles d'apprentissage profond du service.

Dans d'autres cas, les chercheurs doivent créer des messages-guides pour obtenir des informations sensibles de la part du moteur d'IA générative sous-jacent. Par exemple, les scientifiques des données ont découvert que le nom secret du chatbot de Microsoft Bing est Sydney et que ChatGPT dispose d'un mode spécial DAN - alias "Do Anything Now" - qui peut enfreindre les règles normales. Les développeurs peuvent utiliser l'ingénierie d'invite pour se protéger contre ce type d'accès en ordonnant aux modèles génératifs de ne jamais divulguer d'informations sensibles spécifiques.

Microsoft a dû ajuster les capacités d'ingénierie de Bing Chat lorsqu'il a commencé à répondre par des informations erronées et à réprimander les utilisateurs. L'entreprise a réduit le nombre d'interactions que les utilisateurs pouvaient avoir avec l'outil au cours d'une même session. Toutefois, des interactions plus longues peuvent conduire à de meilleurs résultats, et il faudra donc améliorer l'ingénierie des messages instantanés pour trouver le juste équilibre entre les meilleurs résultats et la sécurité.

Améliorer la précision des outils GenAI existants

En ce qui concerne l'amélioration des outils d'IA générative existants, l'ingénierie des requêtes peut aider les utilisateurs à identifier les moyens de reformuler leur requête afin d'obtenir les résultats souhaités. Un rédacteur peut expérimenter différentes façons de formuler la même question pour trouver le meilleur texte ou style d'écriture. Par exemple, dans des outils tels que ChatGPT, les variations dans l'ordre des mots et le nombre de fois qu'un même modificateur est utilisé peuvent affecter de manière significative le texte final.

Les développeurs utilisent également l'ingénierie des invites pour combiner des exemples de code existant et des descriptions de problèmes qu'ils essaient de résoudre pour compléter le code. De même, la bonne invite peut les aider à interpréter l'objectif et la fonction du code existant pour comprendre comment il fonctionne et comment il pourrait être amélioré ou étendu.

Dans le cas de la synthèse texte-image, l'ingénierie d'invite permet de définir diverses caractéristiques de l'imagerie générée. Les utilisateurs peuvent demander au modèle d'IA de créer des images dans un style, une perspective, un rapport d'aspect, un point de vue ou une résolution d'image particuliers. La première demande n'est généralement que le point de départ, car les demandes suivantes permettent aux utilisateurs de minimiser certains aspects de l'image, d'en améliorer d'autres, et d'ajouter ou de supprimer des objets.

Quels sont les cas concrets d'utilisation de l'ingénierie rapide ?

Les entreprises trouvent des utilisations créatives à l'ingénierie prompte de la GenAI, telles que les suivantes :

  • Rédaction. L'ingénierie rapide aide les journalistes, les spécialistes du marketing et les autres rédacteurs à trouver des idées et à accélérer la création de contenu. Les outils de GenAI peuvent aider à réaliser des tâches telles que la production de transcriptions d'événements en direct et la création de scénarios à partir de textes narratifs.
  • Conception graphique. Les invites aident les modèles génératifs à façonner et à produire des conceptions détaillées. Des invites plus spécifiques se traduisent par des dessins plus détaillés.
  • Développement et ingénierie des logiciels. L'ingénierie rapide simplifie le travail des développeurs de logiciels, car les modèles génératifs peuvent résoudre les problèmes de codage et générer des extraits de code plus rapidement que les personnes.
  • Santé. Les LLM sont utilisés pour résumer et analyser de grandes quantités de données sur les patients, des études de cas et des livres blancs. Des chatbots personnalisés sont utilisés pour répondre aux questions des patients.

Le traitement du langage naturel génère des textes qui peuvent aider les clients à trouver des solutions à leurs problèmes.
  • L'IA conversationnelle. Divers marchés verticaux créent, personnalisent et utilisent leurs propres programmes d'IA conversationnelle. Par exemple, les entreprises de commerce électronique utilisent des chatbots personnalisés pour interagir avec les clients, répondre aux questions de base et traiter les problèmes. Un modèle d'IA formé pour le service à la clientèle pourrait utiliser l'ingénierie d'invite pour aider les consommateurs à résoudre leurs problèmes plus efficacement. Dans ce cas, il pourrait être souhaitable d'utiliser le traitement du langage naturel pour générer des résumés afin d'aider des personnes ayant des niveaux de compétences différents à analyser et à résoudre un problème par elles-mêmes. Par exemple, un technicien qualifié n'aurait besoin que d'un résumé des étapes clés, tandis qu'un client aurait besoin d'un guide plus long, étape par étape, détaillant les procédures impliquées.
  • Cybersécurité. Dans le secteur technologique, les professionnels de la cybersécurité utilisent des messages-guides pour obtenir des modèles génératifs qui simulent des cyberattaques afin de tester le degré de préparation des systèmes à la lutte contre ces attaques et à la découverte des vulnérabilités.
  • Droit. Un cabinet d'avocats pourrait vouloir utiliser un modèle d'IA générative pour aider les avocats à générer automatiquement des contrats en réponse à une exigence spécifique, par exemple que toutes les clauses d'un contrat reflètent les clauses existantes dans la bibliothèque de documentation contractuelle du cabinet afin d'éviter que de nouveaux résumés n'introduisent des problèmes juridiques.

Exemples d'ingénierie rapide

Il existe des différences dans les types d'invites IA utilisées pour générer du texte, du code et des images. Voici des exemples d'outils utilisés pour créer chaque type de contenu généré par l'utilisateur et les types d'invites souvent utilisés :

Texte : ChatGPT et OpenAI's GPT-4

  • Quelle est la différence entre l'IA générative et l'IA traditionnelle ?
  • Rédigez 10 variantes convaincantes pour le titre "Top generative AI use cases for the enterprise".
  • Rédigez les grandes lignes d'un article ou d'un billet de blog sur les avantages de l'IA générative pour le marketing.
  • Rédigez maintenant 300 mots pour chaque section.
  • Créez un titre attrayant pour chaque section.
  • Rédigez une description de 100 mots pour le produit XYZ dans cinq styles différents.
  • Définir le terme "prompt engineering" en pentamètre iambique dans le style de Shakespeare.

Code : ChatGPT et le Codex d'OpenAI

  • Agir en tant qu'artiste de l'American Standard Code for Information Interchange qui traduit les noms d'objets en code ASCII.
  • Trouvez les erreurs dans l'extrait de code suivant.
  • Écrire une fonction qui multiplie deux nombres et renvoie le résultat.
  • Créer une API REST de base en Python.
  • Quelle est la fonction du code suivant ?
  • Simplifiez le code suivant.
  • Continuez à écrire le code suivant.

Images : Stability AI's Stable Diffusion, Midjourney, OpenAI's Dall-E 3

  • Créez l'image d'un chien dans une voiture portant des lunettes de soleil et un chapeau dans le style de Salvador Dalí.
  • Un lézard sur la plage dans le style de l'art Claymation.
  • Un homme utilisant un téléphone dans le métro, 4K, flou-- une image de plus haute résolution 4K avec un rendu flou.
  • Illustration autocollante d'une femme buvant un café à une table avec une nappe à carreaux.
  • Une forêt vierge avec un éclairage cinématographique et des photographies de la nature.
  • Image à la première personne observant des nuages orangés lors d'un lever de soleil.

Ces images montrent un éventail d'effets possibles avec l'IA générative, notamment un chien rendu dans le style de Dalí et une photo d'homme avec un flou de type bokeh.

Quelles sont les techniques d'ingénierie rapide ?

Il existe différentes techniques d'ingénierie rapide. Les techniques suivantes sont fréquemment utilisées :

  • L'incitation à la chaîne de pensée. Dans la chaîne de pensée, un utilisateur demande à un LLM de résoudre un problème complexe qui est décomposé en étapes plus petites et logiques afin que le LLM comprenne plus facilement le problème. Cela doit se faire en une seule fois. Par exemple, un problème mathématique compliqué est plus facile à comprendre lorsque les instructions sont données étape par étape dans une seule invite.
  • Incitation à l'absence d'exemples. Un LLM se voit confier une tâche qui ne nécessite pas d'exemples spécifiques en entrée. L'utilisateur s'appuie sur les vastes données de formation à l'apprentissage automatique du LLM pour produire un résultat. Un exemple serait de demander la signification d'un mot ou d'un terme obscur.
  • Invitations à quelques reprises. Les utilisateurs s'appuient sur l'incitation à l'écriture à partir de zéro, en fournissant davantage d'exemples dans leurs incitations afin d'obtenir des résultats plus spécifiques. Par exemple, un LLM peut être invité à écrire une nouvelle impliquant certains personnages et événements. Cette approche n'est pas aussi adaptée aux tâches complexes que l'invite CoT.
  • L'enchaînement d'invites. L'enchaînement d'invites est similaire à l'invitation à la formation continue dans la mesure où il demande à un MLD de résoudre des problèmes complexes. Cependant, l'enchaînement d'invites implique de multiples invites liées au contexte, alors que le CoT implique une seule invite, plus longue, énumérant tous les éléments d'un problème donné.
  • L'incitation à l'auto consistance. Cette technique décompose les problèmes complexes de différentes manières, en donnant à un LLM plusieurs angles pour comprendre et répondre à l'invite. Cela peut signifier recevoir plusieurs sorties de modèle, auquel cas il appartient à l'utilisateur de sélectionner la meilleure. Un exemple serait de demander à un LLM de faire le même problème mathématique de plusieurs façons afin de s'assurer que le même résultat est obtenu à chaque fois.
  • Méta-interprétation. Les utilisateurs formatent clairement les invites avec la structure et la syntaxe nécessaires pour obtenir des réponses spécifiques de la part du LLM. Ces types d'invites sont plus abstraits et ne nécessitent pas de longues requêtes détaillées de la part de l'utilisateur. Par exemple, un utilisateur peut demander à un LLM d'expliquer le fonctionnement d'un processus, puis lui envoyer une invite ultérieure lui demandant de décomposer ce processus en étapes spécifiques.
  • Invitation à la connaissance générée. Cette technique implique qu'un utilisateur demande à un LLM de fournir des connaissances générales liées à une réponse avant de répondre à l'invite. Cela permet à l'utilisateur de mieux comprendre la réponse. Lorsqu'il interroge un MLD sur les avantages d'une nouvelle technologie, l'utilisateur peut d'abord demander des informations générales à ce sujet.

Conseils et bonnes pratiques pour rédiger de bons messages-guides

L'élaboration d'un message-guide étant un processus itératif, l'un des conseils les plus importants pour rédiger de bons messages-guides consiste à formuler un concept de différentes manières pour voir comment elles fonctionnent. Utilisez différents modificateurs, styles, perspectives, noms d'auteurs ou d'artistes et formatages pour formuler la requête de différentes manières. Cette approche produit des nuances qui peuvent donner des résultats plus intéressants pour une requête particulière.

Une autre approche consiste à utiliser les meilleures pratiques pour un type de production spécifique. Par exemple, lors de la rédaction de descriptions de produits pour le marketing, on peut demander au système d'IA d'utiliser différentes variations, styles et niveaux de détail. Pour un texte plus technique nécessitant la compréhension d'un concept difficile, il peut être utile de demander comment il se compare à un concept apparenté pour aider à comprendre les différences.

Il est également utile de jouer avec les différents types d'entrée dans une invite. Il peut s'agir d'exemples, de données d'entrée, d'instructions ou de questions combinées de différentes manières. Même si la plupart des outils limitent le nombre d'entrées de l'utilisateur, il est possible de fournir des instructions dans un tour qui s'appliquent aux invites suivantes.

Une fois que l'utilisateur s'est familiarisé avec un outil, il est intéressant d'explorer ses modificateurs spéciaux. De nombreuses applications d'IA générative disposent de mots-clés courts pour décrire des propriétés telles que le style, le niveau d'abstraction, la résolution et le rapport d'aspect, ainsi que des méthodes permettant de pondérer l'importance des mots dans l'invite. Ces méthodes peuvent faciliter la description précise de variations spécifiques et réduire le temps consacré à la rédaction d'invites efficaces.

Il peut également être intéressant d'explorer les environnements de développement intégré (IDE) pour l'ingénierie rapide. Ces outils organisent les messages-guides et les résultats pour les ingénieurs afin d'affiner les modèles d'IA générative et pour les utilisateurs qui tentent d'obtenir un type de résultat particulier. Les IDE orientés vers l'ingénierie comprennent des outils open source tels que Snorkel et PromptChainer. Les IDE d'ingénierie d'invite plus axés sur l'utilisateur comprennent Playground AI et DreamStudio.

L'ingénierie de l'IA est une option de carrière viable pour les aspirants professionnels de la technologie. Découvrez ce que font les ingénieurs en IA et comment en devenir un.

Pour approfondir sur IA appliquée, GenAI, IA infusée