freedzhost.cloud

La doctrine déterministe : le modèle propose, le code décide

Niveau LectureTemps estimé 20 minUn mot inconnu ? Lexique

Posez deux fois la même question à un modèle de langage et vous aurez peut-être deux réponses. C'est un cadeau quand vous voulez des idées, une formulation, un plan. C'est une catastrophe quand vous voulez un verdict : ce test passe-t-il, ce fichier est-il valide, cette commande a-t-elle le droit de tourner. Toute notre pile repose sur une séparation : le modèle propose, le code décide. Tout ce qui n'a qu'une bonne réponse est fait par un programme qui répond pareil à chaque fois.

Comment ces chiffres ont été obtenus. Mesurés sur nos propres machines (voir le protocole), en général en un seul passage, vitesses relevées par le serveur lui-même ; nous ne publions pas les journaux bruts. Ce sont des ordres de grandeur sur ce matériel, pas des garanties sur le vôtre. Les chiffres extérieurs sont accompagnés de leur source.

Ce que vous y gagnez. De petits modèles locaux qui livrent du vrai travail, parce qu'on ne leur demande jamais ce que le code fait mieux. Des verdicts qu'on peut rejouer, auditer et croire. Et une facture qui baisse, parce qu'un outil déterministe ne coûte aucune réflexion et presque pas de contexte.

1. Deux sortes de questions

Plusieurs bonnes réponses : un modèleUne seule bonne réponse : du code
découper un projet en storiesce découpage respecte-t-il le schéma ?
écrire la liste des plans d'un filmchaque plan utilise-t-il un cadrage de la liste ?
choisir l'outil qui convient à une demandeles arguments de cet appel sont-ils valides ?
formuler la réponse à un clientla réponse contient-elle un identifiant secret ?
proposer un correctifles tests passent-ils maintenant ?

La colonne de gauche est créative : un modèle est le bon outil. Celle de droite est une vérification : un modèle est le mauvais outil, il répondrait « probablement » là où il faut « oui » ou « non ».

2. La doctrine, couche par couche

3. Les chiffres qui nous ont convaincus

4. Un bon outil vaut souvent mieux qu'une skill

Une skill apprend une procédure au modèle ; le modèle doit encore la lire, la comprendre et l'appliquer, avec sa variabilité habituelle. Un outil est la procédure : le modèle n'a qu'à l'appeler.

SkillOutil
coût au repossa descriptionsa description (120 caractères au plus ici)
coût à l'usagetoute la procédure, lue dans le contexteun appel, une réponse JSON
résultataussi bon que la lecture du modèlele même à chaque fois, testable de l'extérieur
marche avec un petit modèleparfoisoui : il n'a qu'à choisir et remplir les arguments

Donc : quand une procédure a un seul bon résultat, écrivez l'outil. Gardez les skills pour ce qui demande du jugement : formulation, conception, découpage, relecture. Plus votre modèle est petit, plus ça compte.

5. Un bug devient du code, jamais une note

Une règle écrite dans un guide le matin a été enfreinte le soir par la personne qui l'avait écrite. Les notes se lisent et s'oublient ; le code s'exécute à chaque fois. Quand quelque chose échoue une fois, le correctif est une vérification, un verrou, un refus, un test, idéalement un test que vous avez vu passer au rouge (voir les tests validés par mutation). Ce qui ne peut pas devenir du code devient une entrée de journal qu'on peut chercher.

Pièges

Un score de confiance mesure à quel point un modèle est sûr de lui, jamais s'il a raison. Deux options à moins de 0,05 l'une de l'autre sont en concurrence : demandez, ne choisissez pas en silence.

Ne pliez pas le contrat par commodité. Un « outil » qui appelle un modèle n'est pas déterministe ; dites-le dans son nom, sinon toutes les autres garanties valent moins.

Utile ? Dites-nous ce qu'il faut mesurer ensuite.