07 Données et architecture
Limites des LLM et de Copilot
7.9 Limites des LLMs 🧠⚠️
Définition
Un LLM est un modèle de langage capable de générer du texte ou du code à partir d’un contexte.
Mais un LLM ne “comprend” pas le monde comme un humain.
Il prédit des réponses probables à partir de son entraînement et du contexte fourni. Il ne vérifie pas que sa réponse est vraie : il ne peut donc pas garantir qu’elle est correcte, même quand elle est bien écrite.
Limite 1 : Hallucinations 👻
Un LLM peut inventer :
- une API ;
- une fonction ;
- une option CLI ;
- une librairie ;
- un comportement ;
- une explication ;
- une configuration.
Exemple
Copilot propose :
aws enable-super-secure-vpc-mode --autoLa commande semble plausible.
Mais elle peut être inventée.
Bonne réaction :
Vérifier dans la documentation officielle avant utilisation.Limite 2 : Contexte incomplet 🕳️
Si Copilot n’a pas le bon contexte, il répond avec ce qu’il a.
Exemple
Tu demandes :
Fix the payment bug.Sans issue, sans test, sans erreur, sans fichier, Copilot peut deviner.
Meilleur prompt :
Fix the payment bug described in this failing test.
Use PaymentService.ts and RetryPolicy.ts.
Do not change the public API.Limite 3 : Mauvais raisonnement métier 🧾
Copilot peut générer du code qui fonctionne techniquement mais viole une règle métier.
Exemple
Règle métier :
Un utilisateur désactivé ne doit pas recevoir d’email de reset password.Copilot peut ignorer cette règle si elle n’est pas dans le contexte.
Limite 4 : Sécurité insuffisante 🔐
Copilot peut générer :
- requêtes SQL non paramétrées ;
- permissions trop larges ;
- secrets hardcodés ;
- validation d’input faible ;
- stockage de mot de passe non sécurisé.
Limite 5 : Code obsolète 📦
Copilot peut proposer :
- anciennes API ;
- librairies dépréciées ;
- patterns dépassés ;
- syntaxe plus supportée ;
- versions non compatibles.
Limite 6 : Trop grande confiance dans la réponse
Le style d’une réponse IA peut être très confiant.
Mais :
Réponse confiante ≠ réponse correcte.À retenir
Les LLMs sont utiles, mais ils ont besoin de :
contexte + contraintes + validation humaine + tests + review7.10 Limites spécifiques de GitHub Copilot 🧩
Limite 1 : Copilot ne voit pas forcément tout ton projet
Copilot peut utiliser du contexte, mais il ne connaît pas automatiquement :
- toute ton architecture ;
- toutes tes conventions internes ;
- toutes tes règles métier ;
- tous tes secrets ;
- toutes tes dépendances ;
- tous tes incidents ;
- tout ton historique de décisions.
Le contexte a aussi une taille limitée : tout ne tient pas dans une demande. GitHub signale par exemple que, pour une très grande pull request, une partie du contenu peut ne pas tenir dans l’appel, ce qui rend certaines suggestions moins précises. Même logique pour un Space : Copilot ne traite qu’une partie de ce qu’il contient, d’où l’intérêt de choisir ce qu’on lui donne. Enfin, la qualité des suggestions varie selon le langage : elle dépend du volume et de la diversité du code disponible pour l’entraînement.
Limite 2 : Le contexte dépend de la surface utilisée
Copilot dans l’IDE, Copilot Chat sur GitHub.com, Copilot CLI, Copilot Code Review et Copilot cloud agent n’utilisent pas forcément exactement le même contexte.
Exemple :
IDE inline suggestion → contexte local autour du curseur
Copilot Chat IDE → fichiers ouverts, sélection, conversation
Copilot CLI → dossier trusted et interaction terminal
GitHub.com → repo, PR, issue selon permissions
Cloud agent → issue/repo/branche/semantic search selon configurationGitHub précise par exemple que pendant une session Copilot CLI, Copilot peut tenter de lire, modifier et exécuter des fichiers dans le dossier courant et ses sous-dossiers si le dossier est trusted. (docs.github.com)
Limite 3 : Les features peuvent dépendre des policies
Une fonctionnalité peut être indisponible parce que :
- le plan ne l’inclut pas ;
- l’admin l’a désactivée ;
- l’organisation l’interdit ;
- l’enterprise impose une policy ;
- le contexte ne permet pas son usage.
Limite 4 : Content exclusions
Les content exclusions peuvent empêcher certains contenus d’être utilisés par Copilot.
GitHub documente la configuration des content exclusions au niveau repository, organisation ou enterprise. (docs.github.com)
Mais il faut toujours connaître les limites selon les fonctionnalités.
Ne réponds jamais :
Content exclusions protègent tout, partout, dans tous les cas.C’est trop simpliste.
Limite 5 : Copilot peut être influencé par mauvais contexte
Si tu ouvres un fichier obsolète, expérimental ou incorrect, Copilot peut s’en inspirer.
Exemple :
old_auth_service.ts
legacy_auth_service.ts
auth_service.tsSi tu demandes :
Implement authentication following the existing project style.Copilot peut se tromper de référence.
Bonne pratique :
- ouvrir le bon fichier ;
- fermer les mauvais ;
- préciser explicitement la source de vérité.
Limite 6 : Copilot ne remplace pas les outils spécialisés
Copilot ne remplace pas :
- SAST ;
- secret scanning ;
- dependency scanning ;
- tests ;
- CI/CD ;
- code review humaine ;
- documentation officielle ;
- validation architecture ;
- pentest ;
- analyse compliance.
Il peut aider, mais il ne remplace pas ces contrôles.
À retenir pour le GH-300
- Un LLM prédit des réponses probables : il ne vérifie pas leur vérité et ne peut pas garantir qu’elles soient correctes, même quand elles sont assurées.
- Hallucination, contexte incomplet, règle métier absente : ce sont des conséquences de ce fonctionnement, pas des pannes.
- Le contexte est limité en taille et dépend de la surface : ce qui n’y entre pas n’est pas pris en compte.
- Un mauvais fichier ouvert peut influencer la réponse : on désigne la source de vérité.
Questions de la leçon
Chargement de la question…
Pour finir
À retenir
- Un LLM prédit des réponses probables : il ne vérifie pas leur vérité et ne peut pas garantir qu’elles soient correctes, même quand elles sont assurées.
- Hallucination, contexte incomplet, règle métier absente : ce sont des conséquences de ce fonctionnement, pas des pannes.
- Le contexte est limité en taille et dépend de la surface : ce qui n’y entre pas n’est pas pris en compte.
- Un mauvais fichier ouvert peut influencer la réponse : on désigne la source de vérité.
Objectif GH-300
- Limites des LLM et de Copilot (Describe limitations of LLMs and Copilot)
Achèvement
Il reste à faire : .