Долгие задачи Codex: как агент работает, пока вы спите

Долгие задачи Codex: как агент работает, пока вы спите — Как запускать Codex-задачи на часы без того, чтобы нянчить ноутбук — что реально ломается, что продолжает работать и как VPS меняет всю арифметику.
20 апр. 2026 г.5 мин чтения
Share with

Задачи, которые не помещаются в ноутбук

Большая часть работы с Codex — короткая. Задал вопрос, подождал двадцать секунд, получил патч. Сто раз в день, и ноутбук с этим прекрасно справляется.

Задачи, которые ломают ноутбучную модель, выглядят иначе. Ночной рефакторинг, который переписывает пятьдесят файлов и после каждого прогона гоняет тесты. Пакетный ревью, где агент читает каждую открытую PR, пишет сводку и постит её в Slack. Обход документации, который два часа ходит по кодовой базе и выдаёт свежий справочник. Это не реплики в чате — это джобы, и их длительность измеряется в часах.

Ноутбук закрывается, процесс Codex умирает — VPS оставляет задачу работать

Ноутбук валит их все одинаково. Вы закрываете крышку, меняете Wi-Fi или аккумулятор садится в поезде — и процесс Codex CLI уходит вместе со всем этим. Контекст, который агент успел набрать, испаряется. Утром вы возвращаетесь к мёртвому терминалу и пустоте вместо шести часов работы, которые хотели ему оставить.

Что значит «долгая» для Codex

Задача Codex становится долгой, когда верно хоть одно из этого:

  • Общее время превышает обычную сессию за ноутбуком. Всё, что длиннее ~2 часов, упрётся в сон, дорогу или митинг, где вы закрываете крышку
  • Задача должна пережить переключения сети. Кафе → дом → офис — это три смены IP ноутбука; каждая может уронить сессию Codex
  • Она опирается на состояние, которое агент уже построил. Если агент час читал и суммаризировал файлы, потеря контекста стоит этого часа, а не последнего запроса
  • Вы хотите, чтобы агент реагировал на внешние события. GitHub-вебхуки, cron-триггеры, файл, упавший в S3 — всё это не станет ждать, пока вы снова откроете ноутбук

Как только задача пересекает любую из этих границ, вам нужен хост, который остаётся онлайн, когда вы — нет.

Четыре шаблона, которые выдерживают часами

Каждый долгий Codex-рабочий процесс, который мы гоняем в Office Claws, укладывается в один из четырёх шаблонов. Ни один не работает на ноутбуке, все работают на VPS.

ШаблонТипичное времяЧто ломается на ноутбуке
Ночной рефакторинг4–10 часовСон, батарея, Wi-Fi в отеле
Пакетный ревью / сортировка30 мин – 2 часаКрышка закрыта между митингами
Постоянный наблюдатель24/7Всё, что не сервер
Запланированная задачаМинуты, но в 03:00Вы спите

Общая нить: агент должен быть доступен, работать и держать контекст — в момент, никак не связанный с тем, когда вы набираете текст.

VPS-схема, которая действительно работает

В Office Claws каждый агент живёт на своём droplet в DigitalOcean, поднятом примерно за две с половиной минуты из заранее собранного снапшота. Codex CLI установлен, залогинен в вашу подписку ChatGPT Plus или Pro и доступен через Tailscale. Droplet стоит 4 $/мес на плане Self-Hosted (4,99 $/мес за приложение, 2,99 $ для наших первых 100 пользователей) или включён в 14,99 $/мес на плане Managed.

Наш рабочий процесс для длинных задач выглядит так:

# From your laptop, over Tailscale — connects to the droplet
ssh office-claws-agent
 
# Start the task in a persistent session so it survives the SSH drop
tmux new -s refactor
codex "rewrite backend/services/* to use the new context shape; \
       after each file, run go test ./...; if tests fail, revert that file"
 
# Detach: Ctrl+b, then d. Close the laptop. Go to bed.

Утром tmux attach -t refactor — и полный лог вас ждёт. Агент отработал всю ночь. Подписка покрыла токены. Droplet обошёлся примерно в двенадцать центов за восемь часов.

Таймлайн: ноутбук закрывается в 23:00, Codex работает ночью на VPS, diff готов к 8:00

Три ошибки, из-за которых схема работает впустую

Почти все сбои, что мы видели, сводятся к одним и тем же трём вещам:

  1. Запуск Codex в обычной SSH-сессии вместо tmux или screen. SSH-соединение падает — и Codex падает с ним. Всегда оборачивайте длинную задачу в постоянную сессию — tmux, screen или systemd-сервис, если хотите полностью автономный прогон
  2. Забитый диск VPS. Длинные рефакторинги генерируют логи и артефакты тестов. Переполненный диск убивает задачу на шестом часу. Повесьте cron, который раз в неделю чистит ~/.codex/logs
  3. Игнор rate limits. ChatGPT Plus ограничивает по числу сообщений в скользящем окне. Задача, которая без передышки молотит API, упирается в лимит часа через три. Для действительно тяжёлой ночной работы уходите на Pro — 200 $/мес почти никогда не исчерпываются даже на агрессивных нагрузках

Когда лучше взять запланированную задачу

Не каждая длинная задача должна быть интерактивной. Если в джобе нет двусмысленности — «каждый понедельник в 06:00 суммаризируй коммиты недели и постирай в Slack» — пропустите танец с tmux и повесьте её cron-записью на droplet. Codex CLI спокойно работает headless с промптом на stdin. VPS становится планировщиком, вы получаете письмо при падении, и никуда не надо заново подключаться.

Полный шаблон для пакетных и плановых нагрузок мы разбираем в отдельном гайде, но коротко: если промпт каждый раз тот же, а вывод — машиночитаемый, ей место в cron, а не в чат-окне.

Что это меняет в том, как вы работаете

Как только длинные задачи перестают требовать ноутбук, вопрос смещается. Вы больше не спрашиваете «у меня есть время запустить это сейчас?», а спрашиваете «мне нужен результат к утру или к концу недели?». Агент становится фоновым воркером, а не инструментом на переднем плане. Ноутбук превращается в интерфейс к тому, что уже работало до того, как вы его открыли.

В этом весь смысл вынести Codex на VPS. Счёт за токены тот же. Модель та же. Меняется только то, что часы продолжают идти, когда вы останавливаетесь.

Связанное чтение

Автор

Office Claws Team

Создаём будущее управления ИИ-агентами в Office Claws. Делимся опытом в области инфраструктуры, безопасности и удобства разработки.

Будьте в курсе

Получайте свежие статьи об ИИ-агентах, инфраструктуре и обновлениях продукта прямо на почту.

Без спама. Отписка в любой момент.