Uploaded avatar of iHiD

Le projet de support automatisé au mentorat

@iHiD
il y a Plus de 7 ans

Mise à jour : nous avons le plaisir d'annoncer que Mozilla nous a décerné un Open Source Support Award pour ce projet. Tu peux en savoir plus ici.

Ce billet marque le début de l'Automated Mentoring Support Project d'Exercism, un projet dans le cadre duquel nous allons développer un framework qui analyse de façon programmatique les solutions des utilisateurs afin d'améliorer la boucle de retour pour les apprenants et de réduire la charge pesant sur les mentors. À court terme, notre objectif est d'approuver automatiquement les solutions qui remplissent certains critères d'acceptation et de fournir un retour sur les améliorations les plus fréquentes.

Ce billet a pour but de décrire le problème que nous cherchons à résoudre et le plan général que nous allons suivre pour nous y attaquer dans les prochains mois. Nous publierons ensuite d'autres billets qui explorent le contexte du problème et l'histoire de l'analyse automatisée sur Exercism, ainsi que davantage de détails sur notre stratégie de mise en œuvre.

Pourquoi automatiser le soutien au mentorat ?

Le plus grand obstacle d'Exercism est de réussir à gérer son échelle.

Nos mentors bénévoles sont essentiels à la réussite d'Exercism. Ils sont chargés d'examiner les solutions des apprenants, de déterminer si elles remplissent les critères de réussite de l'exercice ou si elles ont besoin d'être améliorées, de comprendre avec empathie le raisonnement d'un apprenant, de fournir un retour encourageant et utile, et de guider les personnes dans les idiomes d'un langage. Aujourd'hui, nous arrivons tout juste à suivre la demande de mentorat. Si nous voulons nous développer, il nous faut une meilleure stratégie que « ajouter plus de mentors ».

Pour les exercices principaux qui forment la colonne vertébrale d'un parcours de langage d'Exercism, nous estimons qu'environ 25 % des soumissions sont assez bonnes pour être marquées comme terminées dès la première tentative. 55 % de plus des soumissions présentent des problèmes qui relèvent de catégories courantes, que l'on peut traiter en copiant-collant des extraits de retour. Seulement 20 % environ des solutions demandent à un mentor de faire preuve d'inventivité et de réflexion dans son retour.

Les 80 % de solutions qui ne mobilisent pas vraiment le cerveau d'un mentor représentent une perte de temps frustrante pour les personnes prêtes à donner de leur temps pour aider les autres, et ne tirent pas le meilleur parti de leur expertise.

De même, un apprenant peut attendre entre un jour et une semaine avant de recevoir un retour et, entre-temps, ne peut pas avancer dans le parcours. Pour celles et ceux qui ont soumis une itération faisant partie des 25 % de solutions parfaitement valides, ce délai est particulièrement frustrant. Pour les autres, il est au mieux sous-optimal. Les apprenants perdent souvent leur élan à cause de ce délai et finissent par se lasser du processus.

En développant un système capable d'analyser automatiquement une solution et soit de l'approuver, soit de fournir un retour type sur les problèmes connus, nous pensons pouvoir réduire considérablement la charge de travail des mentors en éliminant les parties « ennuyeuses », tout en améliorant nettement l'expérience des apprenants. En bonus, les gens recevront un retour plus cohérent sur les questions de structure et de style, ce qui les prépare à avoir des conversations plus intéressantes sur les sujets les moins tranchés.

Comment ça va fonctionner ?

Notre objectif à long terme est de développer des algorithmes d'apprentissage profond capables d'analyser les arbres syntaxiques abstraits (AST) du presque million de soumissions envoyées depuis le lancement d'Exercism en 2013. Un tel outil pourrait détecter des schémas récurrents et les commentaires associés des mentors. Dans l'immédiat, notre objectif est d'utiliser l'analyse statique pour déterminer quel retour fournir à partir des erreurs les plus fréquemment répétées constatées par les mentors.

Le projet se décompose en gros en plusieurs domaines :

  1. Évolutions du produit : nous devons déterminer comment cette analyse automatisée s'intègre à l'interface de mentorat actuelle, comment nous communiquons ce retour (messages système, un « bot », etc.), puis implémenter le tout sur le site d'Exercism.
  2. Infrastructure : nous allons concevoir et construire une infrastructure capable de faire tourner efficacement l'analyse statique pour plusieurs langages.
  3. Prototype d'analyse statique : développer un analyseur d'exemple qui approuvera automatiquement les bonnes solutions à Ruby / Two-fer, et documenter ce processus afin que l'ensemble de la communauté puisse contribuer.

Nous visons un lancement du prototype initial pour la mi-2019. Une fois les fondations en place, nous comptons étendre le dispositif à d'autres langages que Ruby et à d'autres exercices que Two Fer. Nous n'aurons pas encore le framework nécessaire pour intégrer d'autres langages et exercices au site avant d'avoir progressé sur le prototype, mais si tu veux commencer à écrire des analyseurs pour tes langages et exercices préférés, rien ne t'empêche de t'y mettre tout de suite ! Ouvre une issue sur le dépôt GitHub de ce projet et dis-nous ce que tu aimerais faire.

Nous sommes très enthousiastes à l'idée de travailler avec d'autres membres de la communauté Exercism qui utilisent déjà l'analyse statique pour aider au mentorat, comme tehsphinx et bitfield, qui ont développé un outil d'analyse statique pour les mentors du parcours Go. La façon dont il a fait passer ce parcours d'un énorme retard à l'un des parcours de langage les plus réactifs d'Exercism montre à quel point le soutien automatisé aux mentors peut avoir d'impact.

Au cours des prochaines semaines, nous détaillerons davantage ces premières étapes clés et la manière dont tout cela va fonctionner.

Nous serions ravis de répondre à toutes tes questions dans la section des commentaires ci-dessous ! :)

7e Feb 2019 · Tu l'as trouvé utile ?