Aller au contenu
Mastering Claude

Accueil / Plusieurs agents et vérification adverse

Plusieurs agents et vérification adverse8 minApplication

Trois états d'échec, et accepter un risque proprement

Une automatisation qui traite une file devrait distinguer succès, échec récupérable qui sera retenté, et échec définitif abandonné, et seul le troisième doit remonter à une personne, sinon chaque échec récupérable éteint la valeur de l'alerte le jour où elle a raison ; accepter un risque avec un contrôle compensatoire diffère de l'ignorer, un instantané pris avant l'exécution permettant de classer le résultat en trois voies, variation normale silencieuse, changement important qui alerte seulement, perte catastrophique qui restaure automatiquement.

Une file de tâches automatisées produit trois résultats possibles pour chaque élément traité : un succès, un échec récupérable qui sera retenté plus tard, et un échec définitif qui restera en échec quoi que le système fasse ensuite. Confondre les deux derniers dans une seule catégorie d'échec casse la valeur de toute alerte construite dessus.

Pourquoi confondre les deux échecs éteint l'alerte

Si chaque échec récupérable déclenche la même alerte qu'un échec définitif, une équipe reçoit une notification pour un incident qui va probablement se résoudre tout seul au prochain essai. Répétée assez souvent, cette alerte perd sa valeur : les personnes qui la reçoivent apprennent à la fermer sans la lire, parce que la plupart du temps elle ne signale rien qui exige une action immédiate. Le jour où elle porte enfin un échec définitif, la réaction attendue ne vient plus, exactement parce que l'alerte a eu raison trop souvent pour de mauvaises raisons. Un dépassement de délai réseau ponctuel illustre un échec récupérable typique, il disparaît souvent au prochain essai ; une donnée manquante à la source, qui ne réapparaîtra pas toute seule, illustre un échec définitif typique.

resultat = traiter(tache)

si resultat == succes:
    ne rien signaler

sinon si resultat == echec_recuperable:
    remettre la tache en file, ne pas alerter

sinon si resultat == echec_definitif:
    alerter une personne

Accepter un risque, ce n'est pas l'ignorer

Un contrôle compensatoire accepte le risque d'une action plutôt que de l'empêcher à l'avance : il laisse l'action se produire, puis vérifie après coup si elle a eu l'effet attendu. Un instantané pris avant l'exécution rend cette vérification possible en donnant un point de comparaison, le résultat obtenu se classe alors en trois voies, une variation normale qui reste silencieuse, un changement important qui alerte sans agir seul, et une perte catastrophique qui déclenche une restauration automatique. Un contrôle compensatoire qui n'a jamais été déclenché sur des données de test ne mérite pas encore la confiance qu'on lui accorde. Une leçon précédente montre que multiplier les agents ne rend pas un résultat plus fiable ; distinguer proprement ces trois états d'échec est une autre façon de garder la main sur ce qui remonte réellement, plutôt que de laisser chaque alerte se déclencher au même niveau.

Figure 1

Réessai automatique ou remontée humaine, selon le type d'échec

Échec temporaire, une nouvelle tentative peut réussir
Échec définitif, aucune nouvelle tentative ne changera le résultat
Le système réessaie automatiquement

Retentative silencieuse

La tâche est remise en file sans alerter personne, c'est le cas normal d'un échec temporaire.

Alerte prématurée

Une personne est dérangée pour un incident qui allait probablement se résoudre au prochain essai, ce qui use la valeur de l'alerte.

Le système s'arrête et remonte à une personne

Échec masqué

Le système retente indéfiniment un échec qui ne se résoudra jamais, sans que personne ne le sache.

Remontée légitime

Seul ce cas mérite de déranger une personne, l'action ne réussira pas sans intervention humaine.

La matrice croise le caractère temporaire ou définitif d'un échec avec la réaction du système, retentative automatique ou remontée à une personne : une seule combinaison sur quatre mérite de déranger quelqu'un.
Calibrez vous-même

Un gestionnaire configure une automatisation qui envoie une notification à son équipe chaque fois que l'un des cent dossiers traités échoue durant la nuit, que la cause soit un dépassement de délai réseau ponctuel ou une donnée manquante dans le dossier source.

Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.

Ce qu’il faut retenir
  • Une file de tâches automatisées gagne à distinguer trois résultats, succès, échec récupérable qui sera retenté, et échec définitif, seul ce dernier devant déclencher une alerte adressée à une personne.
  • Faire remonter chaque échec récupérable comme s'il s'agissait d'un échec définitif use la valeur de l'alerte, au point que personne ne réagit plus le jour où elle signale un vrai problème.
  • Un instantané pris avant l'exécution permet de classer le résultat obtenu en trois voies distinctes, une variation normale traitée en silence, un changement important qui alerte seulement, et une perte catastrophique qui déclenche une restauration automatique.
  • Un contrôle compensatoire accepte le risque d'une action plutôt que de l'empêcher, à condition d'avoir été réellement déclenché sur des données de test avant qu'on lui fasse confiance.
À faire maintenant

Choisissez une automatisation que vous utilisez déjà et qui traite plusieurs éléments à la suite. Pour un échec récupérable et pour un échec définitif, écrivez sur une ligne ce qui se passe aujourd'hui, rien ne remonte, une retentative silencieuse, ou une personne est dérangée, et repérez si les deux types d'échec produisent la même réaction.