Savoir si un prompt est bon ne se décide pas à la lecture du texte. Savoir s'il se contredit, si. Ces vérifications sont délibérément mécaniques : une instruction de produire du JSON sans décrire ce JSON, une instruction de longueur sans longueur, un marqueur encore vide, une formule à la fois exigée dans une phrase et interdite dans une autre. Chaque constat pointe l'endroit d'où il vient, car un résultat de linter qu'on ne peut pas localiser n'est qu'une opinion. Certaines règles relèvent du coût plutôt que de la justesse : les majuscules soutenues et les supplications ajoutent des tokens à chaque requête sans changer ce qui revient.
Fonctionnalités
Contradictions, où la même chose est exigée et écartée
Demandes de JSON sans aucune forme décrite
Instructions de longueur sans aucun nombre
Marqueurs de modèle non remplis, signalés en erreurs
Balises de style XML ouvertes et jamais fermées
Instructions de ne pas raisonner, qui se retournent souvent
Chaque constat pointe le texte exact repéré
Un score qui pèse les erreurs au-dessus des notes
Comment utiliser Linter de prompt système
Collez le prompt système
Lisez les constats, erreurs d’abord
Corrigez les contradictions : ce sont elles qui changent le comportement
Revérifiez au fil de vos modifications
Exemple
Entrée
Always include the order number. Never include the order number if unverified.
Sortie
Possible contradiction: “the order number” is both asked for and ruled out
Un absolu plus une exception conditionnelle : la forme habituelle.
Erreurs courantes et dépannage
Il signale une contradiction volontaire. — Une règle avec exception se lit souvent ainsi. Si l’exception est délibérée, formulez aussi la première instruction de façon conditionnelle pour rendre la priorité explicite.
Il se plaint du JSON alors que je décris la forme. — La vérification cherche une clé visible ou un schéma. Si la vôtre est en prose, montrer un petit exemple est de toute façon plus clair.
Il signale « toujours » et « jamais ». — En simples notes. Les absolus sont faciles à écrire et difficiles à tenir, et ils sont la source habituelle des contradictions plus loin.
Un long prompt est signalé. — La longueur n’est pas une erreur. La note existe parce que le milieu d’un long prompt est l’endroit où les instructions se perdent : les non négociables vont au début ou à la fin.
Foire aux questions
Tout corriger rendra-t-il le prompt bon ?
Non. Ce sont des vérifications mécaniques : contradictions, formats manquants, marqueurs morts. Savoir si les instructions sont les bonnes est un jugement sur votre tâche qu’aucun linter ne porte.
Pourquoi « ne réfléchis pas » est-il signalé ?
Les instructions de sauter le raisonnement dégradent la sortie plutôt qu’elles ne la raccourcissent, et sur les modèles actuels elles peuvent pousser le raisonnement dans la réponse visible au lieu de le supprimer. Demander une réponse plus courte est l’instruction qui marche.
Pourquoi les majuscules importent-elles ?
Les majuscules soutenues ne portent pas l’emphase qu’elles portent pour un lecteur humain, et coûtent plus de tokens que les mêmes mots en minuscules. C’est une note, pas une erreur.
Comment marche la détection de contradictions ?
Elle cherche le même syntagme nominal apparaissant à la fois dans une exigence et dans une interdiction, y compris dans une version nuancée. Elle est délibérément étroite : elle rate des conflits subtils plutôt que de vous noyer de faux positifs.
Est-ce que cela marche sur n’importe quel prompt ?
C’est écrit pour du texte en forme d’instruction : prompts système, descriptions d’outils, corps de skill. Le passer sur de la prose ordinaire produira des notes qui ne veulent pas dire grand-chose.