# Quiz — Session 6 : La boucle agentique

**Programme :** Applied AI — Niveau Intermédiaire · Instructeur : Yann Isola
**Format :** 10 questions à choix multiple (QCM). Une seule bonne réponse par question, sauf mention contraire. Barème conseillé : 1 point par question. Corrigé commenté en fin de document.

---

### Question 1
Quelle est LA différence fondamentale entre un chatbot et un agent ?

- A. L'agent utilise un modèle plus puissant que le chatbot
- B. Le chatbot s'arrête après une réponse ; l'agent boucle et décide lui-même quand la tâche est accomplie
- C. L'agent fonctionne sans modèle de langage
- D. Le chatbot ne comprend pas le français

### Question 2
Quel est l'ordre correct des étapes de la boucle agentique ?

- A. Agir → percevoir → observer → réfléchir
- B. Réfléchir → observer → agir → percevoir
- C. Percevoir → réfléchir → agir → observer
- D. Observer → agir → percevoir → réfléchir

### Question 3
Dans la boucle agentique, à quoi correspond l'appel d'outil (tool calling, vu en Session 5) ?

- A. À l'étape « percevoir »
- B. À l'étape « réfléchir »
- C. À l'étape « agir » — les outils sont les mains de l'agent
- D. À un mécanisme extérieur à la boucle

### Question 4
L'agent TripDesk doit réserver un vol. Que désigne la « planification » ?

- A. Le calendrier des vols renvoyé par l'API (Application Programming Interface, interface de programmation applicative)
- B. La décomposition, par le modèle, de l'objectif en sous-étapes avant d'agir — plan révisable en cours de route
- C. La liste des outils déclarée par le développeur
- D. Le délai d'attente entre deux appels d'API

### Question 5
Comment un agent se « souvient-il », à l'itération 4, des résultats obtenus à l'itération 1 ?

- A. Grâce à une base de données permanente installée avec le modèle
- B. Il ne s'en souvient pas : chaque itération repart de zéro
- C. Les poids du modèle sont mis à jour à chaque itération
- D. Tout est conservé dans l'historique de conversation (le bloc-notes / scratchpad), relu à chaque itération

### Question 6
Que devient la mémoire de travail (scratchpad) d'un agent à la fin de son exécution ?

- A. Elle est effacée : c'est une mémoire limitée à l'exécution en cours
- B. Elle est automatiquement fusionnée dans les poids du modèle
- C. Elle reste disponible pour toutes les missions futures, sans limite
- D. Elle est envoyée à l'éditeur du modèle pour l'entraînement

### Question 7
Parmi les éléments suivants, lesquels sont des garde-fous classiques d'un agent ? **(plusieurs réponses)**

- A. Un nombre maximal d'itérations
- B. Un plafond budgétaire (coût d'API ou temps)
- C. Un point de contrôle humain (human-in-the-loop) avant les actions irréversibles
- D. Augmenter la température du modèle pour le rendre plus créatif

### Question 8
L'outil `reserver_vol` renvoie l'erreur « vol complet ». Quel est le comportement d'un agent doté d'une bonne récupération d'erreur ?

- A. Réessayer immédiatement le même appel, à l'identique, jusqu'à ce que ça passe
- B. S'arrêter définitivement et déclarer la mission impossible
- C. Ignorer l'erreur et passer à l'envoi de la confirmation
- D. Lire le message d'erreur, adapter sa stratégie (p. ex. choisir un autre vol) et réessayer différemment

### Question 9
Un utilisateur demande : « Traduis ce paragraphe en espagnol. » Quelle est la meilleure architecture ?

- A. Un agent complet avec boucle, outils et garde-fous
- B. Un prompt simple : une seule réponse suffit, tout le reste est de la sur-ingénierie
- C. Un workflow de 6 étapes avec validation humaine à chaque étape
- D. Deux agents qui se relisent mutuellement

### Question 10
Pourquoi la qualité des **messages d'erreur** renvoyés par vos outils influence-t-elle directement la robustesse de votre agent ?

- A. Parce que les erreurs détaillées sont exigées par la réglementation
- B. Parce que le modèle adapte sa stratégie à partir de ce qu'il *lit* : un message explicite (« vol complet ») permet de rebondir, un code opaque (« erreur 500 ») non
- C. Parce que les messages courts coûtent plus cher en jetons
- D. Cela n'a aucune influence : seule la puissance du modèle compte

---
---

## Corrigé commenté

**1 — B.** L'agentivité n'est pas une question de puissance du modèle (souvent c'est *le même* modèle, réponse A fausse) : c'est une architecture. Le chatbot fait un tour puis s'arrête mécaniquement ; l'agent enchaîne les actions et **décide lui-même** que l'objectif est atteint.

**2 — C.** Percevoir (lire la mission et l'état courant) → réfléchir (décider de la prochaine action) → agir (appeler un outil) → observer (lire le résultat), puis la boucle recommence jusqu'à ce que l'agent juge la tâche accomplie.

**3 — C.** L'appel d'outil EST l'étape « agir ». Sans outils, l'agent n'a pas de mains : sa boucle ne pourrait que produire du texte. Rappel Session 5 : le modèle *demande* l'appel ; c'est le code de l'application qui l'exécute réellement.

**4 — B.** Le plan est produit par le modèle lui-même (souvent encouragé par le prompt système) et vit dans le contexte. Il n'est pas figé : comme un GPS (Global Positioning System, système de positionnement par satellites) qui recalcule l'itinéraire, l'agent révise son plan quand les observations le contredisent — p. ex. un conflit d'agenda découvert en cours de route.

**5 — D.** Chaque appel d'outil et chaque résultat sont ajoutés à l'historique de conversation, que le modèle relit intégralement à chaque itération. C'est sa mémoire de travail. Conséquence pratique : elle est bornée par la fenêtre de contexte (context window) — un agent trop bavard peut la saturer.

**6 — A.** La mémoire de travail est éphémère : nouvelle mission = bloc-notes vierge. La mémoire *persistante* entre sessions (préférences, profils) est un mécanisme distinct, qui doit être conçu explicitement. B et D sont fausses : rien n'est appris dans les poids pendant l'exécution.

**7 — A, B et C.** Le trio canonique : itérations max (contre les boucles infinies), plafond budgétaire (contre l'hémorragie de coûts), validation humaine (contre les actions irréversibles à tort). D est un réglage de génération, pas un garde-fou — et plus de « créativité » est rarement ce qu'on veut d'un agent qui manipule des paiements.

**8 — D.** Le motif complet : l'outil échoue → le modèle lit l'erreur → adapte la stratégie → réessaie **différemment**. A est l'anti-motif classique (répétition à l'identique — c'est ce que le garde-fou d'itérations max vient stopper), B abandonne trop tôt, C est dangereux (confirmer une réservation qui n'existe pas !).

**9 — B.** Une traduction est une tâche en un tour : aucune donnée externe, aucune action, aucune décision multi-étapes. Règle d'or : prompt < outil unique < workflow fixe < agent — toujours l'arme la plus simple qui accomplit la mission. Un agent ici ajouterait coût, latence et risques pour zéro bénéfice.

**10 — B.** L'étape « observer » n'a de valeur que si l'observation est exploitable. Le modèle ne peut adapter sa stratégie qu'à partir de ce qui est écrit dans le contexte : un bon message d'erreur contient de fait la piste de récupération (« vol complet » → chercher un autre vol ; « quota dépassé, réessayez dans 60 s » → attendre). La robustesse d'un agent se conçoit côté outils autant que côté modèle.

---

**Barème indicatif :** 9–10 : excellente maîtrise · 7–8 : solide, revoir les points manqués · 5–6 : relire le guide et refaire l'exercice 1 · < 5 : revoir la session avec le visualiseur interactif avant la prochaine séance.
