Иногда возникает необходимость запустить на сервере длительный процесс с использованием ИИ. Например, мне нужно переиндексировать память моего ИИ-помощника, и это займет около 2–3 часов. Процесс индексирования также написан с помощью ИИ и выводит данные о ходе выполнения. Поскольку на сервере установлен не самый современный процессор, индексирование занимает много времени. Всё это время ИИ будет отслеживать процесс и ждать его завершения. Это приводит к значительному расходу токенов и исчерпанию лимитов.
Что можно сделать?
Процесс может выполняться в фоновом режиме. Вы можете дать ИИ такие инструкции:
- Оценить, сколько времени займет выполнение процесса. Имейте в виду, что ИИ плохо справляется с оценкой времени, поэтому руководствуйтесь также здравым смыслом.
- ИИ запустит процесс в
tmuxи отсоединится. При этом процесс останется запущенным на сервере, но ИИ перестанет его отслеживать. - Вам нужно будет вручную запустить ИИ для проверки хода процесса примерно в расчетное время завершения. Если процесс не завершился, быстро рассчитайте, когда он может закончиться, и запустите проверку снова примерно в это время.
Это позволяет сэкономить много токенов. Кстати, ИИ одобряет эту идею. Это также выгодно для них, поскольку снижает нагрузку на модели.
Что такое tmux?
tmux — это терминальный мультиплексор, который позволяет запускать несколько терминальных сеансов в одном окне, оставлять программы работать в фоновом режиме при обрыве соединения и разделять экран на отдельные панели. Он идеально подходит для удаленной работы по SSH и управления сложными рабочими процессами разработчиков. Обычно он поставляется в виде пакета для всех современных систем Linux и macOS. Если он не установлен на вашем сервере, вы можете установить его, выполнив стандартные действия, например, apt-get install tmux (это для систем на базе Debian).
Если tmux отсутствует и вы не можете его установить, существует более старое аналогичное программное обеспечение под названием screen. Оно обычно устанавливается по умолчанию, и ИИ также могут его использовать.