Le modèle PRG pour les agents IA

Les agents IA sont confrontés à un vieux problème. C'est le même bug qui faisait planter les formulaires web dans les années 90.

À l'époque du web classique, un utilisateur soumettait un formulaire. S'il actualisait la page, le navigateur renvoyait les données. Cela signifiait deux commandes, deux prélèvements ou deux e-mails.

La solution était le modèle Post/Redirect/Get (PRG).

La logique est simple :

  • L'utilisateur envoie une requête POST.
  • Le serveur traite l'opération.
  • Le serveur envoie une redirection 302 vers une nouvelle URL.
  • Le navigateur suit la redirection avec une requête GET.

Désormais, une actualisation ne fait que recharger la page de résultat. Elle ne répète pas l'action.

Les agents IA ont ramené ce bug à un nouveau niveau.

Lorsqu'un agent appelle un outil pour débiter une carte ou créer un enregistrement, les choses tournent mal. Une coupure réseau survient. Un conteneur redémarre. Une limite de débit (rate limit) est atteinte. L'agent ne sait pas si le dernier appel a fonctionné. Alors, il réessaie.

Sans correctif, l'agent crée des commandes en double et facture des clients mécontents.

Vous devez appliquer le modèle PRG à vos pipelines d'agents en utilisant des clés d'idempotence.

La clé d'idempotence est votre redirection. Elle sépare l'action du résultat.

Comment l'implémenter :

  • Chaque outil de mutation doit accepter une clé d'idempotence.
  • Générez la clé avant la première tentative.
  • Dérivez la clé de l'intention de l'utilisateur, et non d'un horodatage.
  • Le serveur doit vérifier s'il a déjà vu la clé auparavant.
  • Si la clé existe, renvoyez le résultat stocké au lieu d'exécuter à nouveau la tâche.

Pour les tâches longues, une simple clé ne suffit pas. Vous avez besoin de checkpointing.

Le checkpointing sauvegarde l'état à chaque étape. Si l'agent plante au milieu d'une tâche de vingt minutes, il reprend là où il s'était arrêté. Il ne recommence pas tout.

Si vous ne devez faire qu'une seule chose, faites en sorte que chaque appel d'outil puisse être exécuté deux fois sans risque.

Construisez vos agents avec ces cinq vérifications :

  • Chaque outil accepte-t-il une clé d'idempotence ?
  • La clé est-elle basée sur l'intention plutôt que sur le temps ?
  • La clé est-elle réutilisée à chaque tentative ?
  • Le serveur renvoie-t-il les résultats stockés pour les clés en double ?
  • Les étapes intermédiaires sont-elles sauvegardées pour les tâches longues ?

Le modèle est le même. Seule la couche a changé.

Source: https://dev.to/ravikiran438/the-prg-pattern-for-ai-agents-a-25-year-old-fix-coming-of-age-in-a-new-era-23fh