
Soixante conteneurs sur un seul serveur
Une machine bare-metal exécute des dizaines à des centaines de conteneurs Hoody. La dédupplication KSM et BTRFS rend le coût marginal quasi nul.
Votre agent tourne dans un conteneur chez vous. Vous êtes à l'autre bout de la ville. La boucle de l'agent envoie chaque étape dans Hoody Pipe ; vous faites curl sur le même chemin depuis un onglet de téléphone. La trace arrive caractère par caractère — pas de SSH, pas de tableau de bord, pas d'upload.
La boucle de l'agent émet déjà des événements structurés — think, tool_use, result. Envoyez-les dans un chemin avec PUT. Depuis le téléphone, faites GET sur le même chemin. Le pipe ne stocke pas les octets ; il les transmet à qui les lit.
Deux connexions HTTP, un seul chemin. Le pipe maintient la connexion du récepteur jusqu'à l'arrivée de l'émetteur — votre téléphone peut être ouvert avant que l'agent ne démarre, ou vous pouvez rejoindre en cours de route. Hoody Pipe est le fil entre les deux, jamais une base de données.
L'agent émet quatre types de ligne. Chacun vous dit quelque chose qu'un dashboard ne peut pas dire : non seulement ce qui s'est passé, mais ce que l'agent pensait à ce moment-là.
Le plan du modèle, dans ses propres mots. Pourquoi il a choisi cet outil, ce qu'il attend en retour, où il pourrait bifurquer. Lire ces lignes, c'est lire l'esprit de l'agent en temps réel.
[think] user wants invoice CSV…La fonction et les arguments exacts que l'agent a décidé d'invoquer. Une ligne par appel, dans l'ordre où la boucle les a déclenchés. Pas d'abstraction SDK ; juste la requête au niveau du fil.
[tool_use] sql.describe("invoices")La réponse de l'outil, résumée à la ligne. Nombre de lignes, tailles de fichiers, codes de statut, messages d'erreur. La chose sur laquelle la prochaine ligne [think] va raisonner.
[result] 12 rows · 41 msChaque ligne arrive au moment où l'agent l'émet. Pas de rafraîchissement toutes les 5 secondes, pas de « dernière mise à jour il y a 2 min ». Quand le curseur clignote, l'agent est entre deux pensées. Vous suivez, vous ne rafraîchissez pas.
[tool_use] files.write("invoices.csv")L'agent a tourné quarante minutes. Vous l'avez lu comme un livre.
Quarante minutes de raisonnement, d'appels d'outils et de résultats — rendus comme un seul flux de texte continu et coloré. Vous ne sondez pas un endpoint. Vous ne rechargez pas un dashboard. Vous suivez l'esprit de l'agent depuis un café.
Observer un agent a longtemps voulu dire : un SaaS, un dashboard ou une application WebSocket bricolée. Rien de tout cela ne survit à la question « et si je faisais juste curl ? ».
Envoyez la boucle, faites curl sur le chemin. La pensée de l'agent devient un tail que vous pouvez lire.