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:
chercher des sources fiables sur internet, comme typiquement:
la page Wikipedia des bibliothèques, pour avoir des informations sur les conditions d’utilisation, la pérennité, …
la documentation de Python et de ses bibliothèques. Elle est souvent hébergée sur des sites dédiés (par exemple https://docs.python.org/fr/ et https://matplotlib.org) ou sur des sites hébergés par ReadtheDocs, par exemple https://jupyter-ai.readthedocs.io.
les sites de discussion ou les foires aux questions (FAQ) pour programmeurs:
suivre des tutoriels ; le plus souvent, chaque bibliothèque en inclut un dans sa documentation ;
Utiliser un agent conversationnel, avec parcimonie, pertinence, beaucoup de recul, et en ayant en tête les nombreux enjeux: impact environnemental, (non) fiabilité, biais, données sensibles, coût, …
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).
Alternatives
Il existe de nombreux autres agents conversationnels:
Le Chat (Mistral IA, France)
ChatGPT (OpenIA, USA)
Gemini (Google, USA)
Perplexity (Perplexity AI, USA)
Claude (Anthropic, USA)
DeepSeek (DeepSeek, Chine)
Il est possible d’utiliser Jupyter AI pour les intégrer dans votre environnement Jupyter.
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
Posez la question:
Écris du code Python pour afficher la fonction sinus
Utilisez les icônes pour insérer le code produit dans la fiche
Exemple: expliquer du code ou une erreur
Sélectionnez du code (ou le texte d’une erreur)
Saisissez la question:
Je suis débutant en programmation Python. Explique le code suivant:
Cliquez sur «envoyer la sélection» avec la question.
Exemple: expertiser un code
Sélectionnez du code
Saisissez la question:
Je suis débutant en programmation Python. Commente le code suivant en proposant des améliorations:
Cliquez sur «envoyer la sélection» avec la question.
Exemple: demander une indication sur un exercice
Sélectionnez l’énoncé de l’exercice
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:
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.