La question

Dupliquer une capacité est facile. La dupliquer sans diluer le contrôle l'est beaucoup moins. Dès qu'on délègue du travail à un agent — qui en délègue à un autre, qui appelle un outil — la question devient : qui a le droit de faire quoi, et au nom de qui ?

L'écueil classique : un agent « assistant » finit par pouvoir plus que l'humain qui l'a lancé. On refuse ce compromis dès la conception.

Où on en est

Un invariant traverse tout le Lab : un agent ne peut que restreindre, jamais élargir, les droits de qui l'invoque. On l'a réimplémenté trois fois, indépendamment, pour les trois situations où il compte :

  • le masque d'outils d'un agent (applyAgentFilter) — appliqué par-dessus les outils déjà filtrés par les permissions de l'utilisateur ;
  • le périmètre d'un contexte actif (narrowPerimeter) — on peut rétrécir sa vue, jamais l'agrandir ;
  • l'agent convié dans une visio (inviteAgent) — il n'hérite que de l'autorité de l'hôte.

Un agent = une persona + un masque de capacités. Les automatisations s'exécutent sous le principal de leur propriétaire, jamais au-delà. Et à la pointe : des agents qui écrivent, relisent et livrent leur propre code — ouvrir une PR, la merger, redéployer — validé de bout en bout sur notre projet Aeon.

Ce qui reste ouvert

Orchestrer une flotte à grande échelle. Faire juger le travail d'un agent par un autre sans boucle de complaisance. Et la convergence : on a déjà vu des boucles autonomes ne pas converger — tourner sans jamais atteindre l'état visé. On publie ces échecs autant que les réussites.