Зачем агенту отдельный браузер

Агенту нужно обойти триста страниц и собрать данные. Обычный путь - поднять headless Chrome. Он это умеет, все так делают.

Цифры этого решения на ста страницах: два гигабайта памяти в пике, 46 секунд.

Существует другой подход. Браузер, написанный с нуля под агентов - не форк Chromium, не патч WebKit. Те же сто страниц: 123 мегабайта и 5 секунд. В шестнадцать раз меньше памяти, в девять раз быстрее.

Разница берётся из простой вещи. Обычный браузер построен для человека: он рисует пиксели, считает шрифты, анимирует, управляет вкладками. Агенту не нужно ничего из этого. Ему нужен разобранный документ и результат выполнения скриптов. Всё, что рисуется на экран - чистые накладные расходы, за которые вы платите памятью и временем.

Я поставил его дополнением, а не заменой. Playwright остался основным: он умеет то, чего новый браузер пока не умеет, и на сложных страницах надёжнее. Новый берётся там, где важны объём и скорость - обход сотен страниц, парсинг, проверка ссылок.

И одна деталь, ради которой я вообще полез в исходники. Телеметрия там включена по умолчанию. Я разобрал, что именно уходит: факт запуска, флаг шифрования, тип контекста. Адреса посещённых страниц не передаются - это честная анонимная статистика. Но канал наружу всё равно лишний, поэтому выключил переменной окружения.

Проверять такое до установки, а не после - отдельный навык, который экономит потом много нервов.

Чем вы гоняете агента по страницам и сколько это стоит по памяти?

Зачем агенту отдельный браузер | Сетка — социальная сеть от hh.ru