GPTutor est conçu pour aider les débutants à apprendre à programmer ou les professionnels à comprendre le code des autres. Selon l’équipe, le système fournit de meilleures explications que ChatGPT.
Les outils de programmation basés sur l’IA, tels que GitHub CoPilot, sont largement utilisés aujourd’hui, et les capacités de programmation de ChatGPT et surtout de GPT-4 sont utilisées par des non-professionnels pour développer leurs propres applications. Cependant, ces outils ont également un grand potentiel en tant que tuteurs numériques pour apprendre aux débutants à programmer ou pour aider les professionnels à comprendre plus rapidement le code d’une tierce partie.
Des chercheurs taïwanais et canadiens présentent GPTutor, une extension de Visual Studio Code basée sur ChatGPT, un outil de programmation permettant d’expliquer le code.
GPTutor contourne les problèmes de ChatGPT et de CoPilot
Selon l’équipe, GPTutor fournit de meilleurs résultats que CoPilot ou ChatGPT lorsqu’il s’agit d’expliquer du code. L’équipe a identifié trois problèmes communs aux systèmes existants :
- Vue superficielle: ils fournissent des informations basées uniquement sur le code du fichier actuel et peuvent ne pas prendre en compte la logique du domaine, en particulier lors de l’analyse d’un code orienté objet qui importe des objets à partir d’autres fichiers.
- Informations inutiles ou non pertinentes: D’autres systèmes fournissent souvent des explications inutiles pour l’ensemble du code, voire pour une ligne spécifique, ce qui donne lieu à des informations inutiles, voire fictives.
- Manque de connaissances à jour: les modèles linguistiques tels que ChatGPT ont été formés avec des données jusqu’en 2021 et ne sont donc pas en mesure de fournir des explications satisfaisantes pour les bibliothèques nouvelles, impopulaires ou privées au-delà de cette période.
GPTutor évite ces problèmes en enrichissant le modèle sous-jacent – GPT-3.5-turbo d’OpenAI a été utilisé dans les tests – avec des informations supplémentaires. L’extension utilise diverses API dans Visual Studio Code pour extraire le langage de programmation et le code du fichier actuel, ainsi que le code source des fonctions sélectionnées. Ces données sont ensuite envoyées à un modèle de langage qui utilise les informations disponibles pour expliquer le code. Si une seule ligne de code est sélectionnée, seule cette ligne est expliquée.
GPTutor fournit de meilleures explications que ChatGPT
Lors des tests, l’équipe affirme avoir démontré que GPTutor fournit des explications plus pertinentes, en moyenne, que CoPilot ou ChatGPT. Il est moins susceptible de produire des informations non pertinentes ou même incorrectes et, en s’appuyant sur un code externe, il peut fournir des informations qu’aucun autre système ne peut fournir.
À l’avenir, l’équipe prévoit d’améliorer encore les performances de GPTutor grâce à l’ingénierie en temps réel. Par exemple, ils affirment qu’une recherche heuristique pourrait être utilisée pour identifier le code pertinent dans la base de code. Après avoir transformé le code en plusieurs suggestions possibles, GPTutor pourrait proposer différentes explications pour identifier les préférences de l’utilisateur et fournir des explications personnalisées et une meilleure expérience utilisateur.
GPTutor est disponible dans le Visual Studio Code Extension Marketplace et le code source est disponible sur GitHub.