Présentation des stratégies de requête

Bien qu'il n'existe pas de méthode correcte ou incorrecte pour concevoir une requête, il existe des stratégies courantes que vous pouvez utiliser pour affecter les réponses du modèle. Des tests et des évaluations rigoureux restent essentiels pour optimiser les performances du modèle.

Les grands modèles de langage (LLM) sont entraînés sur de grandes quantités de données textuelles pour apprendre les schémas et les relations entre les unités de langage. Lorsqu'ils reçoivent un texte (la requête), les modèles de langage peuvent prédire ce qui est le plus susceptible de suivre, à la manière d'un outil de saisie semi-automatique très sophistiqué. Par conséquent, lorsque vous concevez des requêtes, prenez en compte les différents facteurs susceptibles d'influencer les prédictions du modèle.

Workflow de prompt engineering

Le prompt engineering est un processus itératif basé sur les tests qui peut améliorer les performances du modèle. Lorsque vous créez des requêtes, il est important de définir clairement les objectifs et les résultats attendus pour chaque requête, puis de les tester systématiquement afin d'identifier les domaines à améliorer.

Le schéma suivant illustre le workflow de prompt engineering :

Schéma du workflow de prompt engineering

Créer une requête efficace

À terme, deux aspects d'une requête affectent son efficacité : le contenu et la structure.

  • Content:

    Pour terminer une tâche, le modèle a besoin de toutes les informations pertinentes associées à la tâche. Ces informations peuvent inclure des instructions, des exemples, des informations contextuelles, etc. Pour en savoir plus, consultez la section Composants d'une requête.

  • Structure :

    Même lorsque toutes les informations requises sont fournies dans la requête, la structure des informations aide le modèle à les analyser. Des éléments tels que le tri, l'étiquetage et l'utilisation de délimiteurs peuvent tous affecter la qualité des réponses. Pour obtenir un exemple de structure de requête, consultez la section Exemple de modèle de requête.

Composants d'une requête

Le tableau suivant présente les composants essentiels et facultatifs d'une requête :

Composant Description Exemple
Objectif L'objectif souhaité pour le modèle. Soyez précis et incluez tous les objectifs généraux. Également appelé "mission" ou "objectif". Votre objectif est d'aider les élèves à résoudre des problèmes de mathématiques sans leur donner directement la réponse.
Instructions Des instructions détaillées sur la façon d'effectuer la tâche à accomplir. Également appelés "tâche", "étapes" ou "directives".
  1. Comprendre le problème
  2. Comprendre où l'élève est bloqué.
  3. Donner un indice pour l'étape suivante du problème.
Composants facultatifs
Instructions système

Instructions techniques ou environnementales pouvant impliquer le contrôle ou la modification du comportement du modèle sur un ensemble de tâches. Pour de nombreuses API de modèle, les instructions système sont spécifiées dans un paramètre dédié.

Les instructions système ne sont disponibles que dans Gemini 1.5 Pro.

Vous êtes un expert en codage spécialisé dans le rendu de code pour les interfaces frontend. Lorsque je décris un composant d'un site Web que je souhaite créer, veuillez renvoyer le code HTML et CSS nécessaire. Ne fournissez pas d'explications sur ce code. Fournissez également des suggestions de conception de l'interface utilisateur.
Persona En tant que qui ou quoi le modèle agit. Également appelé "rôle" ou "vision". Vous êtes formateur en mathématiques et vous aidez les élèves à faire leurs devoirs de maths.
Contraintes Restrictions sur ce que le modèle doit respecter lors de la génération d'une réponse, y compris ce que le modèle peut et ne peut pas faire. Également appelés "garde-fous", "limites" ou "contrôles". Ne donnez pas la réponse directement à l'élève. Donnez plutôt des indices sur l'étape suivante qui permettra de résoudre le problème. Si l'élève est complètement perdu, donnez-lui les étapes détaillées permettant de résoudre le problème.
Ton Ton de la réponse. Vous pouvez également influencer le style et le ton en spécifiant un persona. Également appelé "style", "voix" ou "mode". Répondez de manière informelle et technique.
Contexte Toute information à laquelle le modèle doit se référer pour effectuer la tâche en cours. Également appelé "arrière-plan", "documents" ou "données d'entrée". Copie des plans de cours de mathématiques de l'élève
Exemples few-shot Exemples de réponse à une requête donnée. Également appelés "exemples" ou "échantillons". input: J'essaie de calculer combien de balles de golf peuvent tenir dans une boîte ayant un volume d'un mètre cubique. J'ai converti un mètre cube en centimètres cubes et je l'ai divisé par le volume d'une balle de golf en centimètres cubes, mais le système indique que ma réponse est fausse.
output: Les balles de golf sont des sphères et ne peuvent pas être emballées dans un espace avec une efficacité parfaite. Vos calculs tiennent compte de l'efficacité de packaging maximale des sphères.
Étapes de raisonnement Demandez au modèle d'expliquer son raisonnement. Cela peut parfois améliorer la capacité de raisonnement du modèle. Également appelées "étapes de réflexion". Expliquez votre raisonnement étape par étape.
Format de réponse Format dans lequel vous souhaitez obtenir la réponse. Par exemple, vous pouvez demander au modèle de générer la réponse au format JSON, tableau, Markdown, paragraphe, liste à puces, mots clés, elevator pitch, etc. Également appelée "structure", "présentation" ou "mise en page". Mettez en forme votre réponse au format Markdown.
Récapitulatif Répétez brièvement les points clés de la requête, en particulier les contraintes et le format de réponse, à la fin de la requête. Ne divulguez pas de réponses et fournissez plutôt des indices. Mettez toujours en forme votre réponse au format Markdown.
Sauvegardes Base les questions sur la mission du bot. Aussi appelées "règles de sécurité". N/A

Selon les tâches spécifiques à accomplir, vous pouvez choisir d'inclure ou d'exclure certains des composants facultatifs. Vous pouvez également ajuster l'ordre des composants et vérifier l'effet que cela peut avoir sur la réponse.

Exemple de modèle de requête

Le modèle de requête suivant montre un exemple de requête bien structurée :


      <OBJECTIVE_AND_PERSONA>
      You are a [insert a persona, such as a "math teacher" or "automotive expert"]. Your task is to...
      </OBJECTIVE_AND_PERSONA>

      <INSTRUCTIONS>
      To complete the task, you need to follow these steps:
      1.
      2.
      ...
      </INSTRUCTIONS>

      ------------- Optional Components ------------

      <CONSTRAINTS>
      Dos and don'ts for the following aspects
      1. Dos
      2. Don'ts
      </CONSTRAINTS>

      <CONTEXT>
      The provided context
      </CONTEXT>

      <OUTPUT_FORMAT>
      The output format must be
      1.
      2.
      ...
      </OUTPUT_FORMAT>

      <FEW_SHOT_EXAMPLES>
      Here we provide some examples:
      1. Example #1
          Input:
          Thoughts:
          Output:
      ...
      </FEW_SHOT_EXAMPLES>

      <RECAP>
      Re-emphasize the key aspects of the prompt, especially the constraints, output format, etc.
      </RECAP>
    

Bonnes pratiques

Les bonnes pratiques de conception de requêtes sont les suivantes :

Étapes suivantes