Quand un agent doit s'arrêter (et qui le décide)

Parce que sa tâche est de terminer le travail. Pas de décider quand c'est suffisant.
Sur cette page
  1. Pourquoi un agent ne s'arrête pas tout seul
  2. Quand cela devient un problème
  3. Conditions d'arrêt (Stop Conditions)
  4. Qui définit les conditions d'arrêt
  5. Ce qui se passe après l'arrêt
  6. En code, cela ressemble à ceci
  7. 1) On a des actions simples de l'agent
  8. 2) On définit les stop conditions
  9. 3) L'agent exécute des étapes en boucle
  10. 4) Après chaque étape, on vérifie les conditions d'arrêt
  11. 5) On retourne une fin contrôlée
  12. Analogie du quotidien
  13. En bref
  14. FAQ
  15. Et ensuite

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

Agent IA : Quand un agent doit s'arrêter (et qui le décide)

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.

Diagram

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)

ConditionCe que cela limite
Objectif atteintTâche terminée
Limite d'étapesNombre d'actions
Limite de tempsDurée d'exécution
BudgetTokens ou argent
Pas de progrèsQualité 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

PYTHON
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

PYTHON
MAX_STEPS = 5
MAX_ERRORS = 3
GOAL_REACHED = False

3) L'agent exécute des étapes en boucle

PYTHON
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

PYTHON
    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

PYTHON
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é

PYPython
TSTypeScript · bientôt

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

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 ?

⏱️ 6 min de lectureMis à jour Mars, 2026Difficulté: ★★☆
Suite pratique

Exemples d’implémentation du patron

Passe à l’implémentation avec des projets d’exemple.

Intégré : contrôle en productionOnceOnly
Ajoutez des garde-fous aux agents tool-calling
Livrez ce pattern avec de la gouvernance :
  • Budgets (steps / plafonds de coût)
  • Permissions outils (allowlist / blocklist)
  • Kill switch & arrêt incident
  • Idempotence & déduplication
  • Audit logs & traçabilité
Mention intégrée : OnceOnly est une couche de contrôle pour des systèmes d’agents en prod.
Auteur

Cette documentation est organisée et maintenue par des ingénieurs qui déploient des agents IA en production.

Le contenu est assisté par l’IA, avec une responsabilité éditoriale humaine quant à l’exactitude, la clarté et la pertinence en production.

Les patterns et recommandations s’appuient sur des post-mortems, des modes de défaillance et des incidents opérationnels dans des systèmes déployés, notamment lors du développement et de l’exploitation d’une infrastructure de gouvernance pour les agents chez OnceOnly.