ИИ-паразиты: как боты поглощают трафик интернета
Главная проблема не в том, что люди стали меньше читать. Проблема в том, что всё больше читателей - вообще не люди.
Пока владелец сайта смотрит на привычные графики, автоматические системы скачивают его страницы. Не одну и не десять. Весь сайт: статьи, документацию, каталог, всё, до чего можно добраться по ссылкам. За минуты. Без комментариев, регистраций и покупок.
Для сервера это обычная работа. PHP выполняет скрипты. MySQL отвечает на запросы. CDN передаёт данные. Счёт за инфраструктуру растёт. А живого посетителя в этой цепочке может не быть вообще.
Поисковые боты были всегда. Но теперь к ним добавились ИИ-краулеры, для которых сайт - не аудитория, а сырьё. И это уже не страшилка про «мёртвый интернет». Это ежедневная нагрузка, которую кто-то оплачивает.
Человеку нужна статья. Боту нужен весь сайт
Человек обычно приходит за чем-то конкретным.
Нашёл статью - прочитал.
Нужна ещё одна - открыл ещё одну.
Потом надоело, и он ушёл.
У бота всё проще.
Ему может понадобиться весь каталог.
Вся документация.
Все статьи.
Все страницы, до которых можно добраться по ссылкам.
Причём сделать это можно очень быстро.
И здесь возникает неприятный момент.
Для сервера почти нет разницы, кто именно пришёл.
Человек запросил страницу - сервер её сформировал.
Скрипт запросил страницу - сервер сделал то же самое.
Если за страницей стоит PHP, он отработал.
Если есть запрос к MySQL, база его выполнила.
Если отдачу обслуживает CDN, данные всё равно пришлось передать.
Бот получил страницу и пошёл дальше.
Владелец сайта получил счёт за инфраструктуру.
А теперь к этому добавился ИИ
Нейросетям нужны данные. Много данных.
Тексты, документация, новости, инструкции, технические статьи - всё это представляет ценность для систем, которые строят базы знаний и обучают модели.
Поэтому интернет всё активнее сканируют автоматические системы.
И здесь я бы разделил две вещи.
Сам по себе факт, что сайт посещает робот, не страшен.
Поисковые системы тоже работают с помощью роботов.
Проблема начинается с масштаба и пользы.
Если бот делает несколько запросов и приводит пользователя на сайт - отлично.
Если он методично скачивает тысячи страниц, создаёт нагрузку и никогда не приводит читателя, уже хочется спросить:
а зачем я это всё обслуживаю?
Это можно увидеть своими глазами
Если сайт работает на Nginx, самый простой способ посмотреть происходящее - открыть access.log:
//bash
sudo tail -f /var/log/nginx/access.logДля Apache путь обычно другой:
//bash
sudo tail -f /var/log/apache2/access.logИ это гораздо интереснее любой красивой диаграммы в системе аналитики.
Потому что здесь видны реальные запросы.
Можно взять последние 1000 строк:
//bash
sudo tail -n 1000 /var/log/nginx/access.logА затем посмотреть, какие IP встречаются чаще остальных:
//bash
sudo awk '{print $1}' /var/log/nginx/access.log \
| sort | uniq -c | sort -nr | head -20Например:
//text
15432 192.0.2.15
8271 198.51.100.42
3104 203.0.113.17С такими адресами уже стоит разобраться.
Но сразу блокировать их я бы не стал.
Это может быть робот поисковика, прокси, CDN, мониторинг или совершенно нормальный сервис.
Сначала посмотрим, что он делает.
//bash
sudo grep '192.0.2.15' /var/log/nginx/access.log | tail -50Теперь видно конкретные запросы.
А чтобы быстро понять, какие страницы этот клиент открывал чаще всего:
//bash
sudo grep '^192.0.2.15 ' /var/log/nginx/access.log \
| awk '{print $7}' \
| sort | uniq -c | sort -nr | head -30Если получаем что-то вроде:
//text
842 /article/1
811 /article/2
803 /article/3
799 /article/4я бы уже начал присматриваться.
Не потому, что это автоматически бот.
А потому, что такое поведение совсем не похоже на обычного читателя.
User-Agent тоже стоит проверить
В логе обычно можно найти информацию о клиенте.
Самые частые User-Agent:
//bash
sudo awk -F'"' '{print $6}' /var/log/nginx/access.log \
| sort | uniq -c | sort -nr | head -30Можно поискать характерные слова:
//bash
sudo grep -Ei 'bot|crawler|spider|scraper|GPT|Claude|AI' \
/var/log/nginx/access.log | tail -100Но здесь легко сделать ошибку.
Увидели Googlebot - и решили, что это Google.
Не факт.
User-Agent - это просто текст, который клиент отправил серверу. Подделать его несложно.
Поэтому для серьёзной блокировки одного этого признака недостаточно.
Есть ещё один полезный тест
Сколько запросов сделал конкретный IP?
//bash
sudo grep '^192.0.2.15 ' /var/log/nginx/access.log | wc -lА сколько запросов было, например, за определённый час?
//bash
sudo grep '04/Oct/2026:14:' /var/log/nginx/access.log | wc -lЭто уже позволяет увидеть картину.
Допустим, ночью людей практически нет, а сервер получает тысячи обращений.
Это не значит, что виноват искусственный интеллект.
Но это значит, что стоит посмотреть, кто именно обращается к серверу.
Это я считаю гораздо полезнее разговоров о том, что «ИИ скоро съест весь интернет».
Свой сервер всё-таки лучше смотреть, чем гадать.
Самое интересное: машины могут читать машины
Здесь история становится интереснее.
Допустим, я написал статью.
Какой-нибудь сервис её скопировал.
Другой робот пришёл уже к нему.
Ещё один сервис собрал данные оттуда.
Потом эти данные попали в другой материал.
И его снова кто-нибудь просканировал.
Получается цепочка:
сайт → бот → база → другой бот → ИИ → другой сайт → снова бот.
Человек в этой цепочке вообще может не появиться.
Интернет продолжает обмениваться информацией, только часть этого обмена происходит между машинами.
И это, на мой взгляд, гораздо интереснее старой страшилки про «мёртвый интернет».
Проблема не в том, что люди внезапно исчезли.
Проблема в том, что рядом с ними появилось огромное количество автоматических потребителей информации.
А что от этого владельцу сайта?
Вот тут начинается экономика.
Допустим, автор написал хорошую техническую статью.
Человек пришёл, прочитал её и ушёл.
Ничего страшного.
А теперь тот же материал несколько раз забрали автоматические системы.
Они не купили рекламу.
Не оставили заявку.
Не подписались.
Не привели друга.
Но сервер свою работу сделал.
Если таких запросов немного - можно вообще не обращать внимания.
Если их становится много, появляется уже вполне материальный вопрос:
сколько стоит обслуживать этот трафик?
И тут мне нравится один очень простой подход.
Не считать только количество запросов.
Считать стоимость.
Сколько запросов сделал бот?
Сколько данных передано?
Сколько ресурсов израсходовано?
Была ли от этого хоть какая-то польза?
После этого разговор становится намного конкретнее.
Всех ИИ-ботов блокировать тоже не стоит
Это была бы слишком примитивная реакция.
Есть поисковые роботы.
Есть полезные краулеры.
Есть сервисы, которые могут привести пользователя.
Есть системы, которые соблюдают ограничения сайта.
А есть те, кто просто берёт всё, до чего дотянулся.
Поэтому я бы не начинал с тотальной блокировки.
Сначала посмотрел бы логи.
Потом - частоту запросов.
Потом - URL.
Потом - источник.
И только после этого принимал решение.
Например, для слишком активных клиентов в Nginx можно использовать rate limiting:
//nginx
limit_req_zone $binary_remote_addr zone=site_limit:10m rate=5r/s;
server {
location / {
limit_req zone=site_limit burst=20;
}
}Это не универсальные настройки. Для каждого сайта значения придётся подбирать отдельно.
Но сам принцип простой: если клиент начинает слишком активно обращаться к серверу, ему можно ограничить скорость.
А уже если выяснилось, что источник вам вообще не нужен, можно думать о блокировке.
И не стоит переоценивать robots.txt
robots.txt полезен.
Но это не замок на двери.
Это скорее табличка:
«Ребята, пожалуйста, сюда не заходите».
Нормальный робот её прочитает.
Тот, кто решил правила проигнорировать, просто продолжит ходить.
Поэтому защита от нежелательного трафика находится уже на другом уровне: веб-сервер, CDN, WAF, rate limiting и другие ограничения.
Что бы я сделал на небольшом сайте
Без сложной системы мониторинга.
Просто открыл бы логи и проверил несколько вещей.
Кто делает больше всего запросов.
Какие URL он забирает.
С какой скоростью.
Какой User-Agent сообщает.
Откуда приходит трафик.
И главное - зачем он вообще это делает.
Если робот забирает десяток страниц в минуту и приносит посетителей, вопросов нет.
Если он за короткое время проходит весь сайт и не приводит ни одного человека, я бы уже поставил ограничение.
Не потому, что это обязательно «злой ИИ».
А потому, что сервер - не бесплатный общественный ресурс.
И его ресурсы тоже стоят денег.
Мне кажется, именно здесь и заканчивается красивая история про «открытый интернет для всех».
Контент действительно можно оставить открытым.
Но это не означает, что сервер обязан без ограничений обслуживать каждого автоматического сборщика, который решил забрать его целиком.
Раньше мы радовались любому трафику.
Теперь, похоже, придётся иногда смотреть на него внимательнее.
Потому что тысяча людей и тысяча машин могут оставить в статистике одинаковую цифру.
А для владельца сайта это две совершенно разные истории.
Комментарии
Чтобы оставить комментарий, войдите в аккаунт.