Prompts

Faut-il encore écrire ses prompts à la main?

· Par Robert Scales · 4 min de lecture

Réponse courte

Pour les demandes de tous les jours, oui : un court prompt que vous écrivez vous-même, peaufiné en quelques échanges, reste le chemin le plus rapide. Pour les prompts que vous réutiliserez des centaines de fois, laissez un modèle les rédiger ou les améliorer, ou utilisez un optimiseur, mais seulement après vous être donné un ensemble d’exemples de test pour noter chaque version, car sans mesure, vous ne pouvez pas savoir si le prompt écrit par la machine est vraiment meilleur.

Écrire ses prompts à la main était autrefois la seule option. Il y en a maintenant trois. Vous pouvez écrire le prompt vous-même; vous pouvez demander à un modèle de l’écrire ou de le réécrire, comme le font des outils tels que le prompt improver (outil d’amélioration de prompts) d’Anthropic; ou vous pouvez utiliser un optimiseur, un programme qui essaie de nombreuses variantes d’un prompt sur des exemples et garde celle qui obtient le meilleur résultat. La recherche appuie les approches automatiques depuis un moment : l’article Automatic Prompt Engineer de 2022 a constaté que des consignes choisies de cette façon égalaient ou battaient celles écrites par des humains dans 19 tâches langagières sur 24.

Cela ne rend pas l’écriture à la main désuète. Cela change le moment où l’effort en vaut la peine. La façon la plus claire de voir ce compromis est de faire une même tâche des trois façons et de noter les résultats.

La tâche : trier des courriels de clients

Une petite boutique en ligne veut que chaque courriel reçu soit étiqueté dans l’une de quatre catégories : état de la commande, retour ou remboursement, question sur un produit ou autre. Elle a 60 courriels passés qu’un membre du personnel a déjà correctement étiquetés. Elle en utilise 20 pour mettre au point les prompts et en met 40 de côté comme ensemble de test : des exemples que les prompts ne voient jamais pendant leur rédaction, utilisés seulement pour les noter.

Façon 1 : l’écrire à la main

Prompt
Tu tries les courriels des clients d’une boutique en ligne.
Réponds avec exactement une étiquette : order_status, return_refund,
product_question ou other.
- order_status : où est ma commande, dates de livraison, suivi.
- return_refund : renvoyer un article, remboursements, échanges, articles endommagés.
- product_question : tailles, matériaux, compatibilité, stock, avant l’achat.
- other : tout le reste, y compris les plaintes au sujet du site Web.
Si un courriel correspond à deux étiquettes, choisis celle à laquelle le client a besoin d’une réponse en premier.

Courriel :
{email}

L’écrire prend dix minutes, et la règle pour départager les cas, à la dernière ligne, vient de la connaissance de l’entreprise : un article endommagé est un problème de remboursement, même si le client demande aussi quand le remplacement sera expédié.

Façon 2 : laisser un modèle l’écrire ou l’améliorer

Collez le prompt écrit à la main dans un outil d’amélioration de prompts, ou demandez à n’importe quel bon modèle conversationnel : « Améliore ce prompt pour qu’il soit plus exact; garde les quatre étiquettes sans les changer. » Anthropic affirme que son outil ajoute une section de raisonnement étape par étape, met les exemples dans un format uniforme et resserre la structure, et que dans ses propres tests, un prompt amélioré a augmenté l’exactitude de 30 % sur une tâche de classification. Vous révisez ensuite la réécriture. Retirez tout ce qui modifie les étiquettes ou ajoute des règles que vous ne voulez pas.

Façon 3 : lancer un optimiseur

DSPy, un cadre à code source ouvert de Stanford, vous permet de décrire la tâche et une règle de notation, puis compile automatiquement un prompt. En suivant sa documentation :

from typing import Literal
import dspy

dspy.configure(lm=dspy.LM("openai/gpt-4o-mini"))

class SortEmail(dspy.Signature):
    """Étiquette le courriel d’un client pour une boutique en ligne."""
    email: str = dspy.InputField()
    label: Literal["order_status", "return_refund",
                   "product_question", "other"] = dspy.OutputField()

def exact_label(example, prediction, trace=None):
    return example.label == prediction.label

# dev_emails, vos 20 exemples de mise au point, en paires (texte, étiquette)
trainset = [dspy.Example(email=e, label=l).with_inputs("email")
            for e, l in dev_emails]

optimizer = dspy.MIPROv2(metric=exact_label, auto="light", num_threads=8)
sorter = optimizer.compile(dspy.Predict(SortEmail), trainset=trainset)

L’optimiseur MIPROv2 propose de nouvelles consignes et choisit des exemples à inclure, en gardant ce qui obtient le meilleur résultat selon votre mesure. La documentation de DSPy indique qu’il fonctionne le mieux avec des dizaines à des centaines d’exemples; 20, c’est donc le bas de la fourchette. La documentation estime qu’une exécution légère typique coûte environ deux dollars et prend une vingtaine de minutes.

Noter les trois

Exécutez chaque version sur les 40 courriels mis de côté et comptez les étiquettes correctes. Un résultat à titre d’illustration :

VersionCorrectes (sur 40)Temps de mise au pointRemarques
Écrite à la main3410 minA raté plusieurs courriels mixtes
Améliorée par un modèle3615 minPrompt plus clair, plus long
Optimisée (DSPy)371 heure, configuration compriseDifficile à lire; exige du code

Les chiffres sont inventés pour montrer la méthode, mais le portrait est typique : l’aide de la machine donne un gain modeste sur une tâche bien définie, et une seule étiquette erronée dans l’ensemble de test peut inverser le classement. C’est l’ensemble de test qui donne un sens à tout cela. Sans lui, vous comparez des prompts selon l’air convaincant qu’ils ont.

À essayer : prenez un prompt que vous utilisez chaque semaine, rassemblez dix entrées passées avec les réponses que vous vouliez et demandez à un modèle d’améliorer le prompt. Exécutez les deux versions sur les dix et comptez laquelle en réussit le plus.

Faut-il encore écrire ses prompts à la main?

Habituellement, vous écrivez la première version, et les machines aident pour les suivantes. L’ébauche écrite à la main est l’endroit où entre votre connaissance de la tâche : les catégories, les exceptions, la règle pour départager. Les outils d’amélioration et les optimiseurs sont bons pour la formulation et la structure, mais ils ne peuvent pas inventer des règles d’affaires qu’on ne leur a jamais données. Anthropic présente son outil dans le même esprit : vous dites ce qui fonctionne et ce qui ne fonctionne pas, et il révise de nouveau.

Quels prompts vaut-il la peine de rédiger vous-même?

Écrivez à la main toute demande ponctuelle, parce que décrire ce que vous voulez est plus rapide que de mettre des tests en place. Écrivez aussi à la main tout prompt dont les règles font appel au jugement, comme la façon de répondre à un client mécontent ou ce qui compte comme confidentiel, parce que ces règles viennent de vous et que vous devez pouvoir les relire et les expliquer plus tard.

Les prompts qui tournent souvent sur des entrées semblables sont les meilleurs candidats à l’aide de la machine : tri, extraction, résumés dans un format fixe, consignes à l’intérieur d’un agent. Là, quelques points de pourcentage d’exactitude s’additionnent, et vous pouvez construire l’ensemble de test qui vous dira si le changement était réel. Gardez votre version écrite à la main comme point de référence, et n’acceptez un prompt écrit par la machine que s’il bat ce point de référence sur des exemples qu’il n’a jamais vus.

Sources

  1. Improve your prompts in the developer console — Anthropic, 14 novembre 2024
  2. DSPy documentation home page (docs/docs/index.md, commit 909b3e7) — Stanford NLP / DSPy on GitHub, 25 avril 2025
  3. Large Language Models Are Human-Level Prompt Engineers — arXiv (Zhou et al.), 3 novembre 2022

Recevez gratuitement le Guide de l’intelligence artificielle

Abonnez-vous à l’infolettre hebdomadaire et recevez le guide gratuit : ce qui a changé en IA cette semaine, une leçon, un prompt à essayer. Désabonnement en un clic.

Ce que nous faisons de votre adresse

Retour en haut

Affichage

Vos choix sont enregistrés dans ce navigateur seulement. Aucune donnée n’est transmise.

Taille du texte
100 %
Couleurs
Lecture
Autres réglages
Déclaration d’accessibilité