10 000 $, c'est là que l'agent s'arrête et qu'un humain décide
Tout circuit d'approbation a besoin d'un montant. En dessous, l'agent exécute. Au-dessus, une personne signe. Le bogue qui m'a appris où placer ce contrôle n'est apparu qu'aux tests d'intégration.
10 000 $. C’est la ligne entre un agent d’IA qui exécute une décision d’acheminement et un humain à qui l’on demande de l’approuver d’abord.
Pourquoi cela compte
Les entreprises confient à des agents d’IA les clés de vrais budgets. Une décision d’acheminement ici, une réaffectation de stock là, un changement de planning pendant la nuit. Chacune déplace de l’argent.
Tout circuit d’approbation a besoin d’un montant : une somme à partir de laquelle le système cesse de produire et se met à demander. En dessous, l’agent exécute. Au-dessus, un humain décide.
Sans ce montant, un agent peut engager une entreprise dans un réacheminement logistique à 20 000 $ dans le temps qu’il met à produire une phrase. Le directeur de la chaîne d’approvisionnement l’apprend à l’arrivée de la facture.
Le correctif est un seuil net où le système marque la pause et attend qu’un humain dise oui ou non.
Comment cela fonctionne
J’ai intégré cela dans un copilote ERP LangGraph pour la chaîne d’approvisionnement, déployé sur Azure Kubernetes Service.
Quand l’un des 7 solveurs déterministes renvoie un résultat dont le coût total dépasse 10 000 $, le système bloque l’exécution. La sortie du solveur est rangée dans Redis sous un identifiant de décision unique, avec une expiration à 24 heures. Un point de terminaison REST permet à un responsable d’approuver ou de refuser. Une garde d’idempotence rejette toute seconde approbation une fois la première tranchée.
Une conception plus simple journaliserait chaque décision et signalerait les anomalies après exécution. Mais en logistique d’approvisionnement, le temps que quelqu’un relise le journal, l’expédition est déjà sur un camion.
Le seuil est configurable. L’architecture tient à n’importe quel montant, parce que la porte se trouve à l’intérieur du nœud de répartition des solveurs, et non dans la couche d’orientation.
Ce placement a été une leçon. Dans une version précoce, le contrôle du coût s’exécutait dans la couche d’orientation, après que le solveur avait déjà rendu son résultat. Le drapeau d’approbation n’était jamais posé avant que la logique d’orientation l’évalue, donc les décisions coûteuses passaient en silence. Cela n’est apparu qu’aux tests d’intégration.
Depuis, chaque branche conditionnelle d’un graphe agentique voit son déclencheur évalué chez celui qui l’écrit, jamais chez celui qui le lit. La boucle complète a été vérifiée de bout en bout à deux dates distinctes.