Chain of Command pour agents gouvernés

Chain of Command pour agents gouvernés

Coordonner des swarms avec consentement, déléguer des skills approuvées et vérifier chaque commande avant exécution.

Chain of Command coordonne des agents sans donner à l’un un contrôle illimité sur un autre. Un owner crée un groupe gouverné, accorde les skills nécessaires et conserve consentement, autorisation et résultats.

Modèle#

Un hub agent dirige un swarm de sous-agents. Le swarm définit les skills que le hub peut envoyer. Le hub est un agent enregistré ordinaire qui prend ce rôle en dirigeant le swarm.

Deux contrôles protègent chaque membre : consentement de son owner, puis capacité accordée par l’owner du swarm. Le consentement ne donne pas toutes les capacités ; une capacité ne crée pas de consentement. Les deux sont vérifiés par opération, révocation immédiate.

Configuration#

  • AI Firewall -> Agent Config -> Access & Identity : A2A Auth Mode, méthodes permises et Owner-first authorization.
  • Agent Trust -> A2A Settings : inscription, cycle des tâches et TTL.
  • Agent Trust -> Agents : inventaire ; Agent Trust -> Approvals : demandes en attente.

Agents A2A authentifiés et contrôle tenant compte de l’owner sont nécessaires.

ParamètreDéfautSignification
a2a_auth_modeoffon exige auth sur /a2a/v1/* ; Chain of Command est désactivé avec off.
identity_policy_owner_enforcedfalsetrue active Owner-first et requiert auth A2A.
owner_enforcement_grace_days7Délai pour agent sans owner : 0-90 jours.
max_delegation_depth3Profondeur max 1-10 ; une délégation peut être plus restrictive.
swarm_consent_valid_days0Validité ; 0 signifie pas d’expiration automatique.

A2A Auth Mode est distinct de Authentication Mode pour /v1/*. Méthodes possibles : JWT, OIDC, API keys, certificats mTLS ou Kerberos.

En Admin approval, les nouveaux agents apparaissent dans Agent Trust -> Approvals. Auto-publish publie à l’inscription ; Admin-only refuse l’auto-inscription. Seuls les agents publiés peuvent intégrer un swarm.

Créer un swarm#

  1. Enregistrez chaque agent avec identité/preuve uniques.
  2. Publiez selon la politique.
  3. Attribuez owner et identifiant.
  4. Créez le swarm avec membres et skills approuvées.
  5. Enregistrez consentement des membres d’autres owners/groupes.
  6. Accordez au hub les capacités minimales.
  7. Envoyez les ordres et surveillez les résultats.

Un membre d’un autre owner reste en attente de son consentement ; owner inconnu exige aussi consentement.

Contrôler les permissions#

Capacités explicites et limitées au swarm : consulter l’état, lire audit autorisé, réinitialiser le risque, demander suspension/réactivation ou révocation via workflow admin.

Les actions sensibles peuvent nécessiter l’approbation du propriétaire. La révocation certificat reste contrôlée par admin/CA. Les politiques de cycle de vie sont facultatives et auditées.

Déléguer des skills#

Une skill décrit une action autorisée, validée, auditée et relayée au webhook d’un agent enregistré. L’agent exécute et rapporte ; la plateforme n’exécute pas de code arbitraire.

Définissez skills permises, profondeur, expiration facultative et validation payload. Gardez-les précises, pas un canal de commandes général.

Vérifier les commandes#

Un voucher signé et bref peut contenir ordre/étape, hub, sous-agent, skill, hash payload, version de politique et dates.

L’agent vérifie le voucher avec trust anchor fixé avant action. Refusez token malformé, algorithme non pris en charge, clé inconnue, expiration, mauvais destinataire, payload différent ou politique obsolète.

ModeComportement
OfflineVérifie localement, sans callback.
Callback optionalVérifie localement et confirme si plateforme accessible.
Callback requiredAttend confirmation de validité avant exécution.

Fixez l’empreinte trust anchor par canal indépendant. Gardez la clé localement et utilisez une procédure de rotation explicite.

Résultats et reprises#

Une commande comporte une étape par membre. Livraison n’est pas succès : le récepteur exécute et rapporte. Rapports signés ; absence ou invalidité = non vérifié.

Utilisez idempotency key. Une reprise dans la fenêtre renvoie la commande originale, sans nouveau dispatch. La révocation arrête les étapes non commencées sans changer le travail terminé.

Dépannage#

SymptômeVérification
Membre sans commandeConsentement actif et skill incluse dans la concession du swarm.
Hub ne voit pas le membreCapacité applicable et consentement ; visibilité limitée à l’appelant.
Commande expirée/obsolèteDemander une nouvelle commande.
Résultat non vérifiéClé publique enregistrée et rapport signé avec clé correspondante.
Reprise sans nouveau dispatchMême idempotency key, comportement attendu.

SDK#

Les SDK publics Python et TypeScript comprennent :

Licence MIT, vérification voucher, rapports signés et gestion de swarm.

Documentation associée#

Pour aller plus loin