Mono
Список ожидания

Как запретить Mac или ПК засыпать, пока работает ИИ-агент

Не дайте Mac или ПК с Windows уснуть, пока агент для кода выполняет долгую задачу: через caffeinate или настройки сна. А потом верните прежние настройки.

Чтобы Mac не засыпал, пока работает агент для кода, откройте «Терминал», выполните caffeinate -i и не закрывайте окно до конца задачи. В Windows 11 задайте в «Параметрах» для спящего режима при питании от сети значение «Никогда», а потом верните прежнее. Ноутбук держите подключённым к адаптеру питания, с открытой крышкой.

Здесь речь о macOS и Windows 11, а работа ноутбука с закрытой крышкой не рассматривается. Mono от Reunified может не давать Mac засыпать, пока работает агент, но эти шаги подходят для любого агента.

1. Поймите, что сон делает с сессией агента

Сон приостанавливает все программы, включая агента, и разрывает их сетевые соединения. После этого сессия может не восстановиться корректно.

  • Сон дисплея только выключает экран. Программы продолжают работать.
  • Сон при бездействии останавливает компьютер, если какое-то время нет ввода. Занятый работой агент вводом не считается.
  • Закрытие крышки ноутбука обычно переводит его в сон, что бы ни было указано в настройках бездействия.
  • Выключение или перезагрузка завершают сессию.

Не рассчитывайте, что телефон разбудит спящий или выключенный компьютер.

Вымышленный пример: перед обедом вы оставляете агента обновлять зависимости и запускать тесты в своём проекте «tidy-recipes». Это примерно 40 минут работы на MacBook Air, подключённом к питанию.

2. Не дайте Mac уснуть на время одной задачи с помощью caffeinate

Утилита caffeinate встроена в macOS. С ключом -i она не даёт системе уйти в сон при бездействии, пока работает. Когда она завершается, снова действуют ваши обычные настройки.

Команда Действие
caffeinate -i Компьютер не спит, пока вы не остановите команду сочетанием Control-C
caffeinate -i <command> Запускает команду, компьютер не спит до её завершения
caffeinate -i -t 3600 Компьютер не спит 3600 секунд (час)
caffeinate -i -w <pid> Компьютер не спит, пока этот процесс не завершится
caffeinate -d Дисплей остаётся включённым

Агент tidy-recipes работает в настольном приложении, поэтому запустить его через caffeinate не получится. Вместо этого вы выполняете caffeinate -i -t 3600 (час на 40 минут работы) и оставляете окно «Терминала» открытым. Идентификатор для -w есть в столбце PID в «Мониторинге системы», а все параметры перечислены в man caffeinate.

3. Измените настройки сна Mac для долгих сессий

Если агенты работают часами или каждый день, лучше изменить настройку. Где это сделать, показано в руководстве Apple по настройкам режима сна и выхода из него:

  • Ноутбук: «Системные настройки» > «Аккумулятор» > «Параметры», включите «Не переходить в режим сна автоматически, когда дисплей выключен при работе от сети питания».
  • Настольный Mac: «Системные настройки» > «Энергия», включите «Не переходить в режим сна автоматически при выключенном дисплее».

Apple предупреждает, что запрет на переход в режим сна может увеличить расход энергии. Параметр «Выводить из режима сна для доступа к сети» лишь позволяет Mac ненадолго просыпаться ради общих служб. Чтобы агент продолжал работать, этого параметра недостаточно.

В Mono на Mac в разделе «Настройки» > «Code» есть параметр «Не засыпать, пока работает агент», по умолчанию включённый. Он откладывает сон при бездействии, пока агент не закончит свой ход. Закрытие крышки всё равно переводит Mac в сон. Параметр «Работать при заблокированном экране», тоже включённый по умолчанию, позволяет открытым сессиям продолжать работу, когда экран заблокирован. В Windows у Mono нет настройки сна.

4. Не дайте ПК с Windows уснуть

В Windows 11 откройте «Пуск» > «Параметры» > «Система» > «Питание и батарея» (Power & battery) и раздел со временем ожидания экрана, спящего режима и гибернации (Screen, sleep, & hibernate timeouts), как показано в руководстве Microsoft по параметрам питания. На настольном компьютере эта страница может называться «Питание» (Power).

В пункте о переходе устройства в спящий режим (Make my device sleep after) запишите значение для работы от сети, затем выберите «Никогда» или время с большим запасом относительно длительности задачи.

На следующий день вы запускаете похожую 40-минутную задачу на «den-pc», настольном компьютере с Windows, который засыпает через 30 минут. Это меньше, чем длится задача, поэтому вы записываете 30 минут и выбираете «Никогда».

Чтобы позже вернуть таймер из терминала, используйте powercfg, который принимает значение в минутах: powercfg /change standby-timeout-ac 30.

5. Подготовьте долгую задачу, которую оставите без присмотра

Заполните эту таблицу перед уходом.

Проверка MacBook Air den-pc (Windows)
Питание и крышка Адаптер подключён, крышка открыта Настольный, подключён к сети
Что не даёт уснуть caffeinate -i -t 3600 Спящий режим: «Никогда»
Значение, которое нужно вернуть Нет 30 минут
Обновления установлены, перезагрузка не требуется Да Да
Агент работает, оповещения проверены, телефон заряжен Да Да

Проследите за первым шагом агента, чтобы он не остановился на запросе входа в аккаунт или из-за отсутствующего инструмента. Настройте уведомления от агента для кода о завершении работы и запросах разрешений, а с помощью руководства по удалённой работе с кодом следите за ним с телефона.

6. Верните настройки, когда задача завершится

  1. Остановите caffeinate сочетанием Control-C или дождитесь, пока истечёт заданное время.
  2. Выключите параметры сна на Mac, которые вы включали.
  3. В Windows верните записанное время перехода в спящий режим (30 минут на den-pc).

Затем проверьте, что компьютеру больше ничто не мешает уснуть. На Mac выполните в «Терминале» pmset -g assertions и посмотрите раздел «Listed by owning process». caffeinate там быть не должно, а записи, связанные со звуком или системой, вполне обычны. В Windows выполните powercfg /requests в терминале, открытом от имени администратора. Команда выводит приложения и драйверы, которые не дают выключить дисплей или перевести компьютер в сон.

Напоследок проверьте изменения агента, прежде чем что-либо коммитить. Mono пока недоступен, но вы можете записаться в список ожидания.

Автор

Reunified делает приложения, которые снова собирают разрозненное воедино.

Читайте также

Все статьи

5 мин чтения

Уведомления, когда ИИ-агент закончил работу или ждёт разрешения

Получайте оповещение на компьютер или телефон, когда агент для кода закончил работу, остановился с ошибкой или ждёт вашего разрешения, и проверьте его, прежде чем отойти от стола.

Скоро

Запишитесь в список ожидания

Оставьте адрес электронной почты, и мы напишем вам, когда Mono можно будет скачать.

Где вы будете пользоваться Mono?