Tests de prompts

Tests de prompts

Traitez les prompts comme du code source. Une seule commande vérifie chaque prompt d’un dépôt par rapport à un seuil de qualité, un budget de tokens et un niveau de gravité, et fait échouer le build quand l’un d’eux est cassé.

  • CLI
  • Hors ligne
  • À compiler depuis les sources

Ce qu’il fait

Un prompt qui fonctionnait le mois dernier peut être cassé par une modification bien intentionnée : un paragraphe dupliqué, un format de sortie supprimé, une clé collée. Les tests de prompts le détectent au moment de la revue plutôt qu’en production.

La commande promptflow check lit les fichiers de prompts que vous lui indiquez et échoue lorsqu’un fichier obtient une note inférieure à votre minimum, utilise plus de tokens que votre maximum ou présente un constat égal ou supérieur à la gravité choisie. Le seuil par défaut est critical : un identifiant divulgué fait donc toujours échouer. La configuration se trouve dans un fichier .promptflowrc.json à la racine du dépôt.

Ce sont des tests statiques. Ils examinent le texte du prompt et n’appellent jamais de modèle, d’où leur rapidité, leur gratuité et leur résultat identique à chaque exécution. Ils ne remplacent pas les tests de sortie avec un modèle ; ils se placent en amont et éliminent les échecs qu’on peut trouver sans modèle. Les tests fondés sur un modèle sont prévus et ne sont pas disponibles aujourd’hui.

Exemple concret

Une régression détectée par compare

Deux versions du même prompt, comparées par le moteur lors de la construction de cette page. La modification semblait anodine et a supprimé le format de sortie. Les constats du moteur et les prompts générés sont affichés en anglais, tels que le moteur et l’API les renvoient.

Version 1

100/100 · 46 tokens
Summarize the incident report below for the on-call engineering team in 5 bullet points. Include the root cause, the customer impact, and the fix. Return a markdown list.

<report>
{{report}}
</report>

Version 2

84/100 · 36 tokens
Summarize the incident report below for the on-call engineering team. Include the root cause, the customer impact, the fix, and some other details if relevant.

{{report}}
Qualité
-16
Tokens
-10
Nouveaux problèmes
3
  • avertissementTemplate variable not delimited: {{report}}.
  • infoNo output format is specified.
  • infoNo length limit for generated content.

Calculé par le moteur lors de la construction de cette page. Avec la configuration ci-dessous, la version 2 passe le contrôle avec une note minimale de 70.

.promptflowrc.json
{
  "include": ["prompts/**/*.md"],
  "model": "gpt-4.1",
  "minScore": 70,
  "maxTokens": 2000,
  "failOn": "critical"
}
shell
promptflow check
promptflow compare prompts/summary.v1.md prompts/summary.v2.md

Principaux avantages

Fonctionnalités

Pour qui

Cas d’usage

Questions fréquentes

Les tests de prompts exécutent-ils mes prompts avec un modèle ?

Non. Les contrôles sont statiques : ils analysent le texte du prompt avec des règles déterministes. L’exécution des prompts avec un modèle et la notation des sorties sont prévues et ne sont pas disponibles aujourd’hui.

La CLI est-elle sur npm ?

Pas encore. En attendant la publication du paquet, compilez la CLI depuis une copie du dépôt. La documentation de la CLI donne les commandes.

Quels types de fichiers peut-elle vérifier ?

N’importe quel fichier texte. Faites pointer les globs d’inclusion vers les fichiers qui contiennent vos prompts, comme des fichiers Markdown ou .prompt.txt.

Puis-je ignorer une règle ?

Oui. Listez les codes de règle sous ignore dans .promptflowrc.json pour les ignorer dans tout le dépôt.

Tous les produits utilisent le même moteur : ils se combinent sans surprise.

La technique qui se cache derrière

Des guides du centre de connaissances sur l’ingénierie de prompts qui expliquent les idées appliquées par ce produit.

Essayez-le sur votre propre prompt.

Gratuit, déterministe et confidentiel. Sans inscription.