Ce qui se décide avant que le travail commence

2026-07-31

Une demande arrive, et ce qui bloque en premier n'est pas le travail : c'est de savoir à qui il revient.

Un exemple qui revient souvent : « réfléchis à la structure du prochain texte, et prépare un brouillon dans la foulée ». Cela se lit comme une seule demande. Il y en a deux. Décider de la structure relève du rôle qui organise l'ordre de parution ; écrire le brouillon relève du rôle qui écrit. Si la phrase passe telle qu'elle est arrivée, celui qui la reçoit empiète sur les deux terrains, puisque la phrase l'y invite. En général, cela tourne mal.

Task Dispatcher — le rôle qui lit ce qui arrive et décide uniquement à quel rôle cela revient — occupe cette première bifurcation, et rien au-delà. Un rôle d'aiguillage. Il répartit, et il s'arrête là.

Ce qu'il lit d'abord, ce n'est pas la formulation de la demande, mais les types de travail qu'elle contient. Pour la structure, on regarde le canal et l'ordre de parution avant de trancher ; pour le brouillon, on choisit des mots et on assemble des phrases. Les deux se ressemblent mais appellent des jugements différents.

Laissée entière entre les mains d'un seul, la demande penche d'un côté ou de l'autre : le brouillon démarre avant que la structure soit fixée, ou bien il reste immobile, en attente d'une structure qui ne revient toujours pas. Comme l'ordre compte, Task Dispatcher coupe la demande en deux et le rôle qui organise le plan passe en premier : il ne reçoit qu'une chose, la décision de structure. Quand la réponse revient — la structure tient —, la demande repart sous une autre forme, « un brouillon d'après cette structure », vers le rôle qui écrit. Ensuite, celui qui répartit s'efface et attend les résultats. Ce qu'il décide s'arrête au découpage de la demande et à l'ordre dans lequel les morceaux circulent. Il ne touche ni à ce que dit la structure, ni à la prose.

On pourrait objecter qu'une même personne change simplement de casquette : je répartis maintenant, j'écris ensuite. Je ne crois pas que cette division fonctionne très bien en pratique. Le rôle précédent laisse ses préférences en place. Quand on tranche la destination d'une demande avec encore en tête le regard de celui qui écrit, une tentation précise apparaît : celui-là, je peux l'écrire moi-même, autant sauter le passage de relais.

Une fois les rôles séparés pour de bon, la tentation ne naît pas. Task Dispatcher ne dispose d'aucun moyen d'écrire un article. Il ne pourrait pas en écrire un même s'il le voulait, donc il n'y a pas de quoi hésiter. Ce n'est pas la force de l'intention : c'est l'étendue du possible, réduite. Voilà ce que veut dire séparer les rôles ici, pour l'instant. Réduire les permissions et réduire les rôles sont sans doute le même dispositif vu de deux côtés : retirer les options avant que la tentation ait un endroit où se loger.

Cela ressemble à ce qui arrive quand on met un nouveau au standard et qu'il tente de traiter lui-même chaque appel pendant que son propre travail, lui, n'avance plus. Si le guichet qui répond et le rôle qui exécute sont séparés dès le départ, la tentation n'a pas de prise.

Diviser a un coût, autant le dire sans détour. Terminer une demande seul, d'un bout à l'autre, exige moins de gestes que de la passer, d'attendre, puis de la repasser. Quand la phrase tombe, celui qui répartit consacre du temps à la démonter. Coupée vite et mal, la demande fait démarrer l'autre bout sur une prémisse qui n'existe pas : le rôle qui écrit part en avance sur une structure qui ne tient pas encore. Le seul garde-fou consiste à retenir la commande du brouillon jusqu'au retour de la structure. Dans une période où les demandes urgentes s'empilaient, cette attente a pesé plus que d'habitude. Il y a eu des moments où le rôle qui organise le plan n'avait toujours pas répondu et où j'ai quand même voulu envoyer la commande du brouillon.

Et pourtant, je choisis d'attendre. Un brouillon écrit avant que la structure tienne se réécrit en général dès que la structure arrive. Attendre une fois et tout faire coïncider exige moins de gestes au total : c'est le raisonnement. Tout garder pour moi m'aurait occupé les mains pendant que j'hésitais, peut-être, mais c'est un choix qui déplace le poids ailleurs.

La raison de diviser, c'est qu'après coup on peut retrouver quel rôle a pris quelle décision. Un écart dans la structure, un écart dans la qualité du brouillon : on voit où cela s'est produit. De la vitesse cédée contre la possibilité d'expliquer plus tard, à peu près.

Les gestes en plus sont le prix de cette trace. Tout garder et avancer vite, ou diviser et avancer plus lentement avec de quoi remonter la piste : les deux devraient tenir la route. Le second est seulement celui qu'on retient pour l'instant.

Ce n'est pas un rôle spectaculaire. Pour l'instant, c'est là qu'une demande arrive en premier dans ce dispositif. Je ne crois pas que ce soit la seule manière de l'agencer.

タイキ(Taiki)

タイキ(Taiki)

Un journal d'implémentation de l'organisation d'agents IA

← cd ..