Tous les articles

Une flotte d'agents est un réseau de promesses

Ingénierie

Schéma du poste de commandement d'une flotte d'agents : un opérateur humain tranche les exigences, un coordinateur tire le travail prêt, des agents tiennent des engagements isolés, un vérificateur contrôle avant intégration.

Lancer davantage d’agents est devenu le réflexe. Un modèle écrit plus vite qu’un ingénieur. Plusieurs modèles écrivent plus vite encore. La tentation est de traiter cette vitesse comme une capacité de production, et de la multiplier.

Nous l’avons fait. Puis nous avons vu le coût. Deux agents réécrivent le même contrat. Un troisième corrige une exigence qu’il n’avait pas le droit de toucher. Une échéance glisse sans que personne ne l’ait rompue. Le tableau de bord, rempli à la main, reste vert. Le logiciel, lui, diverge.

AGELAIOS est un nœud de commandement et de contrôle de périphérie. Isolation, dégradation explicite, humain dans la boucle, preuve plutôt que promesse : ces règles valent pour le produit. Elles valent aussi pour l’usine qui le construit. Cet article décrit comment nous coordonnons une flotte d’agents autour d’un outil de pilotage que nous avons construit pour elle. Il ne livre pas le mode d’emploi de l’outil. Il expose la doctrine qui empêche une flotte de se combattre elle-même.

Le ticket est un état passif

Une tâche peut être assignée. Personne n’a eu à affirmer pouvoir la tenir. Elle existe, elle traîne, elle vieillit. Quand le retard n’a pas de visage, la fiabilité du système ne se mesure plus. Elle se ressent, ce qui revient à ne pas la mesurer.

Nous avons cessé de piloter AGELAIOS comme une file de tickets. L’unité de travail est un engagement : une requête, une promesse, une livraison, une acceptation. La personne ou l’agent capable de produire le résultat examine la demande, vérifie qu’il comprend ce qui est dû, et décide s’il peut raisonnablement le promettre. Il livre. Celui qui attend accepte, ou signale ce qui manque.

Cette discipline n’est pas née dans l’intelligence artificielle. Elle vient du Last Planner System, conçu pour rendre fiable le flux de production là où les plannings classiques mentent dès la deuxième semaine [1][2]. Un engagement y est explicite sur cinq dimensions : qui promet, à qui, quel livrable vérifiable, pour quand, à quelles conditions de préparation réelle. On ne prend un engagement que si le travail est prêt. On ne planifie pas ce qu’on ne peut pas faire.

Chez Penrose, la même règle s’applique aux humains et aux agents. La vente, le management et la construction du socle reposent sur ce contrat. Un commercial porte la requête du client, jamais la promesse à sa place. Un agent porte un engagement à périmètre déclaré, jamais le produit entier. Le chapitre Des promesses plutôt que des tâches dit cette règle pour l’organisation. Ici, nous disons comment elle tient une flotte.

On ne tire que le travail prêt

Pousser six agents sur un tas de sujets saturera toujours le goulot suivant : la revue, l’intégration, la décision humaine. Le délai de traversée explose. Les livraisons s’empilent. Personne n’a plus le temps de vérifier, donc on vérifie moins, donc on accélère dans le mauvais sens.

On ne tire du travail que sur la frontière du graphe. Un engagement n’entre dans cette frontière que si ses prédécesseurs sont tenus et si ses conditions de préparation sont vraies. Les précédences sont de trois sortes.

  1. L’une est dure : B ne démarre que lorsque A est tenu.
  2. L’une porte sur un contrat : B peut commencer sur l’interface gelée de A, mais tout changement de ce contrat invalide B.
  3. L’une est informative : B doit connaître le résultat de A, sans être bloqué par lui.

Les agents ne voient pas le graphe entier. Leur contexte contient ce dont leur engagement a besoin : les règles écrites du dépôt, le périmètre promis, les contrats des prédécesseurs. L’opérateur voit le graphe entier. C’est précisément la division de l’attention que nous cherchons. Une flotte qui voit tout se disperse. Une flotte qui ne voit que son engagement peut le tenir.

Cette mécanique a un nom lean, make-ready : lever les contraintes avant qu’elles ne bloquent [1]. Une spécification encore ambiguë, un arbitrage non tranché, une dépendance non livrée ne sont pas des invitations à « avancer quand même ». Ce sont des raisons de ne pas tirer. Un agent lancé trop tôt brûle du contexte, invente des hypothèses, et laisse derrière lui un travail qu’il faudra défaire.

Quatre rôles, un seul décideur

Une flotte sans rôles est une foule. La nôtre en a quatre, et la frontière entre eux n’est pas cosmétique.

L’opérateur humain est le seul décideur des exigences, des jalons et des règles du dépôt. Il n’est pas un chef de projet qui redistribue des tickets. Il est le poste de commandement : il tranche ce que le produit doit être, et il protège le flux.

Le coordinateur est la session qui orchestre. Il tire un engagement prêt, prépare le contexte, lance l’agent porteur, vérifie la livraison, intègre. L’intégration est sérialisée. Deux livraisons ne fusionnent pas en parallèle sur la branche principale : chacune est vérifiée contre un état à jour. C’est lent en apparence. C’est ce qui empêche deux vérités incompatibles d’entrer dans le socle le même matin.

Le réalisateur tient un engagement, dans un espace de travail dédié, sur un périmètre déclaré. Il n’écrit pas hors de ce périmètre. Il ne touche pas aux exigences. Il ne touche pas aux règles du dépôt. S’il rencontre un choix de fond, il s’arrête.

Le vérificateur lit et exerce les tests. Il n’écrit pas le produit. Son verdict confronte la livraison à l’engagement, à la spécification du périmètre et aux règles du dépôt. Approuver, rejeter, ou renvoyer à l’arbitrage : trois issues, pas un « ça a l’air bon ».

L’outil maison n’est pas un tableau que l’on met à jour après coup. C’est le registre vivant de ces rôles : engagements, réservations de périmètre, demandes d’arbitrage, tableau de pilotage généré. Zéro saisie manuelle d’indicateur. Un tableau qu’on remplit à la main commence à mentir au bout de deux semaines. Un tableau projeté depuis l’état des fichiers ne peut pas rester vert par politesse.

S’arrêter vaut mieux qu’inventer

Les agents échouent rarement par manque de texte. Ils échouent en comblant un vide. Une exigence ambiguë, un jalon qui glisse, deux options d’architecture également plausibles : le modèle choisit, parce que choisir est ce qu’on lui a appris à faire. Le produit, lui, n’avait pas demandé ce choix.

La règle est donc brutale, et elle est écrite. Un agent ne tranche jamais une question qui touche aux exigences, aux jalons ou aux règles du dépôt. Il constate le blocage, prépare la question, et termine sa session. Une ambiguïté de rédaction devient une proposition de changement de spécification. Un choix de fond devient une demande d’arbitrage.

La demande d’arbitrage n’est pas un message dans un fil. C’est une page, adressée nominativement à un humain, sur le modèle du rapport A3 : contexte, question fermée, options chiffrées, impact de ce qui attend, recommandation, issue de secours si le décideur ne répond pas [3]. Celui qui demande fait le travail de préparation. Celui qui arbitre n’a plus qu’à juger. Une question ouverte n’est pas publiable. Une option sans conséquence mesurée n’est pas une option, c’est une préférence.

Cette règle a un cousin dans le produit. Le principe P8 d’AGELAIOS refuse le déni de service auto-infligé : un nœud démarre en posture dégradée explicite plutôt que de prétendre qu’il est nominal (principe P8). Dans l’usine, l’équivalent est le refus de la dégradation silencieuse du contrat. Un agent bloqué n’invente pas une spécification plus commode. Il rend le trou visible. La culture Dire stop pose la même exigence pour les humains : signaler tôt n’est pas une faiblesse, c’est le mécanisme de sûreté.

Nous ne prétendons pas que la clôture est étanche. Un agent et son coordinateur tournent avec les mêmes droits sur la machine. Un garde-fou qui inspecte des commandes arrête l’erreur. Il n’arrête pas la volonté. Le périmètre d’un engagement est donc une convention, tenue par la discipline et par la vérification a posteriori, pas une frontière magique. L’écrire ainsi, plutôt que de vendre une isolation que nous n’avons pas, est la même posture que celle du dépôt public : les limites se disent avec la même précision que les capacités.

Une promesse rompue a un visage

Une échéance ne se repousse pas en silence. Si elle ne tient plus, l’engagement passe au statut rompu, avec une raison de variance typée : spécification ambiguë, dépendance, estimation, abandon, technique, non-réponse. Un nouvel engagement est proposé si le travail reste dû. Rompre et reprendre garde la mesure honnête. Glisser la date la fausse.

Cette mesure s’appelle, chez Ballard, le Percent Plan Complete : la part des engagements tenus à l’échéance, rapportée à ceux qui avaient été promis [1][2]. Nous l’utilisons comme signal de fiabilité de l’usine, avant tout indicateur d’avancement. Un système peut paraître extraordinairement productif pendant un certain temps simplement parce que les mauvaises nouvelles ont cessé de circuler. Un pourcentage de promesses tenues qui chute dit le contraire, et il le dit assez tôt pour agir.

Les obligations humaines vivent dans le même registre. Répondre à un arbitrage, valider un changement de spécification, relire une livraison : ce sont des engagements de réponse, avec la même échéance et la même mesure. Le goulot décisionnel cesse d’être un sentiment. Il devient visible. Si les agents attendent l’humain, ce n’est plus une anecdote de couloir. C’est un point du tableau, avec ce qu’il gèle en aval.

Nous ne publions pas ici un chiffre de fiabilité à date. Ce chiffre est un instrument de pilotage interne, recalculé depuis le registre. Le publier comme argument commercial, sans que le lecteur puisse le rejouer, reviendrait à faire exactement ce que cet article refuse : transformer une mesure en promesse. Ce que nous pouvons affirmer, parce que c’est une règle et non un résultat, c’est que chaque rupture porte sa raison, et que cette raison alimente l’amélioration du système plutôt que la honte de celui qui n’a pas tenu.

Ce que cela change pour un acheteur

Un nœud de défense se juge à ce qu’il fait sous contrainte : hors ligne, sous brouillage, après un crash, face à un partenaire sous-habilité. L’usine qui le construit se juge à la même aune. Si nous ne savons pas coordonner une flotte d’agents sans qu’elle réécrive le contrat, nous ne savons pas non plus itérer au rythme que le champ impose, celui que le constat ukrainien a rendu non négociable voir Pourquoi nous ouvrons le code.

Ce que l’outil maison change, concrètement, tient en quatre points opposables.

  1. Le rythme. Nous tirons du travail prêt en parallèle, sans que deux agents se marchent sur le même contrat. La vitesse vient du flux, pas du nombre de sessions ouvertes.
  2. L’honnêteté des dates. Une date annoncée ici est une promesse tenue par quelqu’un, humain ou agent, pas une hypothèse entrée trop tôt dans un planning. Si elle casse, elle casse à visage découvert.
  3. La stabilité du contrat. Les exigences d’AGELAIOS ne bougent pas parce qu’un modèle a trouvé plus simple de les amender. Elles bougent par proposition, revue, décision humaine. C’est la même chaîne que celle d’un programme d’armement, appliquée chaque jour, à la maille d’un engagement.
  4. La preuve. Chaque livraison porte un livrable vérifiable : tests, rapport, périmètre. Le vérificateur ne signe pas une impression. Il confronte. Sur le produit, cette exigence est déjà publique : environ 930 tests automatisés, 9 chaînes d’intégration continue, build reproductible bit à bit. Sur l’usine, elle a la même forme : pas d’engagement tenu sans définition du tenable.

Nous n’affirmons pas qu’une flotte d’agents remplace une équipe. Nous affirmons qu’une flotte sans engagements n’est pas une équipe, et qu’elle n’est même pas une usine. C’est du bruit à haut débit. Le poste de commandement que nous avons construit existe pour convertir ce bruit en travail que l’on peut promettre, vérifier et intégrer. C’est de cette manière que nous construisons AGELAIOS. C’est aussi de cette manière que nous savons dire, à un industriel ou à un programme, ce que nous pouvons tenir et ce que nous ne promettrons pas.

Les organisations qui veulent voir cette discipline appliquée à une instance, à un module ou à un atelier d’architecture peuvent nous écrire. Les preuves du socle, elles, se rejouent dès maintenant dans le dépôt. L’usine n’est pas dans le dépôt. Le produit oui, et c’est lui que cette flotte a pour objet de ne pas trahir.

Sources

  1. Glenn Ballard, « The Last Planner System of Production Control », thèse de doctorat, University of Birmingham, 2000, https://etheses.bham.ac.uk/id/eprint/4789/
  2. Glenn Ballard, « Improving Work Flow Reliability », Proceedings of the 7th Annual Conference of the International Group for Lean Construction, 1999, https://leanconstruction.org.uk/wp-content/uploads/2018/09/Ballard.pdf
  3. Durward K. Sobek II, Art Smalley, « Understanding A3 Thinking: A Critical Component of Toyota’s PDCA Management System », Productivity Press, 2008