Comprendre les assistants de code IA

Première leçon du cours Coder avec un assistant IA (prompts, relecture du code), en accès libre : environ 15 minutes, 3 exercices et 3 questions de quiz. C'est la leçon de base du catalogue ; dans l'espace étudiant, elle est réécrite pour ton profil.

Objectifs

  • Expliquer simplement comment un assistant de code génère une réponse
  • Identifier ses forces et ses limites, dont les hallucinations
  • Adopter la posture du développeur responsable de son code

Modèle de langage (LLM)HallucinationsFenêtre de contexte

Les assistants de code (intégrés à l’éditeur, en conversation ou sous forme d’agents) sont devenus des outils quotidiens pour beaucoup de développeurs et d’analystes. Bien utilisés, ils font gagner un temps considérable. Mal utilisés, ils produisent du code faux qui a l’air juste. Ce cours vous apprend à en tirer le meilleur sans perdre le contrôle.

Comment ça marche, en simplifiant

Un assistant de code repose sur un grand modèle de langage (LLM), entraîné sur d’immenses quantités de texte et de code. À partir de votre demande, il produit, morceau par morceau, la suite la plus plausible. Il ne « comprend » pas votre projet comme un collègue et, sauf s’il dispose d’outils pour le faire, il n’exécute pas le code qu’il propose : il ne sait donc pas si ce code fonctionne.

Conséquences pratiques :

  • il excelle sur les tâches fréquentes et bien documentées : écrire une fonction classique, expliquer un message d’erreur, convertir du code d’un langage à un autre, proposer des tests ;
  • il est moins fiable sur ce qui est rare, récent ou spécifique à votre projet : une bibliothèque peu connue, une règle métier interne, une version très récente d’un outil.

Trois formes d’assistants

Forme Usage typique
Conversation (chat) poser une question, demander une explication ou une fonction
Complétion dans l’éditeur suggestions de code au fil de la frappe
Agent l’outil lit vos fichiers, modifie le code, lance des commandes ou des tests

Plus l’outil est autonome, plus la relecture de ce qu’il fait est importante.

Le contexte

Le modèle ne voit que ce qu’on lui fournit : votre message, les fichiers ouverts ou partagés, l’historique de la conversation. Cette quantité est limitée (la fenêtre de contexte). S’il ignore que vous utilisez Python 3.15, pandas ou une convention de nommage, il devinera. Et la même question peut donner des réponses différentes d’une fois sur l’autre.

Les hallucinations

Un modèle peut inventer avec beaucoup d’assurance : une fonction qui n’existe pas, un paramètre imaginaire, un nom de paquet fictif. Exemple typique :

notes = [12, 15, 9]
moyenne = notes.mean()      # proposé par un assistant : AttributeError !
# Les listes Python n'ont pas de méthode mean().
# Correct : sum(notes) / len(notes), ou statistics.mean(notes)

Le code « ressemble » à du pandas ou du NumPy, d’où la confusion. Comment se protéger :

  1. exécuter le code et lire les erreurs ;
  2. vérifier dans la documentation officielle toute fonction inconnue ;
  3. se méfier quand l’assistant cite une source, une version ou un chiffre précis.

La règle d’or

L’assistant est un collègue rapide mais pas toujours fiable. Vous restez responsable du code que vous intégrez :

  • ne gardez que du code que vous comprenez ligne par ligne ;
  • testez-le comme si vous l’aviez écrit vous-même ;
  • en apprentissage, essayez d’abord seul, puis comparez avec la proposition de l’IA : c’est ainsi que vous progressez au lieu de dépendre de l’outil.

Exercices

Les solutions et les tests restent sur le serveur. Dans l'espace étudiant, ton code est exécuté et corrigé, et le tuteur donne des indices avant la solution.

  1. CodeDifficulté 1Python dans le navigateur1 indice

    Corriger une hallucination

    Un assistant a proposé ce code, qui provoque une AttributeError car les listes Python n’ont ni .mean() ni .max_value(). Corrigez resume(notes) pour qu’elle renvoie un tuple (moyenne, maximum) avec des outils qui existent vraiment.

    def resume(notes):
        moyenne = notes.mean()
        maximum = notes.max_value()
        return (moyenne, maximum)
  2. QCMDifficulté 11 indice

    Pourquoi une hallucination ?

    Pourquoi un assistant de code peut-il proposer une fonction qui n’existe pas ?

    • Parce qu'il est en panne
    • Parce qu'il génère le texte le plus plausible sans vérifier qu'il est exact
    • Parce que la fonction a été supprimée de Python
  3. QCMDifficulté 21 indice

    Tâche adaptée

    Pour laquelle de ces tâches un assistant de code est-il généralement le plus fiable ?

    • Appliquer une règle de facturation interne non documentée
    • Écrire une fonction qui inverse une chaîne de caractères
    • Utiliser une bibliothèque sortie la semaine dernière

Quiz de fin de leçon

  1. Par défaut, un assistant de code en conversation vérifie-t-il que son code fonctionne ?

    • Oui, toujours
    • Non, sauf s'il dispose d'outils pour l'exécuter
    • Seulement en Python
  2. Qui est responsable du code intégré à un projet ?

    • L'assistant IA
    • Le développeur qui l'intègre
    • L'éditeur de l'outil
  3. Qu’appelle-t-on la fenêtre de contexte ?

    • La fenêtre de l'éditeur
    • La quantité d'informations que le modèle prend en compte pour répondre
    • La durée d'une session

La suite du cours

  1. Rédiger un bon prompt pour du code15 min
  2. Relire le code généré20 min
  3. Tester et déboguer avec l'IA20 min
  4. Usage responsable : sécurité, données et apprentissage20 min

Coder avec un assistant IA (prompts, relecture du code) · Débutant · 2 h 30