L'ingénierie des invites en IA

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

L'ingénierie des invites est une méthode essentielle qui consiste à formuler soigneusement des instructions destinées à un Modèle de Langage de Grande Taille (LLM) utilisé dans les systèmes d'Intelligence Artificielle (IA). Les LLMs sont entraînés sur d'importants volumes de données pour répondre à divers prompts. Quand un modèle d'IA reçoit une tâche, il exploite tout le contenu de ses données d'apprentissage, même si cela dépasse les besoins de la tâche à accomplir. Cela peut engendrer des problèmes tels que des "hallucinations" ou l'utilisation d'informations non pertinentes. Grâce à l'ingénierie des invites, les utilisateurs peuvent indiquer clairement le type de données d'apprentissage que l'IA doit utiliser pour mener à bien la tâche.

Conseils généraux pour rédiger un bon prompt

Utiliser un langage clair

La clarté est primordiale lors de la rédaction d'un prompt. Adopter un style à la fois précis et concis permet à l'IA d'exécuter la tâche de façon optimale sans nécessiter d'interventions supplémentaires. En outre, il est essentiel de savoir qu'il peut y avoir un coût associé aux interactions avec les LLM, ce qui rend la concision encore plus bénéfique.

Lorsque le modèle reçoit un texte, il segmente celui-ci en unités, appelées "tokens". Vous pouvez penser à chaque mot comme un token. Pour plus d'informations sur les tokens, référez-vous à la documentation d'OpenAI. En suivant une formulation claire, non seulement vous économisez de l'argent, mais vous améliorez également les performances de l'IA.

Un exemple de langage vague pourrait être :

// Expliquez le concept des boucles for en Javascript. Gardez votre explication courte et ne soyez pas trop descriptif.

Dans ce cas, le prompt manque de précision, car des termes comme "court" et "pas trop descriptif" sont ambigus. Un prompt amélioré serait :

// Utilisez 2 à 3 phrases pour expliquer le concept de boucles for en Javascript à un enfant de 5 ans.

Définir votre objectif

Il est essentiel de définir clairement l'objectif du prompt. Cela inclut le ton, le format et le public cible. Par exemple, le ton d'un email à un ami diffère fortement de celui destiné à un employeur. La mention d'un ton spécifique aide à l'IA à adapter sa réponse. De même, la forme de la réponse — par exemple, une liste à puces au lieu d'un texte en paragraphes — peut être demandée. En précisant le public, l'IA pourra même personnaliser ses réponses.

Fournir un contexte

Un autre point crucial est de fournir un contexte adéquat au LLM, ce qui lui permet de savoir quelles données d'apprentissage utiliser pour élaborer sa réponse. Lorsqu'il s'agit de déboguer un message d'erreur en programmation, un bon prompt pourrait être :

// J'ai un problème avec mon code. En tenant compte du message d'erreur et du bloc de code suivant, pouvez-vous m'aider à trouver une solution ?
// Voici le message d'erreur : x
// Voici le bloc de code : y

N'oubliez pas que x et y sont des espaces réservés et que les informations pertinentes doivent être fournies.

Exemples de prompts

Voici quelques exemples illustrant les concepts évoqués :

// Jouez le rôle d'un tuteur de langue espagnole. Je débute dans l'apprentissage de l'espagnol.
// Donnez-moi 20 phrases incontournables en espagnol avec la traduction et des instructions de prononciation.

Ici, nous avons donné à l'IA un objectif clair, sachant que l'audience est novice en espagnol.

// Imaginez-vous en tant qu'enseignant et je suis votre élève. Expliquez-moi le sujet que je vais demander et ensuite interrogez-moi avec vos propres questions.
// Par exemple : 
// Vous : L'addition binaire de deux bits se fait avec deux opérateurs - ET et XOR. ...
// Moi : Oui.
// Vous : Excellent. Résolvez les exemples suivants : 0b0 + 0b0, 0b1 + 0b0
// Moi : 0b0 + 0b0 = 0b01, 0b1 + 0b0 = 0b01
// Vous : Non, 0b0 + 0b0 = 0b00 car les deux bits d'entrée sont zéro.
// Moi : Oh, je comprends...

Ce dernier exemple montre comment un LLM peut être une solution efficace grâce à des commandes intégrées. Ces commandes ajustent dynamiquement le contexte de la conversation.