Les 5 meilleures techniques pour des prompts efficaces

Les 5 meilleures techniques pour des prompts efficaces Google a dévoilé en début d'année un guide complet de 68 pages pour rédiger des prompts efficaces destinés à sa famille Gemini.

Au fil des mois et des observations des chercheurs en intelligence artificielle, l'art du prompting s'affine. Pour partager avec le plus grand nombre les dernières avancées, Google a édité en début d'année un guide complet sur les meilleures techniques de prompt. Rédigé par Lee Boonstra, software engineer tech lead chez Google, il est considéré comme une bible du prompting efficace par de nombreux développeurs. Le JDN retient pour vous les 5 conseils les plus efficaces et/ou novateurs pour améliorer vos prompts. A noter que les conseils s'appliquent autant aux modèles de la famille DeepMind (Gemini donc) qu'aux autres LLM.

1. Bien configurer ces trois variables d'inférence

Ce sont les variables les plus importantes pour contrôler la créativité, les hallucinations ou encore la précision d'un LLM. La variable max tokens permet de contrôler le nombre de tokens maximal générés par un LLM. Une valeur réduite et adaptée à vos cas d'usage permet de limiter les coûts et de réduire le temps de réponse. Mais selon Google, une valeur calibrée en adéquation avec la sortie attendue du modèle permet de limiter l'apparition de texte parasite en fin de sortie. ("En conclusion, on peut dire que…"). Par exemple pour une configuration en mode classification une valeur inférieure à 10 tokens selon le cas d'usage est une bonne pratique.

La température, de son côté, permet de contrôler le déterminisme de la réponse générée par le modèle. En clair, une température proche de 0 aura tendance à générer des réponses factuelles voire attendues (parfait pour l'utilisation d'un LLM sur des questions binaires comme les opérations mathématiques par exemple). Une valeur élevée (supérieure à 1) permet d'obtenir des résultats beaucoup plus créatifs (idéal pour la génération d'une histoire fictive par exemple). L'hallucination est également possiblement décuplée.

Contrairement à la température qui contrôle globalement le caractère aléatoire, top-K et top-P agissent plus précisément sur la sélection des mots. Top-K limite le choix aux K mots les plus probables (par exemple, top-3 signifie choisir parmi les 3 mots les plus susceptibles d'être générés), tandis que top-P sélectionne dynamiquement les mots dont la probabilité cumulée ne dépasse pas un seuil donné (par exemple, top-0.9 signifie prendre les mots qui représentent ensemble 90% de la probabilité totale). Pour des tâches précises nécessitant de la rigueur (analyse, extraction de données), utilisez des valeurs basses : top-K autour de 10 et top-P autour de 0.5. Pour des tâches créatives (écriture, génération de contenu), augmentez les valeurs : top-K autour de 50 et top-P proche de 0.95 ou 1.

2. Utiliser le few-shot prompting

C'est l'alternative la plus simple au fine-tuning. Le few-shot prompting permet de guider le modèle à comprendre la sortie attendue à partir d'exemples. Il est ainsi conseillé de fournir a minima un exemple de sortie attendue (one-shot). Plusieurs exemples (few-shot donc) donneront toutefois une meilleure compréhension au modèle avec potentiellement des résultats plus fiables. Google recommande de donner entre trois et cinq exemples de sorties. Les exemples doivent être originaux, diversifiés et écrits sans faute. Une seule erreur peut embrouiller le modèle.

Exemple d'un bon few-shot prompt avec 2-shot :

"Parse a customer's pizza order into valid JSON:


EXAMPLE:

I want a small pizza with cheese, tomato sauce, and pepperoni.

JSON Response:

{

"size": "small",

"type": "normal",

"ingredients": [["cheese", "tomato sauce", "peperoni"]]

}


EXAMPLE:


Can I get a large pizza with tomato sauce, basil and mozzarella

{

"size": "large",

"type": "normal",

"ingredients": [["tomato sauce", "bazel", "mozzarella"]]

}

Now, I would like a large pizza, with the first half cheese and

mozzarella. And the other tomato sauce, ham and pineapple.

JSON Response:"

3. Recourir au step-back prompting

Plus souple que la chain-of-thought, le step-back prompting permet au modèle de mieux raisonner pour résoudre un problème complexe. Concrètement, l'approche consiste à demander au modèle dans un premier temps l'approche qu'il adopterait pour résoudre le problème. Et dans un second temps de résoudre le problème en utilisant l'approche envisagée dans la première sortie. En commençant par un niveau d'abstraction plus élevé, le modèle peut activer des connaissances de fond plus larges, identifier des principes fondamentaux et développer une compréhension plus profonde du contexte.

Exemple pour résoudre un problème mathématique.

prompt 1 : 'Quelle approche faudrait-il mobiliser pour résoudre le problème suivant ?"

Prompt 2 : "A partir de l'approche ci-dessus, résolvez le problème mathématique suivant."

La technique exige deux appels au modèle mais permet de résoudre des problèmes beaucoup plus complexes qu'avec un seul prompt. La technique est notamment recommandée pour les LLM simples et non optimisés pour le raisonnement (LLama 4, GPT-4o, Phi, Mistral 7B…).

4. Répétez-vous avec le self-consistency

Là encore, la self-consistency demande plusieurs tours pour fonctionner et un coût final plus élevé. Elle peut être utilisée pour résoudre des problèmes avec une grande complexité. Le processus, assez simple, consiste à soumettre le même prompt au LLM plusieurs fois, en utilisant un réglage de température élevé pour encourager la génération de divers chemins de raisonnement et perspectives sur le problème. Ensuite, la réponse est extraite de chaque résultat généré, et la réponse la plus fréquente est sélectionnée comme étant la plus cohérente et donc la plus correcte statistiquement. La technique permet de réduire drastiquement le risque d'hallucinations et d'augmenter le taux d'accuracy sur les tâches complexes.

Par exemple, on peut demander au modèle de classifier le contenu d'une transcription téléphonique pour détecter le sentiment dominant.

Prompt 1 : "Voici ci-dessous le contenu d'une discussion téléphonique. Cette conversation est-elle plutôt positive ou négative ? Réponds uniquement et UNIQUEMENT "POSITIF" ou "NEGATIF"."

On répète le prompt 3 fois avec une température de 1,5. Ensuite, on procède à un vote majoritaire parmi ces différentes classifications. La réponse qui apparaît le plus fréquemment dans l'ensemble des générations est considérée comme la réponse la plus self-consistante et donc la plus susceptible d'être correcte.

Prompt final : "Quelle est la réponse dominante ? Retourne uniquement et UNIQUEMENT la réponse qui revient le plus souvent. Réponse : REPONSE1, REPONSE2, REPONSE3"

5. Testez avec l''automatic prompt engineering ou APE

L'automatic prompt est une des nombreuses techniques pour automatiser la création d'un prompt simple mais efficace. Le principe est simple : à partir d'un prompt de référence, on demande au modèle de générer une dizaine de variantes capables de réaliser la même tâche. Chacun de ces prompts est ensuite testé individuellement, et les réponses générées sont comparées à une ou plusieurs réponses humaines de référence. Chaque réponse est évaluée automatiquement à l'aide de métriques standardisées comme BLEU (précision lexicale) et ROUGE (rappel d'information). Le prompt dont la sortie obtient les scores les plus proches de la référence humaine est sélectionné comme le plus performant.

© JDN

Bonus : utiliser un tableur

C'est certainement l'un des meilleurs conseils et l'un des plus simples. Pour apprendre et comprendre le fonctionnement du prompt engineering, Lee Boonstra recommande d'utiliser un tableur pour lister les prompts et leur efficacité. La spécialiste recommande de lister le nom du prompt, l'objectif affiché, la température utilisée, le top-k, le top-p, la limite de tokens, le prompt, la sortie et enfin une évaluation simple des résultats ("Sortie ok, pas ok, parfois ok, par exemple).

Exemple :

Nom du prompt

Objectif visé

Température

Top-k

Top-p

Limite de tokens

Prompt utilisé

Sortie générée

Évaluation

Résumé d'article

Résumer un article de 1000 mots

0.7

50

0.9

500

Résume cet article de façon concise...

L'article explique que...

Sortie ok

L'utilisation du tableur permet ainsi de suivre l'impact des modifications de vos prompts sur la sortie et d'apprendre par la même occasion.