Each language version is independently generated for its own context, not a direct translation.
🕵️♂️ Le Problème : L'Ombre des Décisions
Imaginez que vous construisez une maison. À la fin, vous avez les murs, le toit et les fenêtres. C'est le code de l'ordinateur.
Mais imaginez que vous n'avez laissé aucune trace de pourquoi vous avez fait ces choix.
- Pourquoi avez-vous mis la cuisine à gauche et pas à droite ?
- Pourquoi avez-vous choisi ce type de bois ?
- Avez-vous envisagé de mettre une piscine, mais l'avez-vous rejeté parce que le terrain était trop humide ?
Tout ce raisonnement, ces alternatives rejetées et ces contraintes, a disparu. L'auteur du papier appelle cela l'Ombre de la Décision (Decision Shadow).
Aujourd'hui, quand un développeur (humain ou robot) modifie un logiciel, il enregistre seulement le résultat final (le "diff"). Il perd tout le contexte. C'est comme si un futur architecte arrivait dans votre maison, voyait la cuisine, mais ne savait pas pourquoi elle est là. Il risque de faire des erreurs ou de refaire des erreurs que vous aviez déjà évitées il y a 5 ans.
🤖 Pourquoi c'est urgent ?
Aujourd'hui, les Intelligences Artificielles (IA) écrivent et lisent de plus en plus de code.
- Les IA lisent le code : Elles essaient de comprendre ce qu'il faut modifier. Mais si elles ne voient que les murs sans savoir pourquoi ils sont là, elles sont perdues.
- Les IA écrivent le code : Quand une IA écrit du code, elle résume souvent ce qu'elle a fait, mais elle ne garde pas le "pourquoi". Le problème s'aggrave : plus le code grandit, plus l'histoire (le savoir) disparaît.
💡 La Solution : "Lore" (La Légende)
L'auteur, Ivan Stetsenko, propose une idée géniale : n'achetez pas de nouveaux outils compliqués. Utilisez ce que vous avez déjà.
Actuellement, les développeurs utilisent Git (un outil pour sauvegarder les versions du code). À chaque sauvegarde, ils écrivent un petit message (un "commit message"). Aujourd'hui, ces messages disent souvent : "Correction du bug" ou "Ajout de la fonction X". C'est très ennuyeux et peu utile pour une IA.
Lore propose de transformer ces petits messages en cartes au trésor structurées.
L'analogie du "Journal de Bord"
Imaginez que chaque fois qu'une IA ou un humain modifie le code, il doit remplir un petit formulaire spécial dans son journal de bord, juste avant de le signer. Ce formulaire ne décrit pas seulement ce qui a changé, mais le contexte de la décision.
Le papier utilise une fonctionnalité existante de Git appelée "Trailers" (des étiquettes en bas du message) pour ajouter ces informations de manière automatique et lisible par les machines.
Voici ce que ce formulaire contient (avec des analogies) :
- Les Contraintes (Constraint) : "Je ne pouvais pas utiliser la porte arrière car elle est bloquée par un mur." (C'est une règle qui doit être respectée plus tard).
- Les Rejetés (Rejected) : "J'ai pensé à utiliser la fenêtre, mais c'était trop dangereux." (Pour que l'IA ne réessaie pas la même erreur dans 6 mois).
- La Confiance (Confidence) : "Je suis sûr à 100% de ce choix" ou "C'est un peu un pari, surveillez ça."
- Les Instructions (Directive) : "Si vous changez ça dans le futur, faites attention à ne pas casser le pont." (Un message du passé vers le futur).
🛠️ Comment ça marche en pratique ?
L'avantage énorme de Lore, c'est qu'il ne demande aucune nouvelle infrastructure.
- Pas de base de données géante.
- Pas de serveur central.
- Pas de logiciel coûteux à installer.
Tout est déjà là, dans l'historique de votre projet.
- Pour les humains : C'est un simple texte dans l'historique.
- Pour les IA : Il existe un petit outil en ligne de commande (un "CLI") qui permet de poser des questions à l'historique.
- L'IA demande : "Quelles sont les règles pour modifier ce fichier ?"
- L'outil Lore répond : "Voici les contraintes, voici ce qui a été rejeté, voici les avertissements."
🆚 Pourquoi pas d'autres solutions ?
Le papier compare Lore à d'autres idées :
- Les ADRs (Architectural Decision Records) : Ce sont de longs documents séparés. Le problème ? Ils se déconnectent du code. Si le code change mais pas le document, le document devient faux. Lore, lui, est collé au code comme une étiquette sur un colis. Impossible de les séparer.
- Les "Jumeaux Numériques" : Des systèmes ultra-complexes et lourds. Lore est léger comme une plume.
- Les commentaires dans le code : Les commentaires sont souvent faux ou oubliés. Lore est un historique immuable et vérifié.
🚀 En résumé
Lore, c'est comme donner une mémoire à long terme à vos projets informatiques.
Au lieu de laisser les IA et les humains deviner pourquoi le code est fait d'une certaine manière, on leur laisse un journal de bord structuré à chaque étape. C'est simple, gratuit (car basé sur Git), et cela permet aux intelligences artificielles de ne pas répéter les mêmes erreurs, de comprendre les pièges évités, et de construire sur des bases solides.
C'est passer d'un code qui dit "Voici ce que je fais" à un code qui dit "Voici ce que je fais, pourquoi je le fais, et ce que vous ne devez surtout pas faire".
Recevez des articles comme celui-ci dans votre boîte mail
Digests quotidiens ou hebdomadaires personnalisés selon vos intérêts. Résumés Gist ou techniques, dans votre langue.