Je ne fais pas confiance à un agent; je lui donne une permission précise
Je me méfie du mot confiance dans les discussions sur les agents. Un modèle ne porte pas la conséquence d’une erreur. Je préfère représenter l’autonomie comme une machine à états et une série de permissions explicites.
Observer -> Proposer -> Préparer -> Confirmer -> Exécuter -> Vérifier
| | | |
`------ Suspendre / Refuser / Reprendre -------'
Chaque état possède des outils. Observer peut lire un dossier autorisé. Préparer peut écrire un brouillon dans un espace temporaire. Exécuter exige un jeton limité à l’action approuvée. Vérifier lit le résultat sans obtenir de nouveau droit. L’agent ne saute pas un état parce que son texte semble confiant.
Une passerelle d’outils reçoit chaque appel et évalue identité, ressource, montant, heure, environnement et version de l’agent. La politique reste déterministe :
Elle applique aussi un plafond quotidien par identité et par outil.
autoriser si
outil = "creer_brouillon"
ET dossier appartient au périmètre
ET nombre_actions < 20
sinon refuser et journaliser
Le modèle peut choisir parmi les outils offerts; il ne fabrique pas une nouvelle permission.
Élargir les droits avec des preuves
Je ferais évoluer un cas d’usage en quatre paliers :
- shadow mode : proposition conservée, aucun effet réel;
- brouillon : écriture dans une zone temporaire, toujours révisée;
- approbation : exécution ponctuelle après confirmation détaillée;
- automatique limité : seulement les cas stables sous un seuil de risque.
Le passage dépend des erreurs par catégorie, pas d’un nombre vague de succès. Une centaine de formulaires bien remplis ne prouve rien sur une transaction financière. Pour le routage interne d’une demande réversible, 99 % avec une bonne file de reprise peut suffire. Pour publier ou payer, le périmètre reste beaucoup plus serré.
Je veux aussi mesurer l’abstention. Donnée manquante, comptes presque identiques, règle contradictoire, interface changée ou service lent doivent mener à Suspendre. Un taux d’achèvement élevé obtenu en devinant est un mauvais indicateur.
Après une action, l’agent vérifie l’état au système de référence. Si la réponse réseau se perd, l’identifiant d’opération permet de retrouver le résultat sans rejouer. Pour une action réversible, une compensation est définie : annuler la tâche, remettre l’ancien statut, retirer le brouillon. Une transaction externe irréversible reste derrière une approbation humaine.
Le journal relie objectif, sources, outils, paramètres, décisions de politique, version et résultat final. Les secrets sont masqués. Une alerte détecte boucles, volume, refus répétés et dérive des corrections. Le propriétaire peut suspendre une identité ou une version depuis notre contrôle, sans attendre le fournisseur.
La reprise est testée : on coupe le modèle pendant une tâche, révoque le compte et confirme que le workflow officiel continue. Les brouillons orphelins sont listés et supprimés selon une règle. Une version nouvelle retourne au premier palier jusqu’à avoir repassé les cas critiques.
Je ne fais donc pas confiance à un agent en bloc. J’accorde à une identité, une version et une tâche un droit observable, avec un seuil et une révocation. L’autonomie peut grandir; la responsabilité reste chez la personne qui signe cette permission et surveille ce qu’elle produit.