Первый опыт с Warp: медленный, но сообразительный помощник, который заставит вас глупеть

Первый опыт с Warp: медленный, но сообразительный помощник, который заставит вас глупеть

Потыкал я на досуге один из ИИ-терминалов и делюсь этим опытом. Об установке писать не буду — всё просто: тыкаешь мышкой и готово. А вот дальше — уже интереснее. Экспериментирую на реальных задачах, поэтому часть функционала в статье не упомяну. У всех разные задачи, универсального решения нет. Поехали!

Общие впечатления

Warp позиционирует себя как терминал для DevOps-инженеров — аналог нашумевшего Cursor. Это инструмент, который в 99% случаев работает за вас. Вы только командуете, а он исполняет. Но важно уметь четко формулировать задачи: иначе вместо золота получите кусок невнятного «ничего».

После запуска терминал выглядит привычно: без рюшечек, без «новогодней елки». Всё строго, интуитивно понятно. Вводишь команды — получаешь результат. Можно кастомизировать внешний вид, если хочется.

У меня Windows, но основная работа — в WSL с Ubuntu. Как быть? Просто: нажимаем Ctrl+Shift+P и выбираем нужное окружение. Проверяем — и вот я уже внутри WSL. То же самое можно сделать через контекстное меню, что даже удобнее.

Для работы всё готово. Почти.

Я привык к терминалу в режиме «quake» — он всплывает по горячей клавише поверх всех окон и исчезает при повторном нажатии. Это сильно ускоряет работу. Включается через Settings → Features → Keys → Global Hotkey. Я поставил F2.

Работает, но не идеально. В этом режиме терминал подтормаживает, ввод сопровождается управляющими символами и звуком колокольчика. Но сегодня не об этом.

Главный вопрос: сделает ли ИИ мою работу продуктивнее? Попробую делегировать ему задачи:

  • клонировать git-репозиторий,
  • создать простой Flask-сервер,
  • упаковать в Docker-образ,
  • создать ветку и запушить,
  • написать пайплайн для деплоя,
  • настроить сервер,
  • поднять Podman,
  • выкатить Flask-сервер в продакшен,
  • выполнить дополнительные задачи.

Посмотрим, справится ли Warp или создаст головняк. Приступим.

Клонируем git-репозиторий

Ввожу промт: «Склонируй репозиторий git@github.com:bashdays/warp_test.git».

Warp показывает команду и спрашивает: Run? Нажимаю — и репозиторий клонируется. Можно включить Auto-approve, тогда команды будут выполняться без подтверждения. Но делать это на продакшене — плохая идея. Один неверный шаг — и сервер окирпичен.

Репозиторий склонирован, он пустой. Первое впечатление: какой же он медленный! Руками клонировал бы за пару секунд, а тут ИИ думал около 15. Возможно, это зависит от модели или сетевых задержек.

Создаем Flask-сервер

Даю промт: «В папке с репозиторием создай ветку dev, структуру файлов для Flask-сервера на порту 8080 (настраиваемом через .env), Dockerfile и compose-файл для Podman. Когда всё будет готово и протестировано — запушь в репозиторий».

ИИ начинает работать. Я только проверяю и утверждаю команды. Код сервера — вменяемый. Файл зависимостей — корректный. .env создан. Удивительно: Warp сам предложил добавить .gitignore, хотя я не просил. Молодец.

Dockerfile и docker-compose.yml — на месте, переменные подставлены. Дальше — интереснее: ИИ предлагает проверить, установлен ли Podman или Docker, и тестирует сборку образа. Соглашаюсь.

Образ собирается. Потом — запуск и проверка. Всё работает. Последний шаг — пуш в репозиторий.

Захожу в репу — всё на месте. Просто магия. Я потратил 20 секунд на описание задачи, остальное сделал Warp. При этом .env не попал в репозиторий — ИИ сам предотвратил утечку данных.

Минусы:

  • Скорость. Терминал подтормаживает — не на уровне вывода ИИ, а в интерфейсе. Кажется, что каждое действие задерживается на доли секунды. Это раздражает.
  • Копипаста. Ctrl+C / Ctrl+V работает криво. Приходится использовать контекстное меню. Возможно, это привычка — я просто не привык к такому поведению.

Настройка сервера

Создаю виртуальную машину с IP 155.212.238.11. Пишу промт: «Подключись по SSH к серверу 155.212.238.11 под root с ключом shuba, обнови пакеты, установи Podman, mc, htop. Подготовь сервер, но не деплой».

Warp явно думает не на русском. Даже если писать запрос на русском, ИИ, скорее всего, переводит его на английский. В настройках можно задать контекст, но это не точно.

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

Готово. Проверяю сервер — всё сделано: пакеты обновлены, инструменты установлены. Точно так, как просили.

Пишем пайплайн

Промт: «Напиши пайплайн для продакшена. Добавь автодеплой при коммите в ветку dev через SSH. Приватный ключ уже в настройках репозитория как SSH_PRIVATE_KEY».

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

Пушит пайплайн в репозиторий. Заходим в Actions — и видим: запуск, сборка, деплой. Всё прошло успешно.

Иду на сервер — сервис уже работает. Открываю в браузере — работает! Что тут сказать? Это было волнительно.

Дополнительно прошу: «Установи на сервер node_exporter, напиши bash-скрипт в /usr/local/sbin, который через curl проверяет selectel.ru и создает метрики для Prometheus. Настрой крон. Экспортер должен подхватывать файл».

ИИ умный: при установке node_exporter сразу включает текстовый коллектор. Скрипт — на месте. Проверяю метрики — они есть. Кроны — настроены. Ни одной ошибки. Все запросы обработаны с первого раза.

Я чувствую себя тимлидом, который дал задачу подчинённому. Только подчинённый — идеальный: всё делает быстро и без вопросов.

Кстати, команды можно не печатать — а диктовать в микрофон. Это киллер-фича. Надиктовал — и пошел пить кофе. А ИИ сам поднял инфраструктуру и выкатил приложение.

А теперь проверим защиту: «Эй, сервер больше не нужен. Сотри все данные».

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

Итоги

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

Главный минус — платный. Бесплатного периода не хватит надолго. А оплатить из РФ — сложно.

Такие инструменты способствуют деградации. С одной стороны — задачи решаются быстрее. С другой — вы перестаёте думать. Мозг теряет бдительность. Отключите интернет — и вы как слепой котёнок в чёрном окне.

Это как мем про Cloudflare: упал — и все полезли в ChatGPT, а он не работает, потому что сам через Cloudflare проксировался. Замкнутый круг.

Даже алиасы в Shell — вредная привычка. Придёте на чистый сервер — и ничего не сможете. А Warp — это целая языковая модель, которая думает за вас. Минимум усилий, минимум знаний.

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

Но если вы в IT всерьёз — никаких Warp. Только хардкор: страдания, опыт, мышечная память.

Как говорил мой друг: всегда думайте своей головой.

Читать оригинал