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

Exemple
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

Exemple
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.