Un agent qui ne s'arrête pas est dangereux.
Même s'il agit correctement, il peut :
- Consommer des ressources sans fin
- Rester bloqué dans une boucle
- Ou avancer vers un objectif qui n'est plus pertinent
Parce que sa tâche est de terminer le travail.
Pas de décider quand c'est suffisant.
Pourquoi un agent ne s'arrête pas tout seul

Un agent voit uniquement l'objectif.
Il ne ressent pas de fatigue.
Il ne voit pas le coût de ses actions.
Il ne comprend pas quand "c'est suffisant".
Si la tâche n'est pas terminée, il va continuer d'essayer.
Encore une étape.
Encore un outil.
Encore une requête.
Même si cela :
- N'aide pas
- Coûte de l'argent
- Ou répète la même chose encore
Quand cela devient un problème
Imaginez : un agent essaie de récupérer des données depuis une API.
L'API ne répond pas.
L'agent réessaie.
Puis encore.
Puis encore.
100 requêtes.
1000 requêtes.
Chacune coûte de l'argent.
Aucune ne donne de résultat.
Parce que de son point de vue, le travail n'est pas encore terminé.
Et la meilleure action est d'essayer encore une fois.
Conditions d'arrêt (Stop Conditions)
| Condition | Ce que cela limite |
|---|---|
| Objectif atteint | Tâche terminée |
| Limite d'étapes | Nombre d'actions |
| Limite de temps | Durée d'exécution |
| Budget | Tokens ou argent |
| Pas de progrès | Qualité du résultat |
Pour éviter qu'un agent travaille sans fin, on lui définit des conditions d'arrêt.
Ce sont des règles qui définissent :
- Quand continuer le travail
- Et quand terminer la tâche
L'agent s'arrête si :
- L'objectif est atteint — il y a un résultat
- La limite d'étapes est atteinte — le nombre maximal d'actions est exécuté
- La limite de temps est atteinte — la tâche n'est pas terminée avant l'échéance
- Le budget est épuisé — limite de tokens, d'argent ou d'appels API atteinte
- Il n'y a pas de progrès — le résultat ne s'améliore pas
- Toutes les options mènent à une erreur — il n'y a plus de suite possible
Donc même si la tâche n'est pas terminée, l'agent doit arrêter de travailler.
Qui définit les conditions d'arrêt
Un agent ne décide pas lui-même quand s'arrêter.
Il exécute simplement la tâche.
Les conditions d'arrêt sont définies par une personne ou un système avant le début.
Elles définissent :
- Combien d'étapes l'agent peut effectuer
- Combien de temps il peut utiliser
- Ou quel budget il peut consommer
L'agent travaille dans ces limites.
Ce qui se passe après l'arrêt
Quand une condition est remplie, l'agent arrête de travailler.
Même si la tâche n'est pas encore terminée.
Il retourne avec le résultat disponible.
Et il explique :
- Pourquoi il s'est arrêté
- Et à quelle étape
En code, cela ressemble à ceci
Ci-dessous, le même principe en format simple :
après chaque étape, le système vérifie s'il est temps de s'arrêter.
1) On a des actions simples de l'agent
def try_fetch_data():
return {"ok": False, "reason": "api_timeout"}
def analyze_data():
return {"ok": True, "report": "done"}
2) On définit les stop conditions
MAX_STEPS = 5
MAX_ERRORS = 3
GOAL_REACHED = False
3) L'agent exécute des étapes en boucle
step = 0
errors = 0
last_result = None
stop_reason = None
while True:
step += 1
last_result = try_fetch_data()
if last_result["ok"]:
GOAL_REACHED = True
4) Après chaque étape, on vérifie les conditions d'arrêt
if not last_result["ok"]:
errors += 1
if GOAL_REACHED:
stop_reason = "goal_reached"
break
if step >= MAX_STEPS:
stop_reason = "step_limit"
break
if errors >= MAX_ERRORS:
stop_reason = "too_many_errors"
break
5) On retourne une fin contrôlée
result = {
"stop_reason": stop_reason,
"steps": step,
"errors": errors,
"last_result": last_result,
}
Dans cet exemple, l'agent s'arrête non pas "quand il veut", mais quand une condition se déclenche.
Exemple complet d'implémentation avec LLM connecté
Analogie du quotidien
Imaginez que vous réglez un minuteur sur un four.
Le plat peut ne pas être prêt, mais quand le temps est écoulé, le four s'éteint.
Parce que sinon, il continuerait à fonctionner.
Et il pourrait :
- Surchauffer
- Consommer de l'électricité en plus
- Ou gâcher le plat
C'est exactement ainsi que les conditions d'arrêt limitent le travail de l'agent.
En bref
L'agent essaie de terminer la tâche.
Il ne sait pas quand c'est suffisant.
C'est pourquoi on lui donne des conditions d'arrêt :
- Limite d'étapes
- Limite de temps
- Budget
- Ou absence de progrès
Quand une condition est remplie, l'agent arrête de travailler.
FAQ
Q: Un agent peut-il décider seul quand s'arrêter ?
A: Non. L'agent ne définit pas lui-même quand c'est suffisant — il travaille jusqu'à l'objectif atteint ou jusqu'à ce qu'une condition d'arrêt soit remplie.
Q: Qu'est-ce que les conditions d'arrêt ?
A: Ce sont des règles qui définissent quand l'agent doit arrêter le travail, par exemple après une limite de temps ou d'étapes.
Q: Qui définit les conditions d'arrêt ?
A: Une personne ou un système avant le début de l'exécution de la tâche.
Et ensuite
Maintenant, vous savez quand un agent doit s'arrêter.
Mais pour fonctionner dans un environnement réel, il lui faut plus :
- Mémoire — pour ne pas repartir de zéro
- Limites d'action — pour ne pas en faire trop
- Conditions d'arrêt — pour ne pas travailler sans fin
- Contrôle d'exécution — pour savoir ce qui se passe
Comment transformer un prototype en un système auquel on peut faire confiance ?