Publié 22 sept. 202613 min de lecture
Le plan de contrôle de l'ère des agents : huit règles, et ce que Vinkius livre
L'ère des agents a cassé chaque hypothèse sur laquelle le vieux control plane était bâti. Huit règles, de l'exécution sur le chemin jusqu'à une main humaine sur le volant, et la couche de Vinkius qui livre chacune d'elles, avec ses valeurs par défaut, ses chiffres et là où s'arrête le plan gratuit.

Par Renato Marinho
Founder · Vinkius
Depuis deux ans, je regarde le mot « control plane » être employé en deux sens complètement différents, et je crois que la confusion nous coûte cher, silencieusement, à toute l'industrie. Dans les mondes du réseau et de Kubernetes, le control plane est la moitié qui décide. Elle ne transporte pas votre trafic. Elle dit ce qui peut être construit, ce qui peut être placé où, qui peut faire quoi, et elle met sa décision par écrit pour que le data plane l'exécute. Le control plane est la moitié lente et autoritaire. Le data plane est la moitié rapide et bête.
Cette distinction a été conçue pour des machines qui changent à l'échelle de la minute. Un pod, un service, une route. Son hypothèse de départ : l'entité qui agit est un programme écrit par un humain, à forme stable, à propriétaire connu, au rythme prévisible.
Aucune de ces hypothèses n'est vraie pour un agent. C'est tout l'enjeu de ce post.
À quoi doit ressembler un control plane de l'ère des agents
Un agent n'est pas un workload que l'on déploie et l'on oublie. C'est un principal qui raisonne. Il choisit un outil, l'appelle, lit le résultat, décide du prochain coup, et recommence. La forme de son comportement vient du raisonnement, pas d'un graphe d'appels figé, et une boucle de retry peut le multiplier sans qu'aucune ligne nouvelle ne soit écrite. Les hypothèses sur lesquelles le vieux control plane était bâti, forme fixe, propriétaire connu, cadence prévisible, s'effondrent donc toutes en même temps.
Ce qui survit, c'est l'idée, pas la forme. Il faut toujours une moitié autoritaire qui décide de ce qui est permis et met la décision par écrit, et une moitié rapide qui exécute. Mais dans l'ère des agents, la moitié autoritaire doit faire davantage. Elle doit raisonner sur un appelant qu'elle ne peut pas entièrement prédire, imposer les règles sur un chemin que le modèle peut contourner en reformulant, borner un coût qui se compose à chaque retry, et produire un enregistrement qu'un régulateur ou une équipe finance lira réellement à trois heures du matin.
Voici donc le code des règles. Huit propriétés, et chacune est une exigence que j'impose à Vinkius. Certaines ne sont pas des options. D'autres sont porteuses, au sens structurel. Si l'une manque, le reste du système est du théâtre.
Les huit règles
Une. Il doit posséder l'identité. La première façon de tomber de la plupart des montages d'agents est que personne ne sait dire qui a fait quoi. Les logs disent qu'une requête est passée ; ils ne disent pas qui l'a envoyée, au nom de qui, par quel connecteur. Un control plane de l'ère des agents attribue chaque appel à une identité nommée, et cette identité est réelle, ce n'est pas un cookie de session. Chez Vinkius, chaque connecteur a ses propres jetons de connexion, d'un périmètre strictement limité à ce connecteur, et le jeton est l'unité d'attribution. La plateforme embarque aussi des comptes de service pour les identités non humaines qui tournent dans CI et workloads OIDC, parce qu'une machine qui agit dans vos pipelines est elle aussi un principal, et elle a un nom. Chaque reçu nomme le jeton qui a passé l'appel. L'identité est une colonne des données, pas une théorie.
Le périmètre est ce qui rend la colonne digne de confiance. Un jeton émis pour le connecteur mail ne porte pas sur le connecteur de paiement. Les jetons sont authentifiés par HMAC et le texte brut n'est jamais stocké, il n'existe donc rien à voler dans une base, et la flotte est inventorée : qui est chaque client, quand il a appelé pour la dernière fois, combien de requêtes il a passées. Un identifiant qui fuit est alors un actif nommé, révocable, rattaché à un seul connecteur, pas un laissez-passer permanent sur tout le patrimoine, et révoquer et faire tourner restent à un clic.
Deux. Il doit exécuter les règles sur le chemin, pas a posteriori. Un control plane qui ne fait que rapporter est un tableau de bord, et un tableau de bord n'arrête pas ce qui se passe maintenant. L'exécution doit vivre dans le runtime, sur le chemin de la requête, avant que l'appel ne franchisse la frontière. C'est là que le mot « gouvernance » fait son vrai travail. Une règle qu'une SIEM met une heure à corréler n'est pas une règle ; c'est une déclaration de décès. Vinkius applique la protection des données, les plafonds de coût et l'exposition des capacités sur le chemin de sortie, en mémoire, entre l'upstream et le modèle. La décision est prise en vol, et le reçu enregistre qu'elle l'a été.
La couche de masquage est là où « masquer » cesse d'être un mot de marketing. Elle masque e-mails, numéros de SSN et cartes bancaires en mémoire avant que la réponse ne revienne vers le modèle. Masqué, la valeur continue de faire son travail, et le modèle n'a presque jamais besoin des chiffres bruts. Quand il n'en a pas besoin, les chiffres n'ont jamais traversé une fenêtre de contexte, n'ont jamais été loggés et n'ont jamais fini en fuite. La jauge DLP Protected, sur la frise de KPI du Mission Control, compte les masquages effectués sur la période : la couche n'est donc pas seulement présente, elle est mesurée, et le chiffre que vous voyez est le compteur continu des secrets tenus dehors.
Trois. Il doit borner la dépense et le rayon de dégâts. Le coût d'un agent n'a pas la forme d'aucun poste que vous ayez déjà tracé. Il n'est ni par utilisateur, ni par requête. Il est par pensée, et il se compose à chaque retry ajouté par une boucle, alors le control plane doit porter le budget comme un objet de première classe, exécutable par une machine. Vinkius le fait en deux couches. Le garde FinOps tronque les tableaux qui dépassent un nombre maximal d'éléments, cinquante par défaut, parce qu'une réponse qui renvoie dix mille enregistrements est une facture de tokens, pas une réponse ; il peut comprimer le payload avant qu'il ne quitte le gateway ; et il attribue le coût à un taux que vous fixez, trois dollars le million de tokens par défaut, puis mesure, en octets et en dollars, ce qu'il a économisé. Le disjoncteur est placé devant : un budget de requêtes en fenêtre glissante, cinq mille requêtes sur cinq minutes par défaut, avec un réarmement de quinze minutes, partagé sur toute la flotte du gateway pour que le budget tienne quelle que soit l'instance qui sert l'appel. Quand le budget est dépassé, le disjoncteur déclenche, et le déclenchement fait ce que la plupart des garde-fous ne font jamais : il dit à l'agent, dans un refus lisible par machine, écrit pour un modèle, que la ressource est ouverte et qu'il doit reculer. Une boucle qui ne sait pas lire ce refus est arrêtée par le même déclenchement. Voilà le point.
Et le garde laisse la mesure de son propre travail. La frise de KPI du Mission Control montre les octets qu'une troncature a retirés à une réponse et les dollars que le plafond a économisés sur la période, la couche rapporte donc la facture qu'elle a évitée, pas la facture qu'elle facture. Quand un garde-fou doit se défendre avec une capture de tableau de bord, vous savez déjà quelle est sa posture par défaut.
Quatre. Il doit tenir les secrets hors du contexte du modèle. C'est la règle à laquelle je pense le plus en concevant. Ce qui décide, le modèle, et ce qui prouve l'autorité, l’identifiant, ne devraient jamais partager un contexte. Un modèle qui peut lire le mot de passe de votre upstream n'est pas un problème que l'audit règle ; c'est le problème. Vinkius conserve les identifiants des connecteurs chiffrées au repos en AES-256, et la garantie que nous faisons est que même les opérateurs de la plateforme ne peuvent pas les lire au repos. Elles ne sont injectées dans l'environnement d'exécution qu'au moment de l'exécution, à l'intérieur de l'isolate où tourne le code de l'outil, et l'agent ne voit jamais le secret. Les jetons de connexion sont authentifiés de façon que le texte brut ne soit jamais stocké. Si vous voulez une phrase à remettre à un auditeur : l'autorité qui signe l'appel est tenue à l'écart de l'esprit qui le décide.
Cinq. Il doit laisser une trace infalsifiable et exportable. La plupart des « audit trails » sont des journaux append-only, c'est-à-dire aussi fiables que celui qui possède le disque. Un control plane de l'ère des agents doit faire mieux, parce que la trace est ce qu'on va réellement demander à lire à un régulateur, à un client, à une équipe finance. Vinkius scelle chaque hash de requête à l'ingestion dans un registre chaîné par hash : chaque enregistrement porte le hash précédent et sa position dans la suite, et la chaîne est signée, SHA-256 avec Ed25519. Une altération n'est donc pas une question de vie privée, c'est un événement détectable, et le tableau de bord dit nettement si la chaîne est valide ou compromise. L'audit de déploiement s'exporte en PDF, et l'ensemble est taillé pour la question unique du régulateur, montrez-moi l'historique complet d'un connecteur, qui arrive comme une chaîne unique, exportable et vérifiable, pas comme un projet.
Six. Il doit rendre visible la ligne de raisonnement du modèle lui-même. Un reçu qui ne sait pas se rattacher à la trace de l'agent est un reçu que personne ne peut lire. Le control plane doit transporter le contexte de trace distribuée de l'appelant à travers le gateway, pour que chaque span d'outil soit enfant de la trace qui a lancé la pensée. C'est le travail fait dans notre framework ouvert depuis la release 5.1.0, traité dans le post MCP Fusion 5.1.0 sur la corrélation de traces, et c'est ici décisif, parce qu'un enregistrement de gouvernance déraciné du raisonnement de l'agent lui-même est forensiquement inutile. Et quand l'appelant n'envoie pas de contexte de trace, le plancher d'identité dit toujours qui a conduit l'appel, et l'attribution, elle, ne repose jamais sur la bonne volonté de l'appelant.
Sept. Il doit donner à un humain un coup d'arrêt réel et une porte d'approbation réelle. L'automatisation sans un frein en forme humaine est juste un moyen plus rapide de casser les choses. Le control plane doit exposer deux actions humaines distinctes, et elles ne sont pas la même. La première est la porte d'approbation : un déploiement qui exige une deuxième personne avant de passer en production, que Vinkius encadre sur le principe des quatre yeux que l'AI Act européen attend des systèmes à haut risque, article 14(5). Une seule personne ne décide pas, seule, qu'un nouvel outil à conséquences réelles arrive jusqu'aux agents. La seconde est le coup d'arrêt : un arrêt d'urgence global qui stoppe chaque connecteur actif de l'organisation, les désactive tous, révoque tous les jetons et met fin à toutes les sessions ouvertes, en une action synchrone unique, et la confirmation exige de taper HALT ALL, parce que c'est le bouton qu'on appuie quand ça a mal tourné. Après l'arrêt on peut restaurer, mais les jetons révoqués le restent ; on les réémet en conscience. La reprise est une relation de confiance neuve, pas un replay de l'ancienne.
Huit. Il doit être bon marché à faire tourner, et honnête sur son propre coût. Un control plane plus coûteux et plus lent que ce qu'il gouverne a échoué, et c'est la deuxième moitié que la plupart des vendors esquivent. Le surcoût de la couche autoritaire doit être mesuré et montré, pas affirmé. Chez Vinkius, le détail d'une requête découpe la latence entre le temps pris par l'API upstream et le temps ajouté par la couche de gouvernance, vous savez donc toujours ce que le control plane lui-même a coûté sur cet appel. Et la plateforme est franche sur ce qui est en service et ce qui est en prévisualisation : sur le plan gratuit, le tableau de bord de gouvernance s'ouvre sur des données d'exemple clairement étiquetées, vous apprenez ainsi la forme du control plane avant de vous engager, pendant que l'exécution en production, le disjoncteur et l'arrêt d'urgence ne tournent que sur les plans payants. Je préfère le dire clairement à laisser un lecteur supposer que le palier gratuit fait le travail payant.
Le seul endroit où le control plane parle à un modèle de langage est le AI Briefing, et c'est une fonction payante, parce que le briefing est lui-même un appel de modèle, et un control plane honnête ne cache pas où va son propre calcul.
Les fondations sur lesquelles les règles se tiennent
Certaines des règles ci-dessus se tiennent sur des couches que vous ne verrez jamais dans un tableau de bord, et ce sont celles que j'apprécie le plus. Le marketplace emporte des leurres surveillés, plantés exactement où un attaquant en quête d'exfiltration les cherchera : des identifiants qui ressemblent à de vrais secrets et ne le sont pas. En toucher un et la plateforme met le serveur en quarantaine, révoque ses jetons, coupe les connexions ouvertes et gèle le circuit de paiement, automatiquement, sans qu'un humain ait à décider. Une mise sous contrôle qui n'attend pas que vous remarquiez.
Sous tout ça, la couche organisation. Le single sign-on est exigé par domaine d'organisation, et l'organisation elle-même tourne sur des membres et des équipes, des rôles personnalisés et les permissions qu'ils accordent, des comptes de service pour les machines qui agissent dans vos pipelines, des clés API d'organisation pour l'accès programmatique, et un journal d'audit des événements relevant de la sécurité. Le control plane se tient sur un modèle d'identité qui sait la différence entre une personne et une machine, et chacune des huit règles s'appuie sur cette différence.
Pourquoi les règles gagnent aux écrans
J'ai écrit sur les douze surfaces que Vinkius livre en IA Governance, les huit qui rapportent et les quatre qui décident. Voir le post sur la gouvernance IA pour le tour. C'était l'inventaire. Ce post est le niveau contre lequel l'inventaire se mesure, et la raison de les tenir séparées est qu'un vendor peut vous montrer une étagère de tableaux de bord et la nommer control plane. Les surfaces se laissent contrefaire. Les règles, non, parce que chaque règle correspond à une propriété qu'on peut tester. Nomme-t-il l'appelant ? Agit-il avant que l'appel ne sorte ? Limite-t-il une boucle en dérapage que le modèle peut lire ? Tient-il l’identifiant hors du contexte ? Peut-il prouver que la trace n'a pas été réécrite ? Un humain peut-il réellement l'arrêter ? Son surcoût est-il sur la table ?
Je ne cherche pas à gagner une guerre de noms. « Gouvernance », « observabilité », « sécurité » seront toutes appliquées à cette chose, et toutes la sous-estiment. Un tableau de bord observe. Un fichier de politique décide une fois, au déploiement, puis oublie. Le control plane est le seul nom qui porte la décision : il décide par appel, et il garde le reçu.
Si vous achetez, cette liste est la spécification. Si vous construisez, c'est la checklist que vous devriez avoir honte d'avoir zappée. Je l'ai mise par écrit dans le post sur la façon dont Vinkius exécute chaque serveur MCP dans un isolate V8, parce que je suis arrivé à croire que le control plane est le produit, et que le produit, c'est les règles, pas les écrans.
Le niveau que je demande à l'industrie
C'est là que je passe d'ingénieur à, péniblement, celui qui a le droit de fixer un niveau. L'ère des agents sera jugée sur la façon dont ses control planes ont fait ces huit choses, et la plupart des control planes livrés aujourd'hui ne passeront pas, parce qu'ils ont été construits pour un monde où l'appelant est un humain qui a déposé un ticket. Ils ont un moteur de politique et un log. Ils n'ont pas d'identité, d'exécution en vol, d'un budget que le modèle peut lire, d'un coffre scellé, d'une chaîne signée, d'un raccord de trace, d'une porte humaine, ni d'un chiffre honnête de surcoût. Ils ont un tableau de bord et un espoir.
Ce n'est pas une insulte. C'est l'écart, et c'est dans l'écart que les cinq prochaines années d'infrastructure vont se jouer. J'ai écrit ces règles comme j'aurais voulu qu'elles soient écrites pour une équipe qui n'a pas construit la chose : assez précises pour être testées, assez générales pour survivre aux noms de cette année. Les huit propriétés sont le contrat. Le reste est du marketing.
Quand votre agent est l'entité qui agit, le control plane est l'entité qui décide. Construisez d'abord la moitié qui décide, mesurez-la, scellez-en la trace, et donnez à un humain une vraie main sur le volant. C'est le niveau. Je l'impose à Vinkius, et je l'imposerais au vôtre aussi.
Les contrôles de sécurité du runtime qui appliquent ces huit règles sont détaillés avec du code source dans Questions d'IA d'Entreprise.
