Guides
Pourquoi l'IA modifie-t-elle le mauvais fichier dans mon projet ?
Publié:
Vous demandez à votre assistant IA de corriger le formulaire de connexion, et il modifie avec aplomb un fichier qui n’a rien à voir avec la connexion. Ou pire : il cite un fichier qui n’existe pas. C’est frustrant, et on a le sentiment que l’IA fait n’importe quoi. En réalité, non. L’IA modifie le mauvais fichier parce qu’elle ne voit pas votre projet dans son ensemble et qu’elle devine où se trouvent les choses. Bonne nouvelle : la solution est simple, et ce n’est pas « écrire un meilleur prompt ». C’est donner à l’IA une carte de votre code. Voici ce qui se passe vraiment.
L’IA travaille à l’aveugle
Un assistant IA ne garde pas toute votre base de code en tête. Il travaille à partir d’une fenêtre de contexte limitée, la portion de votre projet qu’il peut voir à un instant donné. Sur un petit projet, cette portion couvre parfois la totalité. Sur un vrai projet de plusieurs centaines de fichiers, ce n’est qu’une fraction. Alors quand vous dites « corrige le formulaire de connexion », l’IA doit deviner de quel fichier il s’agit, à partir des noms et des schémas déjà croisés.
La plupart du temps, elle devine juste. Mais la devinette passe mal à l’échelle : plus votre projet grossit et sort des sentiers battus, plus elle attrape souvent un mauvais fichier d’apparence crédible, ou invente un nom de fichier vraisemblable qui, tout bonnement, n’existe pas. Ce second cas est une hallucination : pas un mensonge, juste un trou comblé avec assurance là où elle ne voit rien.
Pourquoi « donne-lui plus de contexte » se retourne contre vous
Le réflexe, c’est de balancer toute la base de code à l’IA : une fenêtre plus grande devrait régler ça, non ? En général, non. Un énorme contexte rempli des mauvais fichiers ne vaut pas mieux qu’un petit. Ce qui compte, ce n’est pas la quantité de code que l’IA peut voir, mais que le bon code soit sous ses yeux. Entassez-y tout, et le fichier utile se retrouve noyé dans le bruit, plus dur à trouver, pas plus facile. La taille brute est le mauvais levier.
Prenez l’image d’un itinéraire. Tendre à quelqu’un tous les plans de rue du pays ne l’aide pas à trouver une adresse. Un plan net de ce quartier-là, si.
La vraie solution : donner une carte à l’IA
Ce qui marche vraiment, c’est une carte du code : un résumé compact de la structure de votre projet, quels fichiers et fonctions existent et comment ils se relient les uns aux autres. Avec cette carte, l’IA cesse de deviner. Au lieu de « ce fichier s’appelle sans doute quelque chose comme login », elle voit « la logique de connexion est ici, et elle appelle ces deux éléments », et file droit au bon endroit.
Cette idée porte plusieurs noms et s’incarne dans plusieurs outils :
- Les repo maps, comme celle intégrée à Aider, qui classe les parties les plus importantes de votre code et en présente un plan structuré à l’IA.
- Les knowledge graphs de code, comme graphify, qui construisent une carte interrogeable de tout votre projet (fichiers, fonctions et relations entre eux) pour que l’assistant puisse chercher où se trouve une chose au lieu de la prédire.
Les deux font la même chose, l’essentiel : ils remplacent la devinette par la connaissance. Et comme l’IA lit une carte petite et fidèle plutôt que de parcourir des piles de fichiers, les modifications de mauvais fichiers et les références inventées chutent fortement.
À quoi cela ressemble en pratique
Une fois votre assistant muni d’une carte de la base de code, l’expérience change :
- « Corrige le formulaire de connexion » tombe sur le vrai code de connexion, du premier coup.
- L’IA cesse de citer des fichiers qui n’existent pas.
- Elle saisit comment une modification à un endroit se répercute ailleurs, parce que la carte montre les connexions.
Vous ne vous battez plus avec l’outil sur de la navigation de base : vous travaillez avec quelque chose qui connaît le terrain. C’est aussi pourquoi cela compte de plus en plus à mesure que votre projet grandit : plus la base de code est grosse, plus une carte surclasse le contexte par force brute.
Mettez votre IA dans de bonnes conditions
Les modifications de mauvais fichiers trahissent en général une IA mal équipée pour votre projet, pas un mauvais outil. Notre outil gratuit IA pour développeurs vous aide à choisir le bon assistant, à l’installer pour votre système d’exploitation et à générer un fichier de règles de départ qui indique à l’IA comment votre projet est organisé, dès la première session. Donnez à votre assistant un socle et une carte, et « pourquoi a-t-il modifié le mauvais fichier ? » cesse d’être une question à se poser.
À lire ensuite
Questions fréquentes
Pourquoi mon assistant IA modifie-t-il le mauvais fichier ? +
Parce qu'il ne voit pas votre projet dans son ensemble et qu'il devine où se trouvent les choses. Un assistant IA travaille à partir d'une fenêtre limitée de votre code : sur un gros projet, il attrape souvent un fichier qui a l'air plausible plutôt que le bon, voire un fichier qui n'existe pas. La solution n'est pas un meilleur prompt, mais une carte fidèle de votre code.
Une fenêtre de contexte plus grande ne règle-t-elle pas le problème ? +
Pas de façon fiable. Un énorme contexte rempli des mauvais fichiers ne vaut pas mieux qu'un petit : ce qui compte, c'est que les bons fichiers soient sous les yeux de l'IA, pas leur nombre. Tout y entasser peut même empirer les choses en noyant le code utile dans le bruit. Une carte ciblée l'emporte sur la taille brute.
Qu'est-ce qu'une carte du code et en quoi aide-t-elle ? +
Une carte du code (ou knowledge graph de code) est un résumé compact de la structure de votre projet : quels fichiers et fonctions existent et comment ils se relient. Avec cette carte, l'IA trouve le bon endroit au lieu de deviner, ce qui réduit nettement les modifications de mauvais fichiers et les références inventées. Des outils comme le repo map d'Aider et graphify la construisent pour vous.
Pourquoi l'IA invente-t-elle parfois des fichiers qui n'existent pas ? +
C'est une hallucination : quand l'IA ne connaît pas vraiment votre organisation, elle prédit un nom de fichier qui paraît probable d'après ce qu'elle a déjà vu, et se trompe. Cela arrive plus souvent sur des bases de code volumineuses ou inhabituelles. Lui donner une vraie carte de votre projet supprime ces approximations.