Un site d’actualités locales utilise depuis un an et demi un assistant de rédaction interne fondé sur un prompt système fixe, censé garantir un ton neutre, factuel et local à chaque article généré. Après plusieurs mois d’usage sans y prêter une attention particulière, l’équipe éditoriale a remarqué que le ton des textes produits s’était progressivement éloigné de la charte initiale, glissant vers un style plus emphatique que souhaité.
Le symptôme observé
Aucune modification n’avait été apportée au prompt système côté client. Pourtant, en comparant des textes générés récemment à des textes générés un an plus tôt sur des sujets similaires, l’équipe a constaté un usage plus fréquent de superlatifs et de formules dramatisantes, un ton qui contredisait la charte de neutralité affichée du média. La cause la plus probable : une mise à jour du modèle sous-jacent, effectuée côté fournisseur sans notification directe côté client, avait modifié le comportement par défaut à consigne identique.
Le correctif : versionner le prompt comme du code
Nous avons proposé de traiter le prompt système exactement comme un fichier de configuration versionné, avec un historique daté de chaque modification, même quand cette modification consiste à ajuster une seule phrase pour recadrer un comportement observé.
// prompt-systeme-v5.php
return array(
'version' => 5,
'date' => '2024-11-04',
'texte' => "Tu rédiges des articles d'actualité locale. Ton neutre "
. "et factuel STRICT, sans superlatif, sans dramatisation. "
. "Cite uniquement des faits vérifiables. Style journalistique "
. "sobre, phrases courtes.",
'notes' => 'Renforcement explicite contre la dérive vers le superlatif observée en octobre.',
);

Un jeu de tests de non-régression sur le ton
Pour détecter une dérive avant qu’elle ne soit visible à l’œil nu sur des mois de publication, nous avons constitué un petit jeu de dix sujets de test fixes, régénérés à chaque changement de version du prompt ou à chaque annonce de mise à jour majeure côté fournisseur du modèle. Un script compare automatiquement la fréquence de certains mots signalants (superlatifs, points d’exclamation, adjectifs à forte charge émotionnelle) entre l’ancienne et la nouvelle génération.
function detecter_derangement_style( $texte ) {
$marqueurs = array( 'incroyable', 'exceptionnel', 'jamais vu', '!!' );
$compte = 0;
foreach ( $marqueurs as $mot ) {
$compte += substr_count( strtolower( $texte ), $mot );
}
return $compte;
}
- Génération des dix textes de test avec le prompt en cours
- Calcul du score de marqueurs stylistiques pour chaque texte
- Comparaison à la moyenne enregistrée lors de la validation de la version précédente
- Alerte manuelle si le score dépasse un seuil défini, avant toute généralisation en production
Le résultat sur dix-huit mois
Depuis la mise en place de ce suivi, cinq versions du prompt système se sont succédé, chacune documentée avec la raison précise de son ajustement. Deux de ces versions ont directement fait suite à une dérive détectée par le jeu de tests, avant qu’elle ne devienne perceptible dans les articles réellement publiés sur le site.
Un prompt système non versionné et jamais retesté finit par dériver silencieusement, au même rythme que les mises à jour du modèle qui l’exécute, sans que personne ne le décide explicitement.
Un bénéfice secondaire : la traçabilité en cas de plainte
Ce versionnage a rendu un service inattendu quelques mois plus tard, lorsqu’un lecteur s’est plaint qu’un article ancien lui semblait rédigé sur un ton inhabituel pour le site. L’équipe a pu retrouver, grâce à l’historique conservé, la version exacte du prompt système en vigueur au moment de la génération de cet article précis, et confirmer qu’il correspondait bien à la charte alors en place, plutôt que de devoir deviner rétrospectivement ce qui avait pu se produire.
En résumé
Le comportement d’un LLM à prompt identique n’est pas garanti stable dans le temps, notamment lorsque le fournisseur fait évoluer son modèle sans en informer directement chaque client. Versionner le prompt système comme un élément de code à part entière, et le retester régulièrement sur un jeu de sujets fixes, permet de détecter une dérive de ton avant qu’elle n’affecte durablement la charte éditoriale d’un site.