AI Coding · 5 mondes · 15 étapes
Agents & outils
Messages, outils, boucle d'agent, RAG et garde-fous, écrits de ses mains.
Progression
0 %
0/15 étapes terminées
Intermédiaire · 8 min de lecture
La boucle d'agent
Un modèle ordinaire, un programme qui insiste
1Définition
Un agent est une boucle : appeler le modèle, exécuter l'outil qu'il demande, ajouter le résultat à la conversation, recommencer — jusqu'à une réponse finale en texte, ou jusqu'à une limite de tours, de temps ou de coût.
2Principes fondamentaux
01
Deux messages par tour
La demande d'outil du modèle, puis son résultat : c'est ainsi que le modèle voit ce qu'il a appris.
02
Toujours une limite
Un nombre maximal de tours, et un message honnête quand il est atteint.
03
Les erreurs nourrissent la boucle
Renvoyées au modèle, elles lui permettent de changer de stratégie.
04
Le scénario n'est pas codé
C'est le modèle qui enchaîne les étapes ; la boucle se contente de les servir.
3Exemples pratiques
La boucle bornée
1for (let tour = 0; tour < MAX_TOURS; tour++) {2 const reponse = await modele(messages);3 if (reponse.type === "texte") return reponse.contenu;4 messages.push({ role: "assistant", appel: reponse });5 messages.push(await executerAppel(reponse));6}7return "Je n'ai pas pu terminer.";Six lignes : c'est le squelette de tous les agents, des assistants de code aux agents de recherche.
Un budget en plus des tours
1const debut = Date.now();2if (Date.now() - debut > 60_000) return "Temps écoulé.";3if (jetonsConsommes > 50_000) return "Budget atteint.";En production, on borne aussi la durée et le coût, pas seulement le nombre de tours.
4Erreurs courantes
Une boucle sans fin
À éviter
while (true) { … }À faire
for (let tour = 0; tour < MAX_TOURS; tour++)Pourquoi : Un modèle qui tourne en rond fait tourner la facture avec lui.
Cacher l'échec
À éviter
return "C'est fait !"; // après la limiteÀ faire
return "Je n'ai pas pu terminer.";Pourquoi : L'utilisateur doit savoir que la tâche n'a pas abouti.
Oublier la demande dans l'historique
À éviter
messages.push(resultat);À faire
messages.push(demande); messages.push(resultat);Pourquoi : Le modèle lirait un résultat sans savoir quelle question l'a produit.
5Subtilités à connaître
- ◆Les API réelles exigent que chaque résultat d'outil cite l'identifiant de l'appel qui l'a demandé.
- ◆Un agent peut déléguer une sous-tâche à un autre agent, avec sa propre boucle et ses propres outils.
- ◆Journaliser chaque tour (outil, arguments, durée) est indispensable pour comprendre un agent qui se trompe.
6Vérifie ta compréhension
Question 1/3
Score 0
Quand la boucle s'arrête-t-elle normalement ?
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.