← Blog

Note de terrain

Sortez. L’agent travaille toujours.

Ce n’est jamais le téléphone qui maintenait votre agent en vie : c’est le serveur. Une fois cela admis, un après-midi dehors ne coûte rien — vous partez, le travail continue, et la seule chose qui vous interrompt est une question qui mérite vraiment une réponse.

Quatre sessions sur une machine qui vous appartient. Trois d’entre elles se moquent de l’endroit où vous êtes. La quatrième est la seule raison de sortir le téléphone de votre poche.

Le travail se termine, que la compilation soit finie ou non. Pau hana — la fin de la journée de travail — arrive selon son propre horaire, et la réponse habituelle consiste à l’ignorer : garder le portable ouvert sur la table, surveiller d’un œil une barre de progression et sacrifier sa soirée à un processus qui n’a besoin de vous à aucun moment.

Ce marché n’a de sens que si le travail se déroule sur la machine que vous transportez. En général, ce n’est pas le cas. L’agent est un processus sur un serveur : il modifie les fichiers du disque de ce serveur et lance les tests de ce serveur. Votre téléphone est une fenêtre ouverte dessus. Fermez la fenêtre, la pièce est toujours là.

Le serveur est la couche durable

Lancez Claude Code ou Codex dans tmux, herdr ou Zellij et la session appartient au serveur, pas à votre connexion. Tombez à une barre de réseau, entrez dans un tunnel de lave, rangez le téléphone pendant deux heures — l’agent continue de lire, de modifier et de lancer les tests, car rien en lui n’a jamais été rattaché à vous.

C’est là toute l’astuce, et il vaut la peine d’être précis, car on attribue facilement le mérite au mauvais composant. Ce n’est pas l’app qui maintient le processus en vie. C’est le multiplexeur, à l’autre bout. Le rôle de Mobile SSH est de partir et de revenir proprement.

Vous n’êtes pas l’alimentation électrique. Cessez de vous comporter comme telle.

Passez voir, ne montez pas la garde

Un agent qui tourne pendant une heure a besoin d’une personne durant quatre-vingt-dix secondes environ. Le problème n’a jamais été l’attente ; c’est de ne pas savoir quand ces quatre-vingt-dix secondes arrivent, et c’est ce qui pousse à fixer un écran qui n’a rien à dire.

Les Agent Alerts répondent à cela. La détection est volontairement bête, et donc digne de confiance : une cloche de terminal, une notification OSC 9 ou OSC 777, et le hook d’agent que vous installez une seule fois sur le serveur. Elle ne lit pas votre sortie pour en deviner l’intention, et il n’existe aucun réglage de sensibilité à ajuster — elle rapporte ce que le programme d’en face a réellement annoncé.

Le téléphone reste donc dans votre poche jusqu’à ce qu’une vraie question se pose. Il vibre alors, vous lisez l’invite, vous tapez une réponse et vous le rangez. Toute l’interaction tient là, et elle fonctionne depuis une plage, un départ de sentier ou la file d’attente pour une glace pilée.

Avant de franchir la porte

  1. Lancez-le sous un multiplexeur

    Exécutez l’agent dans tmux, herdr ou Zellij pour que la session survive à votre connexion au lieu d’en dépendre.

  2. Installez le hook d’agent

    Une fois par serveur, depuis l’app. C’est un petit script shell que n’importe quel agent peut appeler — pas une intégration propriétaire, et sans lien avec une seule CLI.

  3. Vérifiez qu’une alerte arrive

    Déclenchez une invite et confirmez que le téléphone vibre avant de vous y fier. Une alerte que vous n’avez jamais vue fonctionner n’est pas un plan.

  4. Donnez-lui un point d’arrêt

    Une tâche qui se termine quelque part de sensé vaut mieux qu’une tâche ouverte, puisque vous choisissez de ne pas la surveiller.

Une tâche qu’on peut laisser seule Lis AGENTS.md, puis corrige les tests de handler qui échouent. Inspecte le diff avant de modifier, lance les tests ciblés, et arrête-toi une fois qu’ils passent — ne commite pas.

Ce que l’île ne peut pas réparer

Deux limites honnêtes, car un billet qui ne liste que des points forts est une publicité.

Ce qui survit à votre départ
Quand le téléphone retourne dans la pocheÇa continue ?
Le processus de l’agent sur le serveurDétenu par tmux, herdr ou Zellij ✓ Oui
Fichiers, diffs et sortie des testsSur le disque du serveur ✓ Oui
Votre place dans la sessionRattachée à votre retour ✓ Oui
La connexion, sur AndroidMaintenue par un service de premier plan ✓ Oui
La connexion, sur iOSBref délai en arrière-plan — puis reconnexion — Non
Une alerte sans réseau pour la transmettreNécessite une connexion active ; réception non garantie — Non
L’agent continue de tourner à chaque ligne. Seul varie le fait que votre téléphone gardait ou non la fenêtre ouverte.

La différence entre les plateformes est réelle et mérite d’être anticipée. Sur Android, un service de premier plan maintient la connexion pendant que l’app est en arrière-plan — la notification persistante est la session. iOS n’accorde à l’app qu’un bref délai en arrière-plan ; après une suspension, elle se reconnecte et se rattache à votre multiplexeur à votre retour. Les alertes nécessitent une connexion active. Dans les deux cas, l’agent sur le serveur ne s’est jamais arrêté, et c’est bien là l’essentiel. Seule la fenêtre s’est fermée.

L’aloha n’excuse pas la négligence

Bien partir demande une petite discipline. Tout ce que vous ne voudriez pas laisser tourner sans surveillance pendant deux heures ne doit pas être lancé au moment de franchir la porte — un agent au milieu d’une migration ne s’améliore pas avec la distance. Donnez-lui une tâche avec un point d’arrêt naturel, demandez-lui d’inspecter avant de modifier, et laissez le diff être ce que vous relirez à votre retour.

Et traitez la notification avec le même soin qu’un bipeur. Si tout alerte, plus rien n’alerte. Le hook se déclenche sur les états qui méritent d’interrompre une personne ; laissez-le ainsi et la vibration gardera son sens.

La compilation n’a pas besoin de public. Sortez et soyez quelque part.