Notes orateur: Accueil. Teasing : « La dernière fois, on a donné des yeux au modèle (le RAG). Aujourd'hui, des mains. Mais des mains attachées à VOS bras. » Annoncer le plan en une phrase.
Notes orateur: 90 secondes maximum. Interrogez la salle : « Quelle est la limite du RAG face à une question comme "quel temps fait-il maintenant ?" » Réponse : le RAG lit du figé, pas du vivant. Transition parfaite vers la slide 3.
Notes orateur: Contrat clair. Précisez : « Aucune ligne de code à écrire aujourd'hui — mais vous lirez et écrirez du JSON. » Rassurer les non-développeurs.
Notes orateur: Le tableau clé. API = Application Programming Interface (interface de programmation applicative) : un service qu'on interroge et qui répond — expliquez l'acronyme, règle du cours. Insistez : complémentaires, pas concurrents.
Notes orateur: Annoncez que ces trois exemples reviendront toute la session. Le troisième surprend : rappelez la Session 1 — un LLM (Large Language Model, grand modèle de langage) prédit des tokens, il ne calcule pas. « Combien font 12,7 % de 84 392 € ? » → piège classique. La calculatrice est une prothèse, pas un gadget.
Notes orateur: Faites générer des exemples métier par la salle (« et dans VOTRE travail ? »). Notez 2-3 réponses au tableau — vous les réutiliserez slide 26 pour la sécurité.
Notes orateur: Interactif, mains levées. Réponses : RAG / outil (vivant) / outil (vivant) / outil (faiblesse). Verrouillez la distinction avant de passer à la partie architecture.
Notes orateur: LA slide de la session. Lisez-la lentement, deux fois. Annoncez : « Cette phrase décrit à la fois l'architecture et le modèle de sécurité. Si vous ne retenez qu'une chose aujourd'hui, c'est celle-ci. » Vous y reviendrez slides 11, 21 et 27.
Notes orateur: Analogie centrale — dessinez-la au tableau. Poussez-la : « Si le client commande "la caisse enregistreuse", le serveur refuse. Le client peut demander n'importe quoi ; c'est le serveur qui décide de ce qui part en cuisine. »
Notes orateur: Montrez le JSON brut. Point crucial : « C'est du texte. Il ne se passe RIEN tant que votre code n'agit pas. » Question de vérification : « Si le modèle demande un outil qui n'existe pas ? » → rien ne s'exécute, votre code rejette.
Notes orateur: Reliez à la slide 8 : architecture = sécurité, c'est la même phrase. Anecdote : « Le modèle peut être trompé par un texte malveillant. Votre code, non. » (Teaser de la slide 27 sur l'injection de prompt.)
Notes orateur: JSON Schema = norme de description de structures JSON (types, valeurs autorisées, champs obligatoires). Si la salle est faible en JSON, faites ici le rappel de 3 min : objet = accolades, paires clé/valeur, types de base.
Notes orateur: Décortiquez champ par champ, 3 minutes. Soulignez : `enum` pour les listes fermées, `required` pour l'obligatoire, et une description PAR paramètre — « des prompts partout ».
Notes orateur: Concept contre-intuitif et essentiel : le routage est de la lecture, pas de la magie. « Vous ne programmez pas le choix de l'outil — vous le *rédigez*. » Les cas limites documentés évitent 80 % des erreurs de routage.
Notes orateur: Test pratique : « Si vous hésitez sur le nom de votre outil, c'est qu'il fait trop de choses. » Convention snake_case (mots séparés par des tirets bas) : lisible par le modèle ET par vos collègues.
Notes orateur: Faites chercher la salle 60 secondes avant de corriger : nom vague, description inutile, paramètre `q` mystérieux, pas de `required`, zéro cas limite. Formule choc : « Une description vague, c'est un stagiaire à qui on dit "occupe-toi des trucs". » Transition vers l'Exercice 1.
Notes orateur: Ouvrez le simulateur web en parallèle (onglet « Simulateur »). Annoncez : « On va dérouler chaque étape sur l'exemple météo. » Option théâtre : 3 volontaires jouent utilisateur / modèle / code — le modèle n'a droit qu'à des post-its.
Notes orateur: Le modèle a lu les 3 descriptions, choisi `obtenir_meteo` (routage par lecture !) et rempli les paramètres selon le schéma. L'`id` `toolu_abc123` : retenez-le, il revient à l'étape 4.
Notes orateur: Étape invisible pour le modèle mais capitale pour vous. « Entre les étapes 2 et 4, le modèle est en pause. Il ne connaît ni votre clé, ni vos logs, ni votre validation. » C'est la slide 8 en action.
Notes orateur: LE détail qui tue : `tool_use_id` doit être EXACTEMENT l'`id` de l'étape 2. C'est le fil d'Ariane qui apparie demande et réponse — indispensable quand le modèle demande plusieurs outils en parallèle. Erreur n°1 des débutants.
Notes orateur: Deux points : ① la boucle continue jusqu'à `stop_reason: "end_turn"` ; ② stateless (sans état) : à chaque tour, vous renvoyez TOUTE la conversation, `tool_use` et `tool_result` inclus. Démo simulateur, scénario « Multi-outils », mode pas-à-pas. Teaser : « Une boucle qui itère toute seule vers un objectif ? C'est un agent — Session 6. »
Notes orateur: Piège classique : `any` ≠ forcer un outil précis. Exemple pour `any` : extracteur de contacts depuis des e-mails avec un outil `enregistrer_contact` → le modèle est obligé de produire du JSON structuré. Technique d'extraction très courante en production.
Notes orateur: Message d'erreur = prompt, encore : un message riche donne au modèle une chance de se rattraper ; un « Error 500 » sec, aucune. Question à la salle : « Que se passe-t-il si on renvoie "OK" alors que la base est en panne ? » → réponse slide suivante.
Notes orateur: Vendez la nuance : une hallucination provoquée par un faux « OK » est une faute du CODE, pas du modèle. La qualité des `tool_result` conditionne l'honnêteté de la réponse finale. Transition vers l'Exercice 2 (débogage) : « Vous allez maintenant chasser 5 erreurs de ce type. »
Notes orateur: Après l'exercice de débogage, la salle est réceptive à la sécurité. Reprenez les exemples métier notés en début de session (slide 6) : pour chacun, demandez « lecture ou écriture ? réversible ou non ? ».
Notes orateur: Règle 2, insistez : un outil SQL (Structured Query Language, langage de requête structuré) générique = injection + fuite + suppression accidentelle. Règle 3 : le schéma vérifie « c'est un nombre », votre code vérifie « le montant est dans les bornes ET l'utilisateur a le droit ». Démo : check-list interactive de la page web.
Notes orateur: Bouclez la boucle : c'est POUR ÇA que « le modèle n'exécute jamais rien » est le modèle de sécurité. Les données entrant par `tool_result` sont non fiables au même titre que les entrées utilisateur. Reliez à l'exercice 3 question bonus.
Notes orateur: Faites reformuler le point 2 par un participant, sans regarder la slide. Si la reformulation est correcte, la session est gagnée.
Notes orateur: Distribuez quiz et tickets. Le quiz peut être corrigé en autonomie (grille fournie) si le temps manque. Insistez sur les exit tickets : 3 minutes, anonymes si besoin, ils vous servent VRAIMENT.
Notes orateur: Teaser final : « Un agent, c'est la boucle de la slide 21 qui tourne toute seule. Et tout ce qu'on a dit sur la sécurité devient dix fois plus important. » Restez 5 minutes pour les questions individuelles.