У крупного проекта с открытым исходным кодом всегда есть длинный список срочных дел. Но иногда одна, на первый взгляд техническая, деталь начинает перевешивать всё остальное: обновления. Именно с этим столкнулся OpenClaw.
Команда выпускала новые версии, а пользователи всё чаще сообщали об одном и том же: после обновления что-то переставало работать. С выходом версии 2.0 в начале сентября эта проблема стала слишком заметной, чтобы отложить её «на потом».
Джейсон Сай, мейнтейнер OpenClaw и волонтёр проекта с первых дней, рассказывает, почему обновления оказались такой коварной задачей, как команда изменила процесс и зачем системе нужен работающий агент даже в момент сбоя.
Когда конфигураций слишком много
Во многих отзывах повторялось одно и то же: «Я обновился — и всё перестало работать». На наших стендапах эта тема всплывала постоянно.
Раньше обновление OpenClaw могло привести к двум совершенно разным результатам: либо система становилась лучше, либо ломалась всерьёз и надолго. Причём в неудачном сценарии переставала работать не только новая версия: прежний экземпляр Claw тоже мог оказаться недоступен. А значит, рядом не оставалось агента, который помог бы разобраться.
Я люблю OpenClaw и пользуюсь им с самых ранних дней, но каждое обновление у меня что-нибудь ломает. Это произведение искусства — но ещё один такой релиз, и я удалю «лобстера» со всех систем.
— Babikir Yagoub (@babikiryagoub)
Причина не сводилась к одной ошибке в коде. У OpenClaw тысячи параметров и бесчисленное количество сочетаний настроек, окружений и способов развёртывания. Проверить каждый вариант нереально — комбинаторика здесь быстро становится почти космической. Командам, которым такой перебор не по силам, проще отдать эксплуатацию наружу: хостинг и сопровождение AI-агентов закрывают обновления, откаты и проверку совместимости на стороне подрядчика.
Однако это не делает проблему менее болезненной. Если значимое улучшение нельзя использовать из-за падения во время установки, ценность самого улучшения стремится к нулю. После трудностей, возникших вокруг версии 2.0, команда решила перестроить механизм обновлений.
У разработчиков был запасной выход
Мы настолько к этому привыкли, что не до конца чувствовали, насколько неприятно, когда OpenClaw обновляется сам и в этот момент перестаёт работать.
У мейнтейнеров есть преимущество: почти у каждого на компьютере уже работает агент для программирования. Если обновление споткнулось, разработчик просит Claude или Codex посмотреть логи, поправить конфигурацию и повторить попытку. Обычное дело.
Но для многих пользователей OpenClaw — единственный доступный AI-агент. Если он «упал» во время обновления, попросить о помощи буквально некого. Это важный урок для любой разработки AI-агентов: система не должна лишать пользователя единственного инструмента поддержки ровно тогда, когда он нужнее всего.
Сегодня в 03:45 OpenClaw попытался обновиться автоматически. Gateway остановился для передачи управления, но перезапуск завершился ошибкой ENOENT.
— PeteFazz (@PeteFazz)
Джейсон увидел, что решение уже частично присутствует в существующем процессе. Нужно было переставить несколько ключевых шагов местами — и сделать отказоустойчивость не исключением, а правилом.
Атомарные обновления: либо готово, либо откат
У пользователя всегда должен оставаться рабочий Claw: хотя бы для диагностики проблем после обновления, а в идеале — и для их устранения. Даже если что-то падает, агент должен продолжать работу и доводить процесс до конца.
В новой схеме обновление становится атомарным. Текущий gateway продолжает работать, пока система готовит новую версию и проверяет, что она действительно может стартовать. Никаких прыжков в темноту.
- Рабочий gateway остаётся доступным, пока идёт подготовка обновления.
- Если новая версия не запускается корректно, OpenClaw возвращается к последней рабочей конфигурации.
- Работающий агент сохраняется и может собрать диагностику или помочь устранить неполадку.
Такой подход особенно важен там, где архитектура AI-агентов включает несколько сервисов, фоновые процессы и внешние интеграции. Обновление не должно превращаться в лотерею — тем более в корпоративной среде.
Наконец-то: самообновление, которое не ломает OpenClaw. Отличный прогресс.
— Drouzzart (@Teckkariuki)
Одновременно команда добавила простую кнопку для отправки отчёта о проблеме с обновлением. Это мелочь только на вид. Чем проще пользователю передать контекст сбоя, тем быстрее команда получает реальные данные, а не расплывчатое «у меня ничего не работает».
Если при обновлении возникла ошибка, разработчики просят воспользоваться этой кнопкой и присоединиться к сообществу OpenClaw в Discord. Обратная связь здесь не для галочки: по поступившим отчётам уже исправляют конкретные проблемы.
Работа продолжается
Я не утверждаю, что проблема обновлений полностью решена. Но по тому, что мы видим, механизм работает во множестве сценариев. Если нет — приходите в Discord, сообщайте о сбое, пингуйте меня. Такая обратная связь очень помогает.
Долгосрочная цель звучит почти незаметно: обновления должны проходить так спокойно, чтобы пользователи вообще о них не думали. Один из возможных вариантов — отдельный sidecar-агент, изолированный от основного агента. Он следит за процессом, помогает исправлять изменения, сообщает о сбоях и не даёт обновлению оставить человека один на один с неработающей системой.
Для таких сценариев важны не только удобство, но и безопасность AI-агентов: контролируемый откат, понятные журналы событий, предсказуемые права доступа и разделение компонентов снижают цену ошибки.
У проекта с широким спектром вариантов развёртывания невозможно честно пообещать безупречное обновление в каждом случае. И всё же первые результаты атомарного механизма обнадёживают: пользователи всё чаще сообщают об успешных обновлениях, а команда быстрее закрывает найденные шероховатости.
Первое впечатление от OpenClaw v9.3 отличное. Система стала отзывчивее, а обновление под управлением агента впервые прошло у меня безупречно. Похоже на тот самый надёжный релиз OpenClaw 2.0.
— Mike Assad (@mikeassad77)
Если вы давно откладывали обновление OpenClaw из-за прежнего неудачного опыта — это вполне понятная осторожность. Но сейчас, похоже, лучший момент попробовать актуальную версию. А если что-то всё-таки пойдёт не так, путь для сообщения об ошибке уже есть. И это, честно говоря, гораздо лучше, чем молча смотреть на сломанный gateway.
Если вы выстраиваете такой же процесс у себя — настроим сборку, атомарный деплой и откат для ваших агентов, чтобы обновление перестало быть событием.
