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
| Mot | Ce que ça veut dire |
|---|---|
| Modèle de langage | un programme qui écrit la suite la plus probable d’un texte |
| Requête | le texte que vous envoyez à l’assistant pour lui demander quelque chose |
| Contexte | tout ce que l’assistant lit avant de répondre |
| Hallucination | une réponse fausse, écrite avec assurance |
| Agent | un assistant qui peut aussi lire des fichiers et lancer des commandes, avec votre accord |
| Vérification | un 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 bien | Il ne le garantit pas |
|---|---|
| Écrire un code qui ressemble à la demande | Que ce code marche |
| Expliquer une fonction en quelques phrases | Que l’explication soit exacte |
| Proposer plusieurs façons de faire | Que chaque façon existe vraiment |
| Répondre avec un ton calme et sûr | Qu’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
docker exec agent cat /tmp/agent/statusAffiché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
docker exec -w /home/node/project agent wc -l shop.js shop.test.jsAffiché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’affirmation | Exemple | Vérification |
|---|---|---|
| Sur votre code | La boucle oublie le dernier prix | Lire la ligne |
| Sur le comportement | Cette fonction corrige le bogue | Exécuter le code |
| Sur le monde extérieur | Cette fonction existe dans la version 3 | Lire la documentation |
| Un avis | Cette solution est élégante | Aucune : 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
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.