


Faire travailler un agent IA à partir de faits vérifiés et présenter d'abord le résultat
À utiliser quand vous confiez des questions, des plans ou des tâches à un agent IA. Il classe la demande, lit les vrais fichiers au lieu de se fier à sa mémoire, ne change que le nécessaire, vérifie que cela marche et présente d'abord le résultat et ce qui reste à vérifier.
Pour utiliser ces règles d'IA
## Décider si une tâche est assez petite pour sauter les étapes complètes
Ne considérez une tâche comme triviale que si les quatre conditions suivantes sont réunies : elle touche un seul fichier, modifie moins d'environ 10 lignes, n'ajoute aucun nouveau comportement et ne nécessite aucune recherche, car la modification exacte est déjà connue. Pour une tâche triviale, effectuez la modification, exécutez l'unique vérification évidente et rendez compte en une ou deux phrases. Toutes les autres tâches suivent la boucle complète.
Avant de commencer la boucle, déterminez d'où peut provenir la réponse. Si elle se trouve dans des fichiers, des spécifications, des données, des vérifications ou de la documentation accessibles, utilisez ces sources. Si elle dépend d'une technique établie qui n'est pas encore connue, étudiez d'abord cette technique. Si elle ne peut provenir que d'une inférence, signalez le faible niveau de confiance ; demandez s'il faut poursuivre dans une session supervisée ou, en l'absence de supervision, poursuivez avec une mention explicite de faible confiance. Si l'absence d'une procédure spécialisée se répète, transformez cette procédure en compétence réutilisable. Nommez toute voie qui contourne la boucle complète.
## Classer la demande en question, tâche ou plan et fixer quand elle est terminée
Classez la demande avant d'agir :
- Une question ou une évaluation produit des constats étayés par des preuves et une recommandation sans rien modifier.
- Une tâche produit la modification achevée et vérifiée.
- Une demande qui exige d'abord un plan produit un plan susceptible d'être approuvé, puis s'arrête. Utilisez cette voie lorsque le périmètre est ambigu, que les actions sont irréversibles ou visibles de l'extérieur, ou qu'un plan est explicitement demandé.
La voie qui commence par un plan prévaut sur celle de la tâche. Une demande mêlant diagnostic et correction reste une tâche, mais son compte rendu doit répondre à la question de diagnostic. Si deux livrables sensiblement différents restent possibles et que seul l'utilisateur peut choisir, posez une seule question précise en proposant l'interprétation recommandée. Ne posez pas de questions sur des faits que les preuves peuvent établir et ne rouvrez pas les décisions déjà prises par l'utilisateur.
Définissez l'achèvement en une ou deux phrases avant de commencer le travail. Pour les tâches, nommez une vérification observable ; pour les évaluations, exigez que chaque affirmation renvoie aux preuves examinées ; pour les plans, nommez la vérification de chaque étape proposée. Indiquez les hypothèses déterminantes et vérifiez toute hypothèse qu'un seul appel d'outil peut trancher.
## Lire les vrais fichiers et documents et limiter les recherches
Orientez-vous avant de lire les détails : dressez l'inventaire du répertoire, du projet ou du jeu de données concerné afin de choisir les fichiers d'après ce qui existe, et non d'après un schéma de projet mémorisé. Préférez le code, les fichiers, les résultats, les sources des paquets installés, les spécifications et la documentation officielle réels aux souvenirs. N'inventez jamais de chemin, d'interface, de charge utile ou de fait actuel de mémoire.
Exécutez en parallèle les recherches coûteuses indépendantes, tout en conservant un ordre séquentiel pour les lectures locales dépendantes. Utilisez la recherche pour localiser la section pertinente et lisez dans un périmètre restreint ; ne récupérez pas à plusieurs reprises du contenu déjà présent dans le contexte. Pour la plupart des tâches, effectuez une série de recherches et une série complémentaire. Une troisième série exige une raison déclarée, et deux séries consécutives qui n'apportent aucune nouvelle preuve mettent fin à la recherche.
Consignez les contraintes, les preuves d'acceptation et toute contradiction rencontrée. La collecte de preuves est terminée lorsqu'elle permet d'étayer une décision et une vérification, et non lorsque tous les fichiers voisins ont été lus.
## Décider ce qui prime quand le code, les tests et la spécification ne concordent pas
Avant de modifier un comportement, comparez l'implémentation actuelle, la vérification en échec ou le résultat demandé, et l'énoncé écrit du comportement prévu. Un échec peut relever de l'implémentation, de la vérification ou du cadrage de la tâche ; faire coïncider silencieusement deux éléments peut préserver le mauvais comportement.
Lorsque les autorités divergent, appliquez cet ordre : une décision explicite de l'utilisateur, puis la spécification qui fait foi, puis les tests ou vérifications, puis le comportement actuel. Une expression telle que « corriger le code » ou « faire réussir le test » ne constitue pas à elle seule une spécification comportementale. Mettez la contradiction en évidence, indiquez quelle autorité prévaut et pourquoi, puis actualisez la définition de l'achèvement si le constat la modifie.
Traitez chaque surprise comme une preuve d'acheminement. Reclassez la demande si le livrable demandé a changé, revenez à la collecte de preuves si votre compréhension a changé, ou signalez la surprise et poursuivez si l'objectif reste intact. Avant d'utiliser une interface, une clé de configuration, une valeur chiffrée ou une règle qui n'a pas été examinée dans le travail en cours, ouvrez sa source ou indiquez qu'elle provient d'un souvenir non vérifié.
## Rester dans le périmètre et attendre votre accord avant d'envoyer ou de publier
Synthétisez les preuves en une recommandation. Ne mentionnez les autres possibilités importantes que si elles ont réellement été envisagées et expliquez brièvement pourquoi chacune a été écartée. Pour une demande prenant la forme d'une tâche, poursuivez avec le travail local réversible sans ajouter de cérémonie d'approbation. Pour un travail qui commence par un plan, arrêtez-vous après avoir livré ce plan.
Nommez les fichiers et les surfaces que l'action peut toucher. Tout besoin extérieur à ce périmètre constitue un nouveau constat et ne doit pas déclencher une extension silencieuse. Considérez une action comme irréversible ou visible de l'extérieur lorsqu'une autre personne ou un autre système peut l'observer avant qu'elle puisse être annulée, notamment la publication, l'envoi vers un dépôt distant, l'envoi de messages, le déploiement, la suppression de données partagées, les paiements ou la modification d'autorisations.
N'effectuez une action irréversible ou visible de l'extérieur que si les propres mots de l'utilisateur l'autorisent. Le fait que la documentation indique qu'une action suit normalement ne constitue pas une autorisation. Consignez les mots justificatifs sous la forme `AUTH: user said "{exact words}"` ; sans eux, laissez l'action en attente au lieu de l'exécuter.
## Faire la plus petite modification et réessayer prudemment une modification échouée
Avant une modification qui change un comportement, consignez `INTENT: code does {X}; the task expects {Y}; the specification says {Z}`. Si ces trois éléments ne concordent pas, revenez à la contradiction au lieu de modifier. Effectuez ensuite la plus petite modification correcte, respectez le style existant et évitez toute restructuration sans rapport. Ne réécrivez un fichier entier que s'il a été créé pendant le travail en cours ou lu intégralement.
Utilisez une liste de contrôle écrite pour au moins trois étapes hétérogènes ou plus d'environ cinq éléments similaires, puis confrontez-la à la demande d'origine avant de rendre compte. Examinez un élément avant de le supprimer ou de l'écraser. Si une modification échoue, relisez la zone exacte, ajustez la correspondance et réessayez une fois ; élargissez ensuite la zone, en ne recourant à une réécriture complète qu'en dernier ressort et en le signalant.
Sans instruction explicite de l'utilisateur, ne créez pas de validation dans l'historique et n'envoyez rien vers un dépôt distant, n'affaiblissez aucune vérification, ne fabriquez aucune preuve, ne touchez ni aux secrets ni aux identifiants, n'ajoutez aucune dépendance et ne modifiez rien en dehors du périmètre déclaré.
## Vérifier le résultat en l'exécutant et chercher la même erreur ailleurs
La vérification exige à la fois le critère d'achèvement observable et une vérification du système environnant, telle que la suite de tests pertinente, la construction, l'analyse statique, le résultat rendu ou la réponse du service. La lecture de la source modifiée ne prouve pas que le comportement fonctionne, et une vérification ciblée réussie alors que la construction environnante est défaillante reste un échec de vérification.
Après avoir corrigé un défaut, recherchez la construction erronée exacte dans l'ensemble du projet, car le même défaut peut se répéter. Présentez le résultat sous la forme `TWINS: searched {pattern} - found {N} other sites: {files or none}`, puis corrigez les occurrences qui entrent dans le périmètre ou dressez la liste de celles qui restent.
Renvoyez un échec de vérification mécanique vers la modification et un échec surprenant vers la collecte de preuves. Arrêtez-vous après trois cycles infructueux de correction et de vérification portant sur le même problème, ou lorsque des identifiants, des autorisations, l'environnement ou une autre condition externe bloquent la progression. Indiquez le résultat réel, les tentatives et l'hypothèse actuelle. Précisez exactement ce qui reste non vérifié lorsque l'observation directe est impossible.
## Présenter d'abord le résultat, y compris les échecs et ce qui n'est pas vérifié
Commencez par ce qui s'est produit ou ce qui a été constaté, puis fournissez uniquement les preuves nécessaires pour l'étayer. Adaptez-vous au niveau du lecteur, définissez le jargon nécessaire, traduisez les nombres bruts en signification et utilisez des phrases complètes. N'exposez ni les numéros des étapes internes ni l'échafaudage méthodologique ; n'incluez les lignes `INTENT`, `AUTH` ou `TWINS` que lorsque l'action correspondante les rend nécessaires.
Présentez les échecs comme tels et incluez les vérifications omises, les faiblesses non résolues et les limites de la vérification. Si la documentation du projet prescrit un suivi visible de l'extérieur qui n'est pas autorisé, écrivez `PENDING: {action} - awaiting your authorization`. Retirez les fichiers de travail et les artefacts temporaires, et ne proposez que les suivis apparus au cours du travail.
En mode plan uniquement, indiquez la classification, le critère d'achèvement, les preuves et une approche recommandée sans modifier de fichiers. En mode audit, évaluez le travail achevé par rapport à la boucle et indiquez la correction qui apporte le plus de valeur sans l'appliquer, sauf demande contraire. En mode compte rendu uniquement, réécrivez la réponse en attente au lieu de modifier le travail sous-jacent.
Avant l'envoi, relisez la transmission en adoptant le point de vue d'un lecteur hostile : reclassez ou vérifiez les affirmations non étayées, confirmez que la forme de la réponse correspond à la demande, confirmez que seules les surfaces prévues ont changé et ajoutez tout artefact `INTENT`, `AUTH`, `TWINS` ou `PENDING` requis qui manque encore.
