Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
La boucle agent
C'est ici que tout prend vie. Un agent, c'est un LLM qui tourne en boucle : il recoit une instruction, decide quoi faire, execute une action, regarde le resultat, et recommence jusqu'a ce que la tache soit terminee.
Quand tu dis a Claude Code "corrige le bug dans app.py", voici ce qui se passe en coulisses :
1. Le LLM lit ta demande et decide : "je dois d'abord lire app.py" 2. Il appelle l'outil read_file, recoit le contenu 3. Il analyse le code et trouve le bug 4. Il decide d'ecrire la correction avec write_file 5. Il verifie en executant les tests 6. Il te repond "Bug corrige, voila ce que j'ai fait"
Cette boucle s'appelle le "agent loop". Le LLM est le cerveau qui decide, les outils sont ses mains.
Ecris une fonction boucle_agent(instruction, decideur, dispatcher, max_iterations=10) qui implemente cette boucle.
Parametres :
instruction : la demande initiale de l'utilisateur (string) decideur : une fonction qui simule le LLM. Elle recoit la conversation (liste de messages) et renvoie une decision. dispatcher : un objet OutilsDispatcher (de l'exercice precedent, ou un equivalent) max_iterations : nombre maximum de tours de boucle
Le decideur renvoie un dictionnaire :
{"action": "outil", "outil": "lire_fichier", "arguments": {"chemin": "app.py"}} quand il veut utiliser un outil
{"action": "repondre", "reponse": "Voila ce que j'ai fait..."} quand il a fini et veut repondre a l'utilisateur
La boucle doit :
Commencer par envoyer l'instruction au decideur. Si le decideur veut utiliser un outil, l'executer et renvoyer le resultat au decideur. Si le decideur veut repondre, arreter la boucle et renvoyer la reponse. Si on depasse max_iterations, arreter et renvoyer un message d'erreur. Garder une trace de toutes les etapes (actions + resultats) pour le debug.