Полевая заметка
Выходите на улицу. Агент продолжает работать.
Телефон никогда не был тем, что поддерживало жизнь вашего агента. Это делает сервер. Стоит в это поверить — и полдня на свежем воздухе не будут стоить вам ничего: вы уходите, работа идёт дальше, и прерывает вас только вопрос, на который действительно нужен ответ.
Работа заканчивается независимо от того, закончилась ли сборка. Pau hana — конец рабочего дня — наступает по собственному расписанию, и обычный ответ на это — не замечать: держать ноутбук открытым на столе, вполглаза следить за полосой прогресса и отдавать вечер процессу, которому вы не нужны ни на одном шаге.
Такой обмен имеет смысл, только если работа идёт на той машине, которую вы носите с собой. Обычно это не так. Агент — это процесс на сервере: он правит файлы на диске этого сервера и запускает его тесты. Ваш телефон — окно к нему. Закройте окно — комната останется на месте.
Долговечный слой — это сервер
Запустите Claude Code или Codex внутри tmux, herdr или Zellij — и сеанс будет принадлежать серверу, а не вашему соединению. Опуститесь до одной палочки сигнала, зайдите в лавовую трубу, уберите телефон на два часа: агент продолжит читать, править и гонять тесты, потому что он никогда не был привязан к вам.
В этом весь фокус, и здесь стоит быть точным, потому что легко приписать заслугу не тому компоненту. Процесс держит не приложение. Его держит мультиплексор на дальнем конце. Задача Mobile SSH — чисто уйти и чисто вернуться.
Вы не источник питания. Перестаньте вести себя как он.
Заглядывайте, а не нянчитесь
Агенту, который работает час, человек нужен примерно на девяносто секунд. Проблема никогда не была в ожидании — она в том, что неизвестно, когда наступят эти девяносто секунд. Именно это и заставляет людей смотреть в экран, которому нечего сказать.
Agent Alerts отвечают на этот вопрос. Обнаружение намеренно примитивное и потому заслуживает доверия: звонок терминала, уведомление OSC 9 или OSC 777 и агентский hook, который вы один раз ставите на сервер. Приложение не вчитывается в ваш вывод и не угадывает намерения, и никакого регулятора чувствительности здесь нет — сообщается ровно то, о чём объявила программа на другом конце.
Поэтому телефон лежит в кармане, пока не появится настоящий вопрос. Тогда он завибрирует, вы читаете запрос, отвечаете одним касанием и убираете его обратно. Это всё взаимодействие целиком, и оно одинаково работает с пляжа, от начала тропы или из очереди за shave ice.
Перед тем как уйти
- Запустите под мультиплексором
Запускайте агента внутри
tmux,herdrили Zellij, чтобы сеанс переживал ваше соединение, а не зависел от него. - Поставьте агентский hook
Один раз на сервер, прямо из приложения. Это небольшой shell-скрипт, который может вызвать любой агент, — не интеграция с поставщиком и не привязка к одной CLI.
- Убедитесь, что оповещение доходит
Вызовите запрос и проверьте, что телефон завибрировал, прежде чем на это полагаться. Оповещение, которое вы ни разу не видели в работе, — не план.
- Задайте точку остановки
Задача, которая где-то заканчивается, лучше бесконечной, потому что вы сознательно решили за ней не следить.
Прочти AGENTS.md, затем почини падающие тесты обработчиков. Изучи diff перед правками, запусти целевые тесты и остановись, когда они пройдут, — не коммить. Чего остров не исправит
Два честных ограничения — потому что текст, в котором перечислены одни достоинства, называется рекламой.
| Когда телефон отправляется в карман | Продолжает работать? |
|---|---|
| Процесс агента на сервереПринадлежит tmux, herdr или Zellij | ✓ Да |
| Файлы, diff и вывод тестовНа диске сервера | ✓ Да |
| Ваше место в сеансеПрисоединяется заново, когда вы вернётесь | ✓ Да |
| Соединение на AndroidУдерживается foreground-сервисом | ✓ Да |
| Соединение на iOSКороткое время в фоне — затем переподключение | — Нет |
| Оповещение, которое некому доставить без сигналаНужно активное соединение; доставка не гарантируется | — Нет |
Разница между платформами реальна, и её стоит учитывать заранее. На Android соединение удерживает foreground-сервис, пока приложение в фоне: постоянное уведомление и есть сеанс. У iOS есть лишь короткое время для работы приложения в фоне; после приостановки оно переподключается и заново присоединяется к вашему мультиплексору, когда вы возвращаетесь. Для оповещений нужно активное соединение. И в том, и в другом случае агент на сервере не останавливался, в этом и суть. Закрывалось только окно.
Aloha — не повод для беспечности
Уходить как следует — небольшая дисциплина. То, что вы не оставили бы работать без присмотра на два часа, не стоит запускать уже на пороге: агенту посреди миграции расстояние не помогает. Дайте ему задачу с естественной точкой остановки, попросите сначала изучить, а потом править, и пусть diff будет тем, что вы просмотрите по возвращении.
И относитесь к уведомлению так же бережно, как к пейджеру. Если оповещает всё, не оповещает ничто. Hook срабатывает на тех состояниях, ради которых стоит отвлечь человека; оставьте это так — и вибрация сохранит смысл.
Сборке не нужны зрители. Идите и побудьте где-нибудь.