Quand votre agent se comporte mal, savez-vous lequel est responsable ?

Un agent supprime un enregistrement qu'il ne devrait pas toucher. Il envoie un message au mauvais tenant. Il appelle une API en boucle et fait exploser votre facture.

Dix minutes après le début d'un incident, vous vous posez une seule question : quel agent a fait cela ?

Si vous ne le savez pas, vous ne pouvez pas le réparer. Vous ne pouvez pas arrêter le build. Vous ne pouvez pas auditer l'erreur. Vous ne pouvez pas tirer de leçon de cette erreur.

C'est un problème d'identité.

La plupart des équipes sont confrontées à trois schémas qui masquent les actions des agents :

  • Comptes de service partagés : dix agents utilisent un même ensemble d'identifiants. Chaque action semble identique dans vos logs.
  • Identifiants humains : l'agent utilise votre connexion. Les logs affichent votre nom, pas celui de l'agent. Cela crée un risque de sécurité massif.
  • Dérive silencieuse (silent drift) : deux builds différents utilisent le même nom. L'un utilise un nouveau modèle ou un nouveau prompt, mais les logs affichent la même identité.

Pour corriger cela, suivez ces étapes :

  1. Donnez à chaque agent sa propre identité. N'utilisez pas d'identifiants humains. N'utilisez pas de comptes partagés. L'agent doit s'authentifier en tant que lui-même.

  2. Apposez six champs spécifiques sur chaque action :

  • Accountable party : qui est responsable de cet agent ?
  • Operational owner : qui assure sa maintenance quotidienne ?
  • Tenant : pour quel client est-ce destiné ?
  • Agent-type-id : de quel build spécifique s'agit-il ?
  • Agent-instance-id : de quelle exécution spécifique s'agit-il ?
  • Trace context : où se situe-t-il dans la chaîne d'appels ?
  1. Utilisez des hashs pour le versionnage. Ne nommez pas votre agent « support-agent-v2 ». Si vous modifiez le prompt système, le nom reste le même, mais le comportement change. Utilisez plutôt un hash de contenu. Créez un hash basé sur l'image du conteneur, le prompt, le modèle et la configuration. Si vous modifiez une seule ligne de code, l'ID change. Cela rend la dérive silencieuse visible.

  2. Enregistrez la lignée (lineage). Les agents génèrent des sous-agents. Vous devez enregistrer quel agent parent a lancé le sous-agent. Vous devez également enregistrer le prompt que le parent a transmis au sous-agent. C'est le seul moyen de détecter des instructions injectées ou des données empoisonnées.

L'identité est votre surface de récupération. Elle vous permet d'utiliser un bouton d'arrêt d'urgence (kill switch) et de construire une piste d'audit. Vous devez mettre cela en place avant qu'un incident ne survienne. Ajouter l'identité en pleine crise, c'est trop tard.

Vérifiez vos logs dès maintenant. Regardez une action effectuée il y a une heure. Pouvez-vous nommer le build spécifique qui a effectué cette action ? Si vous ne le pouvez pas, vous avez une lacune à combler.

Source: https://dev.to/brennhill/when-your-agent-does-something-bad-can-you-tell-which-agent-did-it-37a2

Communauté d'apprentissage optionnelle: https://t.me/GyaanSetuAi