Agent governance : contrôle et pilotage des agents IA en production

Framework pratique de contrôle des agents IA en production : accès, limites, approval, audit logs, kill switch et rollback.
Sur cette page
  1. Idée en 30 secondes
  2. Problème
  3. Solution
  4. Governance != Safety
  5. Exemple
  6. Niveaux de contrôle (governance layers)
  7. Comment cela se place dans l'architecture
  8. Stack governance minimale
  9. Exemple
  10. Erreurs fréquentes
  11. Auto-vérification
  12. FAQ
  13. Pages liées

Idée en 30 secondes

Agent governance est une couche de contrôle au-dessus du runtime qui vérifie chaque étape de l'agent : accès aux tools, limites, budgets et décisions policy avant exécution des actions.

Quand c'est nécessaire : quand l'agent a accès à des tools, APIs, ou exécute des actions réelles en production.

Problème

Sans governance, un agent en production paraît souvent "presque normal" jusqu'au moment de la panne. Il peut appeler des tools à répétition, consommer du budget sans progrès et exécuter des actions que personne n'a explicitement autorisées.

Le pire : ce n'est pas visible immédiatement. Vu de l'extérieur, le run "continue", alors qu'à l'intérieur les risques, coûts et bruit dans les logs augmentent déjà. Sans governance, l'agent est une boucle non contrôlée avec accès aux tools.

Analogie : c'est comme un autopilote de voiture sans limite de vitesse, freins, ni journal d'événements. Tant que la route est droite, tout semble correct. Quand quelque chose part mal, arrêter et comprendre devient bien plus difficile.

C'est exactement pour cela que la governance est nécessaire : pour que le système ait des limites avant l'incident, et pas après.

Solution

La solution est d'ajouter dans le runtime une policy layer dédiée qui prend une décision technique avant chaque action. La policy layer retourne une des trois décisions : allow, deny ou approval_required. C'est un niveau séparé du système, pas une partie du prompt ni de la logique du modèle. Comme RBAC, ces vérifications s'exécutent avant chaque action de l'agent.

La governance est ce qui se place entre l'agent et les actions réelles. Autrement dit, c'est le control plane pour les agents IA.

👉 Governance ne force pas l'agent à se comporter correctement, elle limite ce que l'agent peut réellement faire.

Elle s'implémente comme middleware / policy layer (par exemple dans LangGraph ou un tool gateway custom). Dans cet article, la policy layer (tool gateway) est le composant qui vérifie et contrôle tous les tool calls.

Governance != Safety

Ce sont deux niveaux de contrôle différents :

  • Safety : si la décision proposée par l'agent est correcte.
  • Governance : si l'agent a le droit d'exécuter cette action en runtime.

Si safety se trompe, governance limite quand même le dommage au niveau runtime.

Exemple

Un agent de support sans governance peut, à cause d'une hallucination, appeler l'API de remboursement des dizaines de fois.

Avec governance :

  • max_tool_calls = 3
  • max_usd = 100 → l'agent s'arrête à la limite, pas après la perte d'argent.

Governance stoppe l'incident au niveau exécution, sans dépendre du bon comportement du modèle.

Niveaux de contrôle (governance layers)

Ces niveaux fonctionnent ensemble à chaque étape de l'agent.

NiveauCe qu'il contrôleMécaniques clésPourquoi
Access controlAccès aux actions et toolsRBAC
allowlist / denylist
Vérifié avant chaque tool call, bloque les actions non autorisées
Execution controlDéroulé d'exécution du runmax_steps
rate limiting
limites sur les tool calls
Stoppe les boucles et le tool spam
Cost controlDépensesmax_tokens
max_tool_calls
max_usd
Limite le budget et les dépenses runaway
Human controlIntervention humainehuman approval
kill switch
Permet de confirmer ou d'arrêter en urgence
ObservabilityVisibilité des événementsaudit logs
traces
métriques
alerts (Slack / PagerDuty)
Permet de détecter et analyser rapidement les incidents
Lifecycle controlMises à jour de l'agentversioning
rollback
Permet des releases sûres et un rollback rapide

Exemple d'alerte :

Slack alert: 🛑 Agent Support-Bot hit max_usd limit ($100). Run stopped at step 12.

En production, cela ressemble généralement à un dashboard de métriques : runs, tool calls, cost, errors.

Comment cela se place dans l'architecture

Agent governance est insérée entre le runtime de l'agent et le monde externe :

Aucun tool call n'est exécuté sans passer par la policy layer.

La policy layer (tool gateway) agit comme gateway / middleware entre runtime et tools.

Chaque appel d'outil passe par :

  • Policy layer -> vérification des accès et limites
  • Execution -> exécution seulement si allow
  • Logs -> écriture dans audit / trace

Stack governance minimale

  • allowlist (default deny) — limite l'accès aux tools
  • max_steps — stoppe les boucles
  • budgets — limitent les dépenses
  • retry policy — évite le chaos de retries
  • audit logs — permettent l'analyse d'incident
  • stop reasons — expliquent pourquoi l'agent s'est arrêté
  • kill switch — permet l'arrêt d'urgence pendant incident

C'est le minimum, sans lequel un agent n'est pas un système de production.

Exemple

L'agent appelle un tool :

  • allowlist est vérifiée
  • RBAC est vérifié
  • budget est vérifié
  • approval est vérifiée

→ l'action n'est exécutée qu'après ces checks.

Flow policy minimal :

PYTHON
if not policy.allow(tool, args):
    return deny("tool_not_allowed")
if not limits.steps_ok():
    return stop("max_steps_exceeded")
if not budget.ok():
    return stop("budget_exceeded")
result = tool.execute(args)
audit.log(tool, args, result)
return result

Erreurs fréquentes

  • s'appuyer uniquement sur le prompt au lieu du contrôle runtime
  • absence de policy layer centralisée
  • absence de default-deny allowlist
  • absence de budgets et limites
  • logique de retry dispersée sur plusieurs couches
  • audit logs absents
  • aucun moyen d'arrêter l'agent

Au final, le système semble contrôlé alors qu'il ne l'est pas.

Auto-vérification

Vérification rapide avant le lancement en production :

Progression: 0/8

⚠ Les contrôles de governance de base manquent

Avant la production, il faut au minimum le contrôle d'accès, des limites, des audit logs et un arrêt d'urgence.

FAQ

Q: Pourquoi governance ne peut pas être remplacée par un seul system prompt ?
A: Le prompt décrit le comportement souhaité. Governance impose les limites d'action réelles en runtime.

Q: Quel est le minimum de governance avant production ?
A: Minimum : default-deny allowlist, limites (max_steps, budgets), stop reason, audit logs et kill switch. Sans cela, l'agent reste non contrôlé sous charge.

Q: Que faut-il implémenter d'abord : approval ou budgets ?
A: D'abord les limites runtime et les budgets pour limiter immédiatement le risque de base sur chaque run. Ensuite, ajouter approval pour les actions risquées et irréversibles (opérations write, changements financiers, suppression de données).

Q: Le kill switch suffit-il pour la sécurité ?
A: Non. Le kill switch est un frein d'urgence, mais ne remplace pas le contrôle d'accès continu, les budgets, les rate limits et l'audit des actions.

Q: Comment le kill switch est-il implémenté techniquement ?
A: En général, c'est un simple flag global (par exemple dans Redis), vérifié par la policy layer avant chaque étape pour stopper l'exécution.

Pages liées

Pour continuer :

⏱️ 7 min de lectureMis à jour 24 mars 2026Difficulté: ★★★
Implémenter dans OnceOnly
Budgets + permissions you can enforce at the boundary.
Utiliser dans OnceOnly
# onceonly guardrails (concept)
version: 1
budgets:
  max_steps: 25
  max_tool_calls: 12
  max_seconds: 60
  max_usd: 1.00
policy:
  tool_allowlist:
    - search.read
    - http.get
writes:
  require_approval: true
  idempotency: true
controls:
  kill_switch: { enabled: true }
Intégré : contrôle en productionOnceOnly
Ajoutez des garde-fous aux agents tool-calling
Livrez ce pattern avec de la gouvernance :
  • Budgets (steps / plafonds de coût)
  • Permissions outils (allowlist / blocklist)
  • Kill switch & arrêt incident
  • Idempotence & déduplication
  • Audit logs & traçabilité
Mention intégrée : OnceOnly est une couche de contrôle pour des systèmes d’agents en prod.

Auteur

Nick — ingénieur qui construit une infrastructure pour des agents IA en production.

Focus : patterns d’agents, modes de défaillance, contrôle du runtime et fiabilité des systèmes.

🔗 GitHub: https://github.com/mykolademyanov


Note éditoriale

Cette documentation est assistée par l’IA, avec une responsabilité éditoriale humaine pour l’exactitude, la clarté et la pertinence en production.

Le contenu s’appuie sur des défaillances réelles, des post-mortems et des incidents opérationnels dans des systèmes d’agents IA déployés.