Pattern Guarded-Policy Agent : actions sures par regles

Mettez en place un policy-gate qui autorise, bloque, reecrit ou escalade les actions risquees de l'agent pour une execution sure et auditable.
Sur cette page
  1. Essence Du Pattern
  2. Probleme
  3. Solution
  4. Comment Ca Fonctionne
  5. En Code, Ca Donne Ca
  6. A L'execution, Ca Ressemble A Ca
  7. Quand Ca Convient - Et Quand Non
  8. Adapte
  9. Non Adapte
  10. Difference Avec Supervisor Agent
  11. Quand Utiliser Guarded-Policy (vs Autres Patterns)
  12. Comment Combiner Avec D'autres Patterns
  13. En Bref
  14. Avantages Et Inconvenients
  15. FAQ
  16. Et Ensuite

Essence Du Pattern

Guarded-Policy Agent est un pattern ou, avant chaque action, on applique un policy-gate : allow, deny, rewrite ou escalate selon des regles formalisees.

Quand l'utiliser : quand les actions de l'agent doivent passer des verifications formelles de regles avant execution.


L'idee est simple : l'agent peut proposer n'importe quoi, mais seuls les pas qui passent les checks de policy sont executes.

Guardrails de policy verifient en general :

  • tools et parametres autorises
  • limites d'acces aux donnees
  • limites budget/time
  • niveau de risque de l'action

Pattern Guarded-Policy Agent : actions sures par regles

Probleme

Imagine un scenario bancaire : il faut transferer 100$, mais on saisit par erreur 10,000$.

Si un systeme sans verifications dit juste "executer", l'action part en prod.

Meme quand :

  • le client n'a pas ce solde
  • le montant depasse la limite du role
  • le compte destinataire est externe et demande des checks supplementaires

Sans policy gate technique, l'agent peut executer une action dangereuse meme quand elle ne devrait clairement pas passer.

C'est le probleme : sans contraintes, n'importe quelle action peut etre executee, meme si elle est :

  • dangereuse
  • trop couteuse
  • en violation des regles d'acces

Solution

Guarded-Policy Agent introduit des verifications obligatoires avant chaque action.

Analogie : c'est comme un tourniquet avec controle d'acces. Meme si une personne veut passer, permissions et regles sont verifiees d'abord. Sans approbation, le systeme ne laisse pas l'action continuer.

Principe cle : le modele peut proposer n'importe quel pas, mais seuls les pas qui passent le policy gate sont executes.

Chaque action passe par :

  1. verification des permissions
  2. verification budget/limites
  3. verification d'acces aux donnees
  4. evaluation du risque

Ensuite, policy-engine retourne une decision :

  • autoriser (allow) - executer
  • reecrire (rewrite) - remplacer par une variante sure
  • bloquer (deny) - bloquer
  • escalader (escalate) - transferer a un humain

Cela protege contre les cas ou l'agent peut :

  • ecrire au lieu de lire
  • exfiltrer des donnees sensibles
  • lancer une requete couteuse
  • faire une operation destructive

Fonctionne bien si :

  • l'agent n'a pas d'acces direct aux tools
  • l'execution passe uniquement par policy-engine
  • chaque action doit passer allow/deny/rewrite/escalate

La fiabilite d'un agent n'est pas seulement "bonne intention", mais des actions qu'il ne peut techniquement pas executer hors des regles.

Comment Ca Fonctionne

Diagram

Policy-gate n'execute pas l'action lui-meme. Il decide si elle peut etre executee et sous quelle forme.

Flow complet : Propose → Check Policy → Enforce → Execute/Block

Proposer l'action
L'agent formule l'intent : quel tool, avec quels arguments, et pourquoi ce pas.

Verifier la policy
La policy verifie l'intent : allowlist/blocklist, scope d'acces, limites budgetaires, runtime state (quota, spend), sensibilite des donnees.

Appliquer la decision
Policy-engine retourne la decision d'enforcement : allow, deny, rewrite ou escalate.

Executer/Bloquer
Le systeme execute l'action ou stoppe le flow avec un stop reason transparent.

En Code, Ca Donne Ca

PYTHON
action = agent.next_action(context)

decision = policy_engine.evaluate(
    action=action,
    user_role=user_role,
    budget_state=budget_state,
)

if decision.type == "allow":
    result = execute(action)
elif decision.type == "rewrite":
    context.append(decision.reason)
    return agent.next_action(context)  # reproposer via le meme gate
elif decision.type == "escalate":
    result = human_approval(action)
else:
    result = stop_with_reason(decision.reason)

return result

Principe cle : agent intent et execution sont deux couches differentes. Policy se place entre intent et execution (execution).

Le modele n'a pas d'acces direct a l'execution, seulement via une couche d'execution policy-gated (execution layer).

A L'execution, Ca Ressemble A Ca

TEXT
Goal: "Exporte tous les clients en CSV et envoie vers un email externe"

Agent action:
- tool: export_customers
- params: include_pii=true
- destination: external_email

Policy check:
- rule: PII export to external channels = deny
- decision: bloquer (block)
- reason: policy.pii_exfiltration_guard

Result:
- l'action n'a pas ete executee
- un refus controle a ete renvoye

Exemple complet d'agent Guarded-Policy

PYPython
TSTypeScript · bientot

Quand Ca Convient - Et Quand Non

Adapte

SituationPourquoi Guarded-Policy Convient
✅Il existe des tools/donnees a risque et acces a des operations sensiblesLe policy gate bloque les actions dangereuses avant execution.
✅Vous avez besoin de limites compliance/securityLes regles sont enforcees techniquement, pas seulement par instruction de prompt.
✅L'explicabilite des decisions est importanteOn peut montrer clairement allow/deny et la raison.
✅Le cout des erreurs est eleve : argent, securite, risque legalLe controle preventif reduit la probabilite d'erreurs couteuses.

Non Adapte

SituationPourquoi Guarded-Policy Ne Convient Pas
❌Read-only sandbox sans actions risqueesUne couche policy separee apporte peu de valeur supplementaire.
❌Regles non formaliseesSi les regles ne sont pas verifiables formellement, l'enforcement ne sera pas fiable.
❌Pas de ressources pour maintenir l'ensemble des policiesSans versioning et tests, la couche policy se degrade vite.

Parce que la couche policy ajoute de la complexite d'ingenierie : regles, tests de regles et mises a jour continues pour les processus metier.

Difference Avec Supervisor Agent

Guarded-PolicySupervisor Agent
Role principalApplique automatiquement des regles policy strictes a chaque actionSupervise plus largement les decisions de l'agent : risques, qualite et besoin d'escalade
Quand il intervientA chaque etape avant executionSur les etapes cles ou douteuses du processus
Type de decisionsallow / deny / rewrite / escalateapprove / revise / block / escalate
Quand le choisirQuand il faut une "barriere" technique impossible a contournerQuand il faut une supervision du processus et un controle des decisions complexes

Guarded-Policy est une barriere technique "par regles".

Supervisor Agent est un controle de supervision "selon la situation".

Quand Utiliser Guarded-Policy (vs Autres Patterns)

Utilisez Guarded-Policy quand il faut stopper des actions risquees avant execution selon des regles de policy explicites.

Test rapide :

  • si vous avez besoin de "check allow/deny avant action" -> Guarded-Policy
  • si vous avez besoin de "recuperer apres erreur deja arrivee" -> Fallback-Recovery Agent
Comparaison avec d'autres patterns et exemples

Aide-memoire rapide :

Si la tache ressemble a cela...Utilisez
Vous avez besoin d'un controle rapide avant reponse finaleReflection Agent
Vous avez besoin d'une critique profonde par criteres et reecriture de reponseSelf-Critique Agent
Vous devez recuperer apres timeout, exception ou panne d'outilFallback-Recovery Agent
Vous avez besoin de checks policy stricts avant action risqueeGuarded-Policy Agent

Exemples :

Reflection : "Avant la reponse finale, verifier rapidement logique, completude et erreurs evidentes".

Self-Critique : "Evaluer la reponse par checklist (precision, completude, risques), puis reecrire".

Fallback-Recovery : "Si API ne repond pas, faire retry -> source fallback -> escalation".

Guarded-Policy : "Avant envoi de donnees vers l'exterieur, verifier policy : est-ce autorise".

Comment Combiner Avec D'autres Patterns

  • Guarded-Policy + ReAct : chaque action de la boucle passe d'abord par policy-check, puis est executee.
  • Guarded-Policy + Supervisor : Supervisor decide quand escalader, et policy-engine applique automatiquement les regles strictes.
  • Guarded-Policy + Fallback-Recovery : si une action est bloquee ou si une etape echoue, l'agent bascule vers un fallback autorise et sur.

En Bref

En bref

Guarded-Policy Agent:

  • Verifie chaque action avant execution
  • Applique les regles de policy de maniere obligatoire
  • Bloque ou escalade les etapes dangereuses
  • Reduit le risque de pannes et de violations de compliance

Avantages Et Inconvenients

Avantages

bloque les actions dangereuses avant execution

protege mieux les donnees et les acces

les regles sont faciles a tester et auditer

facilite le respect des exigences de securite

Inconvenients

les policies demandent une maintenance continue

des regles trop strictes ralentissent le workflow

des erreurs de regles peuvent bloquer trop de choses

FAQ

Q: Peut-on remplacer les checks policy uniquement par des instructions de prompt ?
A: Non. Prompt opere au niveau intent, mais ne controle pas l'execution. Policy doit etre appliquee dans la couche runtime.

Q: Qu'est-ce qui est mieux : allowlist ou blocklist ?
A: Pour les systemes a haut risque, il est plus sur de commencer par allowlist : seules les actions explicitement definies sont autorisees.

Q: Que faire si une regle est trop stricte et bloque une action utile ?
A: Ajouter des exceptions controlees : scope, conditions de role, ou chemin avec approbation humaine au lieu d'un deny total.

Et Ensuite

L'approche Guarded-Policy protege l'agent contre les actions dangereuses avant execution.

Mais que faire quand l'agent a besoin d'execution de code sure dans un environnement isole ?

⏱ 11 min de lecture ‱ Mis Ă  jour Mars, 2026DifficultĂ©: ★★★
Suite pratique

Exemples d’implĂ©mentation du patron

Passe Ă  l’implĂ©mentation avec des projets d’exemple.

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

Cette documentation est organisée et maintenue par des ingénieurs qui déploient des agents IA en production.

Le contenu est assistĂ© par l’IA, avec une responsabilitĂ© Ă©ditoriale humaine quant Ă  l’exactitude, la clartĂ© et la pertinence en production.

Les patterns et recommandations s’appuient sur des post-mortems, des modes de dĂ©faillance et des incidents opĂ©rationnels dans des systĂšmes dĂ©ployĂ©s, notamment lors du dĂ©veloppement et de l’exploitation d’une infrastructure de gouvernance pour les agents chez OnceOnly.