Как Вайб-кодинг помог мне решить задачу с массовым удалением постов в группе ВК
(260 просм.)
Фото: GigaChat, @gigachat_bot
Недавно столкнулся с проблемой массового удаления старых (не актуальных) постов в группе ВК. В частной ленте это можно как-то решить, перенося посты старше указанной даты в Архив, но в группе ВК такая возможность не была реализована. Решить проблему мне помог "Вайб-кодинг" с ИИ. До этого я значения этого слова не знал (хотя слышал о нем)...
После общения со службой поддержки получил от них только один "ценный совет" - запастись терпением, вкусным чаем и сесть за ручное удаление записей. В моем случае (около 80 тыс. постов в популярной группе анонсов новостей портала) это заняло бы не один месяц.

Попробовал поискать в сети решение. После проверки десятка уже нерабочих решений, нашел некий JS-код, который удаляет записи, открытые в ленте группы ВК. Т.е., сначала надо максимально долго прокручивать ленту, чтобы отрыть больше записей, и потом запустить этот скрипт в консоли разработчика (запускается по клавише F12 в браузере Chrome).
Проверив принципиальную возможность программного решения проблемы, задумался о том, как автоматизировать загрузку всех старых постов для удаления.

Оказывается, если нажать на "Посты сообщества" и рядом с поиском нажать на кнопку с календарем, можно осуществить фильтрацию вывода постов в ленте по датам (например, старше указанной даты), и даже с учетом поискового запроса, например всех анонсов старше указанной даты с тегом "происшествия". При этом, в ленте выводятся по 20 записей, а вверху появляется "пагинатор" (переключатель между страницами вывода).

Попробовал самостоятельно скорректировать найденный код, чтобы пройтись по всем страницам фильтра вывода по датам и удалить все старые записи. Слету не получилось - в определенный момент скрипт зависал. Не хватило знаний API VK и современного JS.
И тут я решил обратиться к ИИ -заняться "Вайб-кодингом"! Что мне терять!
Как написано в Википедии, "Вайб-кодинг" (vibe coding) — это новый подход к программированию, где разработчик описывает свои задачи и желаемый результат на естественном, разговорном языке, а искусственный интеллект (ИИ) генерирует, тестирует и отлаживает код, превращая идею в рабочее решение, минимизируя ручное написание кода и делая разработку доступнее. Это симбиоз человека и ИИ, где программист выступает больше как архитектор, а ИИ — исполнитель, создавая код в формате диалога.

Сказано - сделано! Зашел в Giga.chat, в виде текстового "промта" (запроса) описал задачу - удаление старых записей в ленте ВК путем перебора всех страниц фильтра по датам, используя в качестве примера найденный рабочий код. Вставил в запрос найденный код и отправил его ИИ.
Через некоторое небольшое время (секунды) получил ответ в виде Java-кода и подробного описания, как он работает.
Попробовал код применить - слету не заработал. При переходе между страницами выборки постов по датам скрипт останавливался, словно бы торопился найти посты, пока они еще не загрузились. Написал о результатах и своих мыслях ИИ. Подумав, он ответил - "Спасибо за уточнение. Очевидно, проблема в отсутствии паузы для полной загрузки постов..." И сгенерировал другой код.
В итоге, после серии таких итераций и предоставления ИИ куска кода самого пагинатора ВК (взял из окна "просмотр кода" страницы), скрипт начал работать!
Далее пошел процесс оптимизации скрипта, например, добавление паузы между удалением 200 постов для предотвращения срабатывания защиты в ВК.

После некоторого времени использования скрипта, который я запускал из самого начала выборки по датам, выяснилось, что он удаляет примерно половину выборки из фильтра, а не всю, так что его приходится запускать еще не один раз. Подумал и нашел проблему - при переходе между страницами после удаления текущей двадцатки постов общая сумма постов в выборе сокращается, что не учитывает скрипт. Сообщил об этом ИИ и предложил написать скрипт, который будет переходить всю выборку не с начала, а с конца. Тогда такой проблемы не возникнет!
После нескольких итераций общения с ИИ получил на выходе полностью работоспособный код, который позволил удалить старые записи с 2013 по 2024 год (около 80 тыс.) всего за пару вечеров. Причем, единственным нерешенным вопросом оказалась остановка скрипа при переполнении памяти (где-то после удаления 6000-8000 постов). Но эта проблема уже, видимо, аппаратная - нужно больше памяти на ПК.
Попутно, пока тестировал скрипт, Chrome мне сообщил о повышении моего статуса как разработчика (видимо, из-за долгого сидения в консоли)...

Подытожу: хотя среди профессиональных программистов "Вайб-кодинг" звучит почти как ругательство, в мои 53 года с минимальными знаниями HTML/JS и практическим отсутствием знаний API VK обращение к нашему отечественному ИИ от Сбера совершенно бесплатно помогло решить конкретную проблему, которую не смогла помочь решить служба поддержки соцсети. Спасение утопающий - дело самих утопающих. И тут все методы уже хороши, т.к. главное - результат.
Надеюсь, мой опыт поможет многим решить свои частные проблемы в сети и не только. Главное - понимать, что ИИ - это современный инструмент, который при правильном подходе способен на многое.
Если вдруг кому-то нужен будет мой скрип удаления сообщений из ВК - обращайтесь в личку (vk.com/ed_vazhorov) - я не жадный.

