Коротко: В комментарии к посту в LinkedIn читатель написал, что у него не открываются ссылки на мой блог. С помощью pi + GLM 5.1 я сделал автоматически обновляемую HTML-страницу с мониторингом доступности. По цифрам на ней увидел проблему скорости: блог отдавал страницы по 3–5 секунд. Попросил агента исследовать причину и предложить решение. Мы выбрали кэш на уровне nginx. Код генерации страницы, сам HTML и конфиги nginx я не смотрел. Я задавал вопросы агенту, направлял его и принимал внешний вид страницы мониторинга. Для меня это и есть вайбкодинг — подход, который раньше я не принимал.
Кому полезно: тем, кто ищет альтернативы Cursor, Claude Code, Codex, Google Antigravity или хочет снизить зависимость от дорогих подписок. В статье пример того, что получилось сделать с помощью pi + GLM 5.1: страницу мониторинга и решение devops-задач.
За пределами Cursor, Claude Code, Codex и Antigravity
В ИИ-разработке на слуху Cursor, Claude Code, Codex, Google Antigravity. У каждого инструмента есть свои приверженцы. Кто-то сидит в Cursor, кто-то в Claude Code, кто-то в Codex, кто-то использует несколько инструментов сразу.
В этой истории я использовал другую связку: pi + GLM 5.1. Я последнее время пробую эту пару на разных задачах и накапливаю практический опыт. Причина простая: pi очень простой, без лишних надстроек; GLM 5.1 по опубликованным бенчмаркам выглядит неплохо и в моих задачах тоже показывает себя достойно.
Это ещё и история про вайбкодинг. Для многих разработчиков это слово приобрело негативный оттенок. Для меня — тоже. Оно ассоциируется с подходом, где на откуп модели отдают всё: код, архитектуру, зависимости, конфиги, абсолютно все решения. «Разработчик» в таком сценарии скорее пользователь ИИ-агента: он не следит за кодом, полностью доверяет модели и принимает результат по принципу «работает — отлично».
Такой подход быстро накапливает технический долг. Потом становится сложнее вносить изменения, чинить баги и понимать, почему система ведёт себя именно так. В отдельных задачах последствия могут быть фатальными. Поэтому для меня такой подход неприемлем в долгосрочных и важных проектах.
Но есть задачи другого типа: разовые, второстепенные, некритичные. В них ценность создаёт не сам код, а результат его выполнения: HTML-страница с отчётом, таблица, график, CSV-выгрузка, проверка гипотезы. Для таких задач достаточно полезного артефакта, а качество кода второстепенно.
С чего всё началось
Я опубликовал пост в LinkedIn про то, как выстраиваю процесс для ИИ-агентов в проекте: инструкции, роли, контроль качества и критерии готовности. В комментариях Костя Демидов написал:
«Привет, Дима! Засада в том, что LinkedIn работает из РФ только с VPN, а твой блог, на который ты дал ссылки, видимо, работает только из РФ (то есть с VPN не работает), поэтому они не открываются.»
Я списался с Костей в Telegram и уточнил детали:
- из Латвии и Литвы блог не открывается;
- из Финляндии открывается;
- VPN — Red Shield.
Сервер блога стоит в Нидерландах, поэтому я не ждал проблем с доступом из Европы. Но комментарий показал простую вещь: моей проверки из одной точки недостаточно.
Спасибо Косте. Без его сообщения я бы не заметил проблему: у меня блог открывался. После переписки стало понятно, что нужен мониторинг доступности из разных локаций.
Этап 1: HTML-страница с мониторингом доступности
После переписки с Костей я решил мониторить доступность своих сайтов из разных локаций. Попросил агента найти бесплатный сервис для проверок.
Агент предложил check-host.net: ноды по всему миру, HTTP-проверки, без оплаты. Собрал первую версию дашборда.
Результаты насторожили. Часть нод показывала таймауты или полную недоступность. Но я не был уверен, что проблема в хостинге блога: локально всё открывалось, а в Яндекс.Метрике была статистика посещений. Ноды бесплатные, выбираются случайно — часть из них могла просто не работать. Например, Иран показывал DOWN, но я знал, что в это время там отключили интернет из-за военных действий. Блог ни при чём.
Я добавил google.com и ya.ru как эталон для проверки самих нод. Логика простая: если мой блог медленнее Google — проблема на моей стороне. Если Google тоже показывает таймаут — барахлит нода, и мой блог ни при чём.
Дальше правки шли потоком:
- убрал проверку из Ирана и Украины, попросил добавить ноды США и удалённые регионы России;
- добавил проверку с локальной машины и со своих серверов;
- развёл частоту проверок: свои серверы — каждые 15 минут, check-host — раз в час, чтобы не упереться в лимиты;
- поставил всё в cron.
Цифры показали то, на что я не обращал внимания: блог prikotov.pro отдавал страницы по 3–5 секунд. Я обсудил с агентом варианты ускорения — решили добавить кэш на уровне nginx. Сначала на главную, после проверки — на все публичные страницы.
Но с мониторингом иногда возникали проблемы. Со временем я добавил в проверку зеркала блога — mirror1.prikotov.pro, mirror2.prikotov.pro, mirror4.prikotov.pro. Check-host за раз не проверял все сайты — API возвращал данные только по части. Я разбил проверки в кроне, чтобы каждый сайт запускался отдельно.
Позже добавил Globalping как дублирующий сервис на случай проблем с check-host.
Финальный крон на сегодня — пример для двух сайтов:
# свои серверы — каждые 15 минут
2,17,32,47 * * * * refresh_own.sh --disable-node=www1
# check-host — каждые 4 часа
52 0-23/4 * * * refresh_checkhost.sh --site=prikotov.pro --disable-node=www1
57 2-23/4 * * * refresh_checkhost.sh --site=google.com --disable-node=www1
# Globalping — каждые 4 часа, со сдвигом
18 0,4,8,12,16,20 * * * refresh_globalping.sh --site=prikotov.pro --limit=3 --locations=DE,US,RU
33 1,5,9,13,17,21 * * * refresh_globalping.sh --site=google.com --limit=3 --locations=DE,US,RU
Остальные проверки запускаются так же, каждая своей строкой со сдвигом по минутам.
В результате получилась страница мониторинга с тремя источниками проверок:
- локально с десктопа;
- с моих серверов в Нидерландах, России, Франции и Германии;
- через check-host.net и Globalping.
Как настоящий вайбкодер 😎 код генератора и код HTML я до сих пор не смотрел. Все мои замечания были только по внешнему виду отчёта.
Почему блог был медленным и как мы его ускорили
Блог работает на Grav CMS. Я выбрал Grav из-за markdown-файлов вместо базы — пишу статьи в Obsidian и переношу на сайт. Архитектура Grav такова, что каждый запрос поднимает PHP-FPM и загружает bootstrap фреймворка примерно на 12 МБ — плагины, тема, конфигурация. Grav кэширует обработанные Markdown-страницы и Twig-шаблоны, но PHP всё равно стартует на каждом запросе, чтобы прочитать этот кэш. На слабой VPS это ощутимо. Когда один человек открывает статью рядом с сервером — терпимо. Но мониторинг отправляет несколько параллельных запросов с разных нод, и на слабой VPS это сразу чувствуется: время ответа вырастает до 3–5 секунд.
Я обсудил с агентом варианты ускорения и решили добавить fastcgi_cache в nginx поверх Grav-кэша.
Смысл простой: nginx сохраняет готовый HTML и при следующем запросе отдаёт его сам. PHP-FPM не стартует, Grav-кэш не нужен — nginx отдаёт страницу быстрее, чем PHP её сгенерирует. Для блога это работает: большинство страниц публичные и меняются редко.
Средний результат после настройки (TTFB — время до первого байта от сервера):
- с сервера: 500ms → 50ms;
- из Нидерландов: 5800ms → 45ms;
- из Сингапура: 5800ms → 976ms.
Ускорение в 10 раз получилось из-за внедрения кэширования. А мониторинг дал инструмент: увидеть проблему, решить её и проверить результат. Ценность здесь не в коде, а в скорости загрузки блога.
Мне немного стыдно признаться 😅 но конфиг nginx я тоже не смотрел — как и код генератора мониторинга. Если посмотрю — это уже будет не вайбкодинг.
Вайбкодинг работает, когда важен артефакт
Есть задачи, где код важен сам по себе: безопасность, платежи, ядро продукта, публичная библиотека, долгосрочная поддержка. Там качество кода — требование.
Но есть другой класс задач: внутренний инструмент, одноразовый скрипт, дашборд, аналитическая страница. Там код — расходник. Главное, чтобы он давал нужный результат.
В моём случае результат — страница мониторинга и ускоренный блог.
Ранее с тем же подходом я собрал для себя ещё два дашборда: продуктивность по GitHub и маркетинг и продвижение.
Важна идея, реализация ничего не стоит
ИИ-агент стал дешёвым способом материализовать идею. Сформулировал задачу, дал контекст, получил результат, проверил — устраивает или нет, повторил.
В стартап-культуре принято говорить: «Идея ничего не стоит, важна реализация» (англ. ideas are worthless, execution is everything). Эта фраза родилась в мире, где реализация дорогая: найти разработчика (а чаще — команду), написать ТЗ, дождаться результата, проверить, платить за поддержку.
ИИ-агенты меняют экономику мелких инструментов. Реализация дешевеет. Код, скрипты, HTML-отчеты и прочее превращаются в материал, который можно быстро собрать, проверить и переделать. Формула переворачивается: реализация ничего не стоит, важна идея (англ. execution is worthless, ideas are everything).
Дорожает другое:
- заметить проблему, которую стоит решить;
- понять, какой результат нужен;
- объяснить агенту, что от него требуется;
- правильно расставить приоритеты: где качество критично, а где код — расходник.
Код мониторинга — просто инструмент. Главное было проверить доступность блога для читателя из другой страны и понять, где проблема. Мне не важно КАК агент это сделает, к этому уровню доверия я уже пришёл на других задачах. Мне важно было ЧТО должно получиться.
Итог
Я не утверждаю, что pi или GLM — «убийцы» топовых инструментов и моделей. Но могу смело сказать, что это достойная альтернатива им, особенно в эпоху удорожания подписок и урезания лимитов. Она позволяет часть задач перенести на себя — каких, каждый решит сам.
Pi + GLM 5.1 оказались достаточными для этой задачи. Для меня эта пара ещё и запасной вариант: выручает, когда не хватает лимитов в Codex или есть проблемы с доступом по сети.
Ссылки:
dmitry prikotov