Chercher des informations#

Les éléments de programmation que vous découvrez dans ce cours mettent au bout de vos doigts une foule d’outils, par exemple pour manipuler toutes sortes de données: images, sons, … Pour découvrir comment utiliser ces outils, vous pouvez:

Dans la suite de cette fiche, nous détaillons les enjeux des agents conversationnels, et proposons quelques pistes pour bien les utiliser pour l’apprentissage de la programmation.

Utilisation d’un agent conversationnel depuis Jupyter et MyDocker#

Dans cette fiche, nous faisons l’hypothèse que votre environnement Jupyter intègre un agent conversationnel (chatbot). C’est par exemple le cas si vous travaillez sur MyDocker: ce dernier s’appuie en effet sur l’extension Jupyter AI pour intégrer l’agent conversationnel libre et souverain (modèle llama3) fourni par le projet Aristote (bientôt ILAAS).

Comparatif rapide par rapport aux alternatives

  • 👍 Intégré dans votre environnement de travail

  • 👍 Contextualisé à votre cours (à venir)

  • 👍 Pas de collecte de données (personnelles, sensibles)

  • 👍 Gratuit

  • 👍 Plus sobre énergétiquement

  • 👎 Moins puissant, mais en général bien suffisant pour les usages d’aide à l’apprentissage de la programmation (pas besoin d’un marteau pilon pour enfoncer un clou).

  • 👎 Parfois un peu lent: Aristote / ILAAS montent continuellement en puissance, avec une course entre augmentation forte des usages et des ressources disponibles.

Vous pouvez utiliser l’agent conversationnel pour poser des questions, générer du code, obtenir des explications, etc. Pour y accéder: cliquez sur l’onglet « Jupyter AI Chat » dans la barre de gauche.

Exemples d’usage#

Exercice

Essayez quelques-uns des exemples suivants, ou d’autres de votre choix !

Exemples

En programmation, qu’appelle-t-on une boucle ?

Traduis en allemand le texte suivant: «….»

Relis le texte suivant et signale les fautes d’orthographes et de grammaire: «…»

Exemple: générer du code

  1. Posez la question:

    Écris du code Python pour afficher la fonction sinus

  2. Utilisez les icônes pour insérer le code produit dans la fiche

Exemple: expliquer du code ou une erreur

  1. Sélectionnez du code (ou le texte d’une erreur)

  2. Saisissez la question:

    Je suis débutant en programmation Python. Explique le code suivant:

  3. Cliquez sur «envoyer la sélection» avec la question.

Exemple: expertiser un code

  1. Sélectionnez du code

  2. Saisissez la question:

    Je suis débutant en programmation Python. Commente le code suivant en proposant des améliorations:

  3. Cliquez sur «envoyer la sélection» avec la question.

Exemple: demander une indication sur un exercice

  1. Sélectionnez l’énoncé de l’exercice

  2. Saisissez la question:

    Je suis débutant en programmation Python ; tu es un enseignant bienveillant. Sans me donner la solution, donne moi une indication pour m’aider à réaliser l’exercice suivant:

  3. Cliquez sur «envoyer la sélection» avec la question.

Principe#

Les outils d’IA générative fonctionnent sur la base des statistiques. Ici, l’agent conversationnel (chatbot) s’appuie sur un grand modèle de language: un logiciel qui a été entraîné sur un grand corpus de texte (ex: Wikipedia, bases de code, …) pour, étant donné un début de texte, essayer de choisir le mot suivant le plus probable. En réitérant, il génère du texte qui, statistiquement, ressemble à un texte moyen du corpus sur lequel il a été entraîné. Le texte produit va donc fortement dépendre (qualité, biais, connaissances), du choix du corpus par les concepteurs du modèle (ligne éditoriale). Cette ligne éditoriale est complétée par un post-entraînement pour simuler une conversation, brider l’expression sur certains sujets, etc.

Les agents conversationnels peuvent compléter les connaissances acquises lors de leur entraînement par des recherches, par exemple sur internet ; on parle alors de RAG (Retrieval-Augmented Generation). Là encore, le texte produit est conditionné par le choix éditorial du corpus utilisé pour ces recherches.

Vous pouvez vous le représenter comme un beau parleur qui a très confiance en lui ; il peut raconter n’importe quoi: raisonnements faux voire inexistants, faits inventés (hallucinations), biais (de genre, de culture, …). À vous d’exercer un regard critique sur ce qui est produit avant de l’utiliser: demandez les sources; croisez les informations auprès de sources fiables, etc. En bref, procédez comme dans toute recherche d’information.

Enjeux#

  • Impact environnemental: Chaque requête à un agent conversationnel a un coût environnemental très supérieur à celui d’un moteur de recherche; chacune de ces dernières étant déjà coûteuse. Le coût initial d’une requête est quadratique en la taille de l’entrée (si votre question est deux fois plus longue, notamment si vous y incluez des documents longs, le coût est multiplié par quatre) et proportionnel à la taille de la sortie. Réfléchissez avant de poser vos questions. Formulez vos questions pour amener des réponses courtes.

    À faire

    Discussion différence d’impact selon les modèles.

  • Propriété intellectuelle et plagiat:

  • Utilisation pédagogique pertinente:

  • Données sensibles:

Recommendations#

  • Soyez précis dans vos consignes: vous pouvez donner des indication de rôle «Tu es un enseignant de …», de contexte «Programmation Python», de style «formel, lyrique, concis», d’action à réaliser: «Résume le texte suivant ...», de format souhaité de la réponse «N’écris que le code» … Plus les consignes sont précises, plus la réponse a des chances d’être pertinente.

  • Itérez: lorsque la réponse ne vous convient pas complètement, vous pouvez demander de la reformuler avec des consignes supplémentaires. L’agent garde en mémoire les quelques dernières questions et réponses de la conversation.

  • Restez maître de vos productions: vous êtes entièrement responsable de vos productions, y compris si vous y intégrez des contenus générés par IA ou si vous vous en inspirez (comme pour toute autre source). Assurez-vous que vos productions reflètent précisément ce que vous souhaitez exprimer, que vous citez vos sources, etc.