Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Comment fonctionne un assistant de code

Après cette leçon: Je peux dire ce qu’est un assistant de code et ce qu’il ne peut pas garantir.

Leçon de 55 min3 commandesLab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Qu’est-ce qu’un assistant de code ?

Un assistant de code est un programme d’intelligence artificielle qui lit du code et répond par du texte, du code ou une modification de fichier. Savoir ce qu’il fait vraiment vous permet de profiter de sa vitesse sans croire ce qui est faux.

Imaginez que vous lui demandiez une fonction pour calculer le prix d’un trajet de bus. La réponse a l’air juste. Elle peut pourtant contenir une faute.

À la fin de cette leçon

Remarque

Je peux dire ce qu’est un assistant de code et ce qu’il ne peut pas garantir.

Mots-clés

MotCe que ça veut dire
Modèle de langageun programme qui écrit la suite la plus probable d’un texte
Requêtele texte que vous envoyez à l’assistant pour lui demander quelque chose
Contextetout ce que l’assistant lit avant de répondre
Hallucinationune réponse fausse, écrite avec assurance
Agentun assistant qui peut aussi lire des fichiers et lancer des commandes, avec votre accord
Vérificationun contrôle que vous faites vous-même, par la lecture ou l’exécution

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un modèle de langage écrit la suite probable

Un modèle de langage a lu une énorme quantité de textes et de code. Quand vous écrivez une requête, il calcule quel mot a le plus de chances de venir ensuite, puis recommence mot après mot.

Il ne lance pas votre programme. Il ne sait pas si sa réponse est vraie : il sait qu’elle ressemble à ce qu’il a lu.

Ce que l’assistant garantit ou non

Il le fait souvent bienIl ne le garantit pas
Écrire un code qui ressemble à la demandeQue ce code marche
Expliquer une fonction en quelques phrasesQue l’explication soit exacte
Proposer plusieurs façons de faireQue chaque façon existe vraiment
Répondre avec un ton calme et sûrQu’il ait raison, même sûr de lui

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Il ne voit que votre contexte

L’assistant lit votre requête et le contexte : les fichiers ouverts, le début de la conversation. Le contexte a une taille limite. Au-delà, le début est oublié.

Il ne se souvient pas d’une autre conversation. Ce qu’il ne voit pas, il le devine. Plus vous lui montrez de vrai code, moins il invente.

Le laboratoire : un projet d’une boutique

Le laboratoire démarre un assistant de code qui travaille sur un petit programme : la caisse d’une boutique de lycée, écrite en JavaScript. Il est installé à chaque démarrage, ce qui prend environ une minute.

La commande suivante lit un fichier d’état. Elle affiche installing pendant l’installation, puis ready quand l’assistant est prêt. Relancez-la tant qu’elle n’affiche pas ready.

Demander si l’assistant est prêt

Commande
docker exec agent cat /tmp/agent/status

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Combien de lignes l’assistant doit-il lire ?

Un petit projet tient tout entier dans le contexte. La commande suivante compte les lignes du programme et celles de ses tests. Elle affiche 26, 9 et 35 lignes.

Avec 35 lignes, l’assistant voit tout. Avec des milliers de fichiers, il ne voit qu’une partie, et il devine le reste.

Compter les lignes du projet

Commande
docker exec -w /home/node/project agent wc -l shop.js shop.test.js

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Trois sortes d’affirmations, trois vérifications

Un assistant affirme des choses de trois sortes. Certaines parlent de votre code : vous les vérifiez en lisant. D’autres disent que le code marche : vous les vérifiez en l’exécutant.

Les dernières parlent du monde extérieur, comme une version ou une fonction de bibliothèque : vous les vérifiez dans la documentation. Un avis n’est pas un fait, et aucune vérification ne le tranche.

Quelle vérification pour quelle affirmation ?

Sorte d’affirmationExempleVérification
Sur votre codeLa boucle oublie le dernier prixLire la ligne
Sur le comportementCette fonction corrige le bogueExécuter le code
Sur le monde extérieurCette fonction existe dans la version 3Lire la documentation
Un avisCette solution est éléganteAucune : c’est une opinion

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Seule l’exécution dit si le code marche

Un assistant peut affirmer qu’un calcul est exact. Seul l’ordinateur le prouve, en lançant le code. Par exemple, la somme de 0,1 et de 0,2 ne fait pas exactement 0,3 dans la plupart des langages.

Cette commande demande à JavaScript de calculer. Lisez le résultat : il ne dépend d’aucune opinion.

Laisser l’ordinateur calculer

Commande
docker exec agent node -e "console.log(0.1 + 0.2)"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Erreur fréquente

Attention

Beaucoup pensent qu’un assistant qui répond avec assurance a raison. Le ton ne dit rien de l’exactitude : un modèle écrit toujours sur le même ton. Faites confiance à un résultat quand vous l’avez lu ou exécuté vous-même.

Classer les affirmations d’un assistant

Dans le devoir, vous écrivez le tri que vous venez de voir. Une affirmation qui parle d’une version ou d’une existence se vérifie dans la documentation. Une qui parle d’une ligne, d’une boucle ou d’une variable se vérifie en lisant.

Une qui parle d’un fonctionnement, d’une correction ou de tests se vérifie en exécutant. Les autres sont des avis.

À propos de ce labo et de sa source: Lab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.