Restons en contact

Social

IA· 12 min de lecture

Agents IA autonomes en production : 5 garde-fous non négociables

Agents IA autonomes en production : périmètre, validation humaine, budgets, traçabilité, isolation des écritures. 5 garde-fous testés au iones lab.

Des agents IA autonomes qui trient des tickets, proposent des corrections ou mettent à jour un CRM : la technologie est prête, les garde-fous rarement. Nous avons confronté deux agents à 412 tickets réels pendant six semaines. Voici les cinq garde-fous que nous considérons comme non négociables, avec pour chacun le pourquoi, la mise en œuvre, nos chiffres et l’erreur la plus fréquente.

Pourquoi des garde-fous : ce que montrent nos tests et l’OWASP

Dans l’expérimentation EXP-06 du iones lab, deux agents, Jarvis et OpenClaw, ont traité pendant six semaines 412 tickets réels anonymisés, dont 138 corrections tentées.

Indicateur (EXP-06)Résultat
Qualification correcte des tickets91 %
Priorité identique à celle du lead87 %
Corrections acceptées sans modification34 % (+ 22 % après retouche)
Corrections « techniquement fonctionnelles mais fausses »18
Actions risquées bloquées par les garde-fous7, dont 2 suppressions de données de test
Latence médiane du triage6,8 s (jusqu’à 4 min pour une correction)
Coût par ticket trié0,04 €
Consommation d’OpenClaw vs Jarvis11× plus de tokens pour +2 points

Ces chiffres disent deux choses : les agents sont utiles, et ils se trompent d’une manière qu’un test automatisé ne voit pas toujours. Le référentiel de l’OWASP va dans le même sens. Dans le Top 10 2026 pour les applications LLM, l’Excessive Agency (LLM03) passe du 6e au 3e rang et l’Unbounded Consumption (LLM06) du 10e au 6e ; la prompt injection reste en tête. L’OWASP publie aussi, depuis le 9 décembre 2025, un Top 10 dédié aux applications agentiques (ASI01 à ASI10).

Garde-fouRisques OWASP principalement concernés (notre lecture)
1. Périmètre et liste blancheLLM03 Excessive Agency ; ASI02 Tool Misuse & Exploitation ; ASI03 Identity & Privilege Abuse
2. Validation humaine graduéeASI01 Agent Goal Hijack ; ASI09 Human-Agent Trust Exploitation
3. Budgets et arrêt d’urgenceLLM06 Unbounded Consumption ; ASI08 Cascading Failures
4. Traçabilité et supervisionASI10 Rogue Agents ; ASI06 Memory & Context Poisoning (détection)
5. Écritures isoléesASI05 Unexpected Code Execution ; LLM10 Improper Output Handling

Garde-fou n° 1 : un périmètre et une liste blanche d’actions

Pourquoi

Un agent n’a pas d’intention propre : il enchaîne les actions que son raisonnement juge utiles. Si une action est techniquement possible, elle finira par être tentée, par erreur ou sous l’effet d’une instruction injectée dans un ticket ou un e-mail.

Comment l’implémenter

  • Inventoriez les actions nécessaires et classez-les : lecture, écriture réversible, écriture irréversible.
  • Refusez par défaut : seules les actions listées sont exécutables, et la liste est appliquée hors du modèle, dans la couche d’outils.
  • Lecture seule par défaut : l’écriture s’ouvre action par action, avec une justification.
  • Compte de service dédié, aux droits minimaux, jamais un compte d’administrateur partagé.
yaml
agent: triage-support
par_defaut: refuser
actions:
  ticket.lire:              { mode: lecture }
  ticket.qualifier:         { mode: ecriture_reversible, validation: echantillon }
  ticket.commenter_interne: { mode: ecriture_reversible, validation: aucune }
  ticket.commenter_client:  { mode: ecriture, validation: humaine_obligatoire }
  depot.creer_branche:      { mode: ecriture_isolee }
interdit: [base.supprimer, prod.*, depot.fusionner, depot.forcer_push]

Ce que nous avons mesuré

Dans EXP-06, la liste blanche et le blocage de toute commande touchant la production ont intercepté 7 actions risquées, dont 2 suppressions de données de test. Dans l’expérimentation EXP-01, un connecteur MCP en écriture sur Redmine a été abandonné après 2 tickets modifiés par erreur : depuis, nos connecteurs sont en lecture seule par défaut.

Erreur fréquente

Confier la sécurité au prompt (« tu ne dois jamais supprimer de données »). En juillet 2025, un fondateur a raconté comment un agent de développement a supprimé sa base de production malgré un gel de code explicitement demandé. Une consigne n’est pas un contrôle d’accès.

Garde-fou n° 2 : une validation humaine graduée

Pourquoi

Tout faire valider ralentit tout ; ne rien faire valider expose à l’erreur silencieuse. Notre conclusion d’EXP-06 : l’autonomie n’est pas un interrupteur, c’est un curseur, réglé action par action selon le risque et le taux d’erreur mesuré.

Comment l’implémenter

NiveauL’agent…L’humain…Exemple
0 — Suggèrepropose une réponsedécide et agitRéponse à un litige client
1 — Prépareproduit un brouillon, une PRvalide avant tout effetCorrection de code, commentaire client
2 — Agit sur le réversibleexécute une action interne réversiblecontrôle un échantillonQualification, étiquetage de tickets
3 — Agit et rend compteexécute et notifiepeut annuler a posterioriRelance interne automatique
4 — Autonomeagit sans contrôlen’intervient pasÀ proscrire en production

Le passage d’un niveau à l’autre se décide sur des mesures. Côté protocole, la spécification MCP 2026-07-28 standardise désormais les confirmations en cours d’appel, et recommande qu’un humain puisse toujours refuser un appel d’outil.

Ce que nous avons mesuré

Avec 91 % de qualification correcte, le triage peut viser le niveau 2 avec contrôle par échantillon. Avec 34 % de corrections acceptées telles quelles, le code reste au niveau 1. Et aucun commentaire n’est envoyé à un client sans validation humaine.

Erreur fréquente

La validation « tampon » : après cent propositions correctes, le valideur approuve sans lire. L’AI Act nomme ce travers « biais d’automatisation » (article 14). Parades : montrer le diff et la justification, faire valider les cas difficiles par un senior, auditer un échantillon de validations et suivre le taux de rejet.

Garde-fou n° 3 : des budgets et un arrêt d’urgence

Pourquoi

Un agent qui boucle, relance un outil en erreur ou explore sans fin consomme des tokens, de l’argent et des quotas d’API.

Comment l’implémenter

  • Budget par tâche : tokens, coût, temps d’exécution, nombre d’appels d’outils et d’itérations.
  • Budget global journalier par agent, avec alerte à 80 %.
  • Arrêt d’urgence : un interrupteur unique qui coupe les consommateurs de la file, révoque les jetons de l’agent et bascule sur le traitement manuel.
python
import time

class BudgetDepasse(Exception): ...

def executer_tache(agent, tache, budget):
    conso = {"tokens": 0, "euros": 0.0, "appels": 0}
    debut = time.monotonic()
    while not tache.terminee():
        if arret_urgence_actif():                      # interrupteur global
            raise BudgetDepasse("arrêt d'urgence")
        etape = agent.etape_suivante(tache)
        conso["tokens"] += etape.tokens
        conso["euros"] += etape.cout
        conso["appels"] += 1
        if (conso["tokens"] > budget.tokens or conso["euros"] > budget.euros
                or conso["appels"] > budget.appels
                or time.monotonic() - debut > budget.secondes):
            journaliser(tache, conso, statut="budget_depasse")
            return escalader_vers_humain(tache)        # jamais d'échec silencieux
        journaliser(tache, conso, etape)

Ce que nous avons mesuré

Le triage coûte 0,04 € par ticket, avec une latence médiane de 6,8 s. OpenClaw consommait 11 fois plus de tokens que Jarvis pour 2 points de qualité supplémentaires : c’est le budget qui rend cet arbitrage visible. Une correction pouvant prendre jusqu’à 4 minutes, le plafond de temps doit être fixé par type de tâche.

Erreur fréquente

Un budget mensuel global sans plafond par tâche : une boucle peut consommer en une nuit le budget du mois.

Garde-fou n° 4 : traçabilité, journal d’audit et supervision

Pourquoi

Quand un agent se trompe, il faut pouvoir répondre à trois questions : qu’a-t-il vu, qu’a-t-il décidé, qui a validé ? Sans journal, un incident devient impossible à analyser.

Comment l’implémenter

Journalisez chaque étape dans un format structuré, pas seulement la réponse finale :

json
{
  "horodatage": "2026-10-20T09:14:03Z",
  "agent": "triage-support",
  "version_agent": "1.8.2",
  "modele": "<fournisseur/modele/version>",
  "version_prompt": "triage-v14",
  "ticket": "T-48213",
  "etape": 3,
  "outil": "ticket.qualifier",
  "arguments": { "categorie": "facturation", "priorite": "haute" },
  "decision": "executee",
  "garde_fou": null,
  "tokens": 2140,
  "cout_eur": 0.011,
  "validation": { "mode": "echantillon", "par": null },
  "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736"
}

Puis supervisez : tableau de bord (Grafana, par exemple) avec taux d’actions bloquées, coût par tâche, taux d’acceptation humaine, latence, et alertes sur les dérives. Pseudonymisez les données personnelles dans les journaux (EXP-06 a porté sur des tickets anonymisés) et fixez une durée de conservation.

Ce que nous avons mesuré

Tous les chiffres d’EXP-06 cités ici (7 actions bloquées, 0,04 € par ticket, 6,8 s de latence médiane, écart de consommation de 11 à 1 entre les deux agents) n’existent que parce que chaque exécution était mesurée. Un agent non instrumenté ne produit aucun de ces indicateurs, et donc aucune base pour décider d’élargir ou non son autonomie.

Erreur fréquente

Ne conserver que la conversation finale. Sans les appels d’outils, leurs arguments et les versions du modèle et du prompt, un incident n’est pas reproductible.

Garde-fou n° 5 : des écritures isolées, jamais en production

Pourquoi

Une correction peut passer tous les tests et être fausse. L’isolation garantit qu’une erreur de l’agent reste une proposition, pas un incident.

Comment l’implémenter

  • Une branche par tâche, une pull request relue par un développeur, jamais de fusion automatique.
  • Protection de branche : revue approuvée et CI verte obligatoires, sans exception pour le compte de l’agent (et sans droits d’administration qui permettraient de les contourner).
  • Aucun accès à la production : pas d’identifiants de production dans l’environnement de l’agent, exécution en conteneur éphémère, données de test.
  • Repli manuel documenté : si l’agent est arrêté, les tickets repartent dans le circuit humain habituel, sans perte. C’est ce qui rend l’arrêt d’urgence utilisable, et c’est le rôle de notre support opérationnel quand nous opérons ces agents pour nos clients.

Ce que nous avons mesuré

Sur 138 corrections tentées, 34 % ont été acceptées sans modification et 22 % après retouche. Surtout, 18 corrections « techniquement fonctionnelles mais fausses » passaient les tests. Comme aucune correction n’était fusionnée automatiquement, elles sont restées des propositions ; avec une fusion automatique sur CI verte, elles seraient parties en production.

Erreur fréquente

Autoriser la fusion automatique « quand les tests passent ». Nos 18 corrections fausses passaient les tests.

Et l’AI Act dans tout ça ?

Un agent de triage de tickets n’est généralement pas un système d’IA « à haut risque » au sens du règlement (UE) 2024/1689 : ce statut dépend du domaine d’usage (annexe III : emploi, crédit, services essentiels, etc.). Trois points méritent néanmoins votre attention :

  • Transparence (article 50), applicable depuis le 2 août 2026 : un système d’IA destiné à interagir directement avec des personnes doit être conçu pour qu’elles sachent qu’elles interagissent avec une IA, sauf si c’est évident. Un agent qui répond seul à vos clients est concerné.
  • Haut risque : le règlement (UE) 2026/1744 (« Omnibus numérique » sur l’IA) a reporté au 2 décembre 2027 l’application des obligations pour les systèmes de l’annexe III, et au 2 août 2028 pour ceux intégrés à des produits réglementés.
  • Un bon référentiel, même hors haut risque : l’article 12 (journalisation automatique des événements) et l’article 14 (contrôle humain, y compris la possibilité d’interrompre le système par un « bouton d’arrêt ») recoupent nos garde-fous n° 2, 3 et 4.

Pour le détail des échéances, voir notre article sur l’AI Act et le règlement Omnibus.

Cette section est une information générale, pas un avis juridique.

La checklist avant mise en production

  • [ ] Inventaire des actions, liste blanche appliquée hors du modèle, refus par défaut
  • [ ] Lecture seule par défaut ; compte de service dédié aux droits minimaux
  • [ ] Niveau d’autonomie défini par action, validation humaine avant tout message client
  • [ ] Budgets par tâche (tokens, coût, temps, appels) et budget global avec alertes
  • [ ] Arrêt d’urgence testé, procédure de repli manuel documentée
  • [ ] Journal structuré de chaque étape, versions du modèle et du prompt tracées
  • [ ] Tableau de bord : actions bloquées, coût, taux d’acceptation, latence
  • [ ] Écritures sur branche et PR, fusion automatique interdite, aucun identifiant de production
  • [ ] Information des utilisateurs quand l’agent interagit directement avec eux
  • [ ] Revue des mesures après 2 à 4 semaines avant d’élargir l’autonomie

Questions fréquentes

Qu’est-ce qu’un agent IA autonome ?
C’est un système qui s’appuie sur un modèle de langage pour enchaîner des actions de manière autonome : lire un ticket, interroger une base, appeler une API, rédiger une réponse ou proposer une correction de code. Contrairement à un simple assistant conversationnel, il agit sur des systèmes réels. C’est pourquoi son périmètre et ses droits doivent être strictement encadrés.
Quels sont les principaux risques d’un agent IA en production ?
Les actions non prévues (suppression, modification de données), les erreurs plausibles qui passent les tests, la prompt injection via des contenus externes, la consommation incontrôlée de tokens et l’absence de traçabilité. L’OWASP classe l’« Excessive Agency » au 3e rang de son Top 10 2026 pour les applications LLM et consacre un Top 10 spécifique aux applications agentiques.
Faut-il toujours une validation humaine pour un agent IA ?
Pas pour toutes les actions, mais toujours pour celles qui sont irréversibles ou visibles des clients. Nous graduons l’autonomie par action : l’agent peut qualifier des tickets avec un contrôle par échantillon, mais une correction de code passe par une pull request relue, et un commentaire client par une validation humaine systématique.
Comment limiter les coûts d’un agent IA autonome ?
Fixez un budget par tâche (tokens, coût, temps, nombre d’appels d’outils), un budget global avec alertes et un arrêt d’urgence. Mesurez le coût par tâche : dans notre expérimentation, le triage coûtait 0,04 € par ticket, et un agent consommant 11 fois plus de tokens n’apportait que 2 points de qualité supplémentaires.
Un agent IA peut-il fusionner son propre code ?
Nous le déconseillons formellement. Dans notre expérimentation, sur 138 corrections tentées, 18 étaient techniquement fonctionnelles mais fausses et passaient les tests : une fusion automatique les aurait envoyées en production. Imposez une branche par tâche, une revue approuvée et une CI verte, sans exception ni droits d’administration pour le compte de l’agent.
L’AI Act s’applique-t-il aux agents IA autonomes ?
Cela dépend de l’usage. Un agent de triage interne n’est généralement pas à haut risque. L’obligation de transparence de l’article 50 s’applique depuis le 2 août 2026 aux systèmes qui interagissent directement avec des personnes. Les obligations des systèmes à haut risque de l’annexe III, dont le contrôle humain, s’appliqueront à partir du 2 décembre 2027.

Agents IA autonomes : commencer petit, mesurer, élargir

Des agents IA autonomes en production, oui, à condition de poser les cinq garde-fous dès le premier jour : périmètre et liste blanche, validation humaine graduée, budgets et arrêt d’urgence, journal d’audit, écritures isolées. Commencez par un cas d’usage étroit et mesurable (le triage de tickets est un excellent candidat), mesurez pendant quelques semaines, puis élargissez l’autonomie sur la base de chiffres.

Vous voulez déployer un agent sur votre support, votre TMA ou vos outils internes sans perdre le contrôle ? Nous concevons, déployons et opérons des agents autonomes avec leurs garde-fous, en direct ou en marque blanche pour les agences. Contactez-nous : réponse sous 48 à 72 h, échange sans engagement, sous NDA.

Sources

  1. EXP-06 — Agents Jarvis &amp; OpenClaw</a> et <a href="/iones-lab/skills-mcp-toolchain/">EXP-01 — Skills &amp; MCPiones lab
  2. OWASP GenAI LLM Top 10 2026OWASP Gen AI Security Project, 3 août 2026
  3. OWASP Top 10 for Agentic Applications for 2026OWASP Gen AI Security Project, 9 décembre 2025
  4. Vibe coding service Replit deleted user’s production databaseThe Register, 21 juillet 2025
  5. Tools — spécification MCP 2026-07-28modelcontextprotocol.io
  6. Règlement (UE) 2024/1689 sur l’intelligence artificielleJournal officiel de l’UE, 12 juillet 2024 (articles 12, 14 et 50)
  7. Règlement (UE) 2026/1744 (Omnibus numérique sur l’IA)Journal officiel de l’UE, 24 juillet 2026

Cet article est une information générale, pas un avis juridique.

Démarrer un projet

Prêt à passer à l’action ?

Expliquez-nous votre besoin — nous revenons rapidement avec une lecture technique et un plan d’attaque.

  • Réponse sous 48–72 h
  • Échange sans engagement
  • Confidentialité NDA