1. Introduction#
Une boucle agentique (Agent Loop) est un mécanisme itératif permettant à un agent IA d’enchaîner des décisions et des actions jusqu’à l’atteinte d’un objectif ou d’une condition d’arrêt.
Contrairement à un workflow strictement prédéfini, l’agent peut adapter les étapes suivantes en fonction des résultats obtenus.
Une boucle agentique repose généralement sur cinq opérations :
- Observation : analyser le contexte et l’état actuel.
- Décision : déterminer la prochaine action.
- Action : exécuter un outil ou produire une réponse.
- Évaluation : examiner le résultat.
- Continuation ou arrêt : poursuivre ou terminer l’exécution.
La boucle est orchestrée par le harness, qui gère les appels au modèle, l’exécution des outils et les conditions d’arrêt.
2. Fonctionnement d’une boucle agentique#
Chaque itération peut comprendre un ou plusieurs appels au modèle et aux outils.
| Étape | Responsabilité | Exemple |
|---|---|---|
| Input | Recevoir l’objectif | Corriger une fonction Python |
| Reasoning | Analyser le problème | Identifier une cause probable |
| Planning | Préparer une ou plusieurs actions | Examiner les tests |
| Action | Exécuter une opération | Modifier un fichier |
| Observation | Récupérer les résultats | Lire la sortie de pytest |
| Feedback | Ajuster la démarche | Corriger une nouvelle erreur |
| Stop | Terminer ou interrompre | Tests réussis ou limite atteinte |
Ces opérations ne correspondent pas nécessairement à des appels LLM distincts. Certaines peuvent être regroupées ou gérées directement par le harness.
La boucle permet d’adapter l’exécution à des situations qui n’étaient pas entièrement prévisibles.
Raisonnement et planification#
Deux notions doivent être distinguées :
- Reasoning : traitement du problème et choix d’une action.
- Planning : organisation des actions à réaliser, éventuellement sur plusieurs étapes.
Un agent peut agir sans produire de plan explicite.
De même, les étapes de raisonnement internes au modèle ne sont pas nécessairement accessibles ni directement vérifiables.
3. Les principaux patterns agentiques#
Plusieurs patterns permettent d’organiser les décisions, les actions et les vérifications.
| Pattern | Principe | Cas d’utilisation |
|---|---|---|
| ReAct | Alterner décisions, actions et observations | Exploration de code, recherche d’informations |
| Plan-and-Execute | Construire un plan, puis exécuter ses étapes | Développement d’une fonctionnalité |
| Reflection | Réexaminer une production pour l’améliorer | Correction ou révision |
| Evaluator-Optimizer | Produire, évaluer, puis améliorer selon un retour | Génération de code ou de rapports |
| Retry / Recovery | Réessayer ou adapter une action après un échec | Erreur d’API, test échoué |
Ces patterns peuvent être combinés. Ils ne constituent pas nécessairement des architectures exclusives.
3.1. ReAct (Reasoning and Acting)#
Le pattern ReAct associe la prise de décision à l’utilisation d’outils et à l’observation de leurs résultats.
L’agent choisit progressivement les prochaines actions, sans nécessiter un plan complet dès le départ.
Exemple :
- Examiner un fichier Python.
- Identifier une dépendance potentiellement problématique.
- Consulter les fichiers de configuration.
- Modifier le code.
- Exécuter les tests et examiner leurs résultats.
Avantage : adaptation aux informations découvertes.
Limite : risque d’itérations nombreuses ou d’actions peu pertinentes.
3.2. Plan-and-Execute#
Le pattern Plan-and-Execute sépare la planification de l’exécution.
L’agent commence par établir les étapes nécessaires, puis les réalise successivement.
Exemple : création d’un pipeline Data Engineering
- Examiner les sources de données.
- Définir les transformations.
- Implémenter le pipeline.
- Ajouter les contrôles qualité.
- Exécuter les tests.
Le plan peut être révisé lorsque de nouvelles informations apparaissent.
Avantage : meilleure structuration des tâches complexes.
Limite : un plan initial incorrect peut orienter toute l’exécution.
3.3. Reflection et Evaluator-Optimizer#
La Reflection consiste à réexaminer un résultat afin d’identifier des erreurs ou des améliorations.
Le pattern Evaluator-Optimizer formalise cette démarche en distinguant :
- Generator : produit une première solution.
- Evaluator : examine la solution selon des critères.
- Optimizer : améliore la solution à partir du retour.
Ces rôles peuvent être assurés par un seul modèle, plusieurs appels LLM ou des composants distincts.
Exemple : générer une requête SQL, vérifier son résultat, puis corriger les anomalies détectées.
La qualité de l’évaluation reste déterminante. Une auto-évaluation par LLM ne remplace pas des tests objectifs.
4. Gestion des erreurs et récupération#
Les agents doivent pouvoir réagir aux échecs rencontrés pendant l’exécution.
| Stratégie | Description |
|---|---|
| Retry | Réexécuter une opération après un échec temporaire |
| Backoff | Augmenter le délai entre plusieurs tentatives |
| Fallback | Utiliser une méthode ou un outil alternatif |
| Replanning | Réviser le plan initial |
| Rollback | Annuler des modifications lorsque cela est possible |
| Escalation | Demander une intervention humaine |
Exemple : lorsqu’un appel API échoue, l’agent peut vérifier le type d’erreur, réessayer si elle est temporaire ou signaler un problème d’authentification.
Il faut éviter les tentatives répétées sans modification de stratégie.
Une erreur permanente (permissions insuffisantes, ressource inexistante) ne se résout généralement pas avec davantage d’itérations.
5. Conditions d’arrêt#
Une boucle agentique doit disposer de conditions d’arrêt explicites.
| Condition | Description |
|---|---|
| Objectif atteint | Les critères de réussite sont satisfaits |
| Final Output | Le modèle produit une réponse finale |
| Max Iterations | Nombre maximal d’itérations atteint |
| Timeout | Durée maximale dépassée |
| Budget | Limite de consommation atteinte |
| Repeated Failures | Échecs successifs ou absence de progression |
| Human Approval | Exécution suspendue en attente d’autorisation |
Il faut distinguer l’arrêt de la boucle de la réussite de la tâche.
Un agent peut terminer normalement sans avoir atteint son objectif, ou être interrompu après avoir effectué des modifications partielles.
Une réponse finale du modèle ne constitue donc pas, à elle seule, une preuve de réussite.
6. Boucles synchrones, asynchrones et supervision#
L’exécution d’un agent peut être organisée de différentes manières.
| Mode | Fonctionnement | Exemple |
|---|---|---|
| Synchrone | L’application attend le résultat de l’exécution | Analyse ponctuelle |
| Asynchrone | L’exécution est suivie sans bloquer le processus appelant | Traitement long |
| Supervisé | Certaines actions nécessitent une validation | Modification sensible |
| Autonome encadré | L’agent poursuit dans un périmètre autorisé | Tests et refactoring |
L’asynchronisme et le niveau d’autonomie sont deux dimensions indépendantes.
Une exécution asynchrone n’implique pas nécessairement une exécution sans supervision humaine.
Human-in-the-Loop (HITL)#
Une boucle peut être suspendue pour obtenir une validation humaine.
Celle-ci peut être nécessaire avant :
- une suppression de données ;
- une modification importante ;
- une opération irréversible ;
- un déploiement en production.
La reprise dépend du support de gestion d’état et de persistance fourni par l’environnement d’exécution.
7. Évaluation et optimisation des boucles#
Une boucle agentique ne doit pas être évaluée uniquement sur sa capacité à terminer une tâche.
| Indicateur | Objectif |
|---|---|
| Success Rate | Mesurer la proportion de tâches correctement réalisées |
| Iterations | Suivre le nombre d’itérations |
| Tool Calls | Mesurer les appels d’outils |
| Token Usage | Surveiller la consommation de tokens |
| Latency | Mesurer la durée d’exécution |
| Cost | Évaluer le coût global |
| Failure Rate | Identifier les échecs et blocages |
Bonnes pratiques#
- Définir des critères de réussite vérifiables.
- Limiter les itérations et les coûts.
- Éviter les appels d’outils inutiles.
- Journaliser les actions et leurs résultats.
- Prévoir des stratégies de récupération.
- Privilégier des vérifications déterministes lorsque cela est possible.
Une boucle plus longue n’est pas nécessairement plus efficace. L’objectif est d’obtenir un résultat fiable avec une complexité et un coût maîtrisés.
8. Synthèse#
Les boucles agentiques permettent à un agent d’adapter progressivement ses actions selon les résultats obtenus.
Les notions essentielles sont :
- Agent Loop : succession itérative de décisions, actions et observations.
- ReAct : décisions progressives guidées par les observations.
- Plan-and-Execute : planification préalable puis exécution.
- Reflection : réexamen critique d’une production.
- Evaluator-Optimizer : amélioration itérative à partir d’une évaluation.
- Recovery : adaptation après un échec.
- Stopping Conditions : règles contrôlant la fin ou l’interruption d’une exécution.
La qualité d’une boucle agentique dépend autant de ses mécanismes de vérification et d’arrêt que des décisions prises par le modèle.
