Перейти к содержанию

Kitesurf: Cloudflare сделала браузер для ИИ-агентов без Chromium

Опубликовано
  • Админы
Cloudflare Kitesurf — браузер для агентов
Cloudflare Kitesurf — браузер для агентов

Cloudflare выкатила Kitesurf — браузер, который не является Chromium и вообще не содержит движка в привычном смысле. Он работает поверх Workers, в изолятах V8, и рассчитан не на человека, а на ИИ-агента и на скрипт. Заявка звучит громко, поэтому разберёмся по существу: что там внутри, какие цифры компания показывает (и почему это цифры вендора), и главное — в каких задачах его имеет смысл ставить вместо привычной связки Playwright + headless Chromium, а в каких он бесполезен от слова совсем.

Из чего он собран

Kitesurf разложен на три части, каждая — отдельный компонент на Workers:

  • Engine — принимает соединения по Chrome DevTools Protocol (тот же CDP, что у Puppeteer и Playwright) и HTTP API, держит состояние сессии.
  • PageScript — под каждую страницу поднимает отдельный долгоживущий изолят через Dynamic Workers. HTML разбирает парсер Blitz, CSS — Stylo, тот самый движок стилей из Firefox, написанный на Rust.
  • PageRenderer — превращает вычисленное дерево в пиксели: отрисовка через blitz-paint, шейпинг шрифтов через Parley, на выходе растровый буфер.

Ключевые архитектурные решения — компоненты без состояния (одноразовые, параллелятся горизонтально), каждая загрузка страницы считается недоверенной и изолируется, тяжёлые части написаны на Rust и скомпилированы в WebAssembly.

ℹ️ Справка

Проще говоря: вместо того чтобы гонять полноценный браузер с вкладками, расширениями, композитингом и 60 fps ради того, чтобы забрать текст со страницы, Cloudflare собрала конвейер «HTML → CSS → раскладка → картинка» из готовых Rust-кирпичей и запустила его в той же песочнице, где живут Workers. Для агента, которому нужен текст или один скриншот, весь остальной браузер — накладные расходы.

Жизненный цикл запроса в Kitesurf
Жизненный цикл запроса в Kitesurf

Жизненный цикл запроса: Engine → PageScript → PageRenderer. Иллюстрация Cloudflare

Цифры вендора

Cloudflare приводит замеры на выборке из 14 URL. Подчеркну: это бенчмарк производителя на собственной выборке, независимого подтверждения пока нет.

Метрика Kitesurf Chromium Разница
CPU, скриншот 380 мс 1 173 мс ×3,1 в пользу Kitesurf
CPU, извлечение HTML 229 мс 877 мс ×3,8
Память, скриншот 57,8 МиБ 271,0 МиБ ×4,7
Память, извлечение HTML 39,4 МиБ 273,7 МиБ ×7,0
Wall-clock, скриншот медленнее быстрее ×1,8 в пользу Chromium

Последняя строка — самая честная часть публикации, и Cloudflare её не прячет: по «времени на стене» Chromium быстрее почти вдвое. Аргумент компании в том, что счёт вам выставляют за процессорное время и память, а не за секундомер. Это верно для их же биллинга Workers — и, что важно, менее верно для вас, если вы гоняете парсер на своём железе, где секунды тоже стоят денег.

Совместимость: заявлено прохождение порядка 215 000 тестов Web Platform Tests, с упором на CSS, DOM, HTML, выделение текста, SVG и XHR.

Матрица выбора

Полезнее всего разложить это по задачам. Ограничения Kitesurf компания перечислила сама, и они жёсткие: нет воспроизведения видео, нет WebGL, нет согласования антибот-челленджей с настоящими TLS-отпечатками, нет сохранения авторизованных сессий с состоянием.

Задача Чем делать Почему
Скриншот или PDF статичной страницы Kitesurf Ровно тот сценарий, под который он написан
Извлечь текст/HTML для RAG или агента Kitesurf Лучший показатель по памяти, ×7 по заявленным данным
Массовый обход десятков тысяч URL Kitesurf Выигрыш по CPU и памяти масштабируется, wall-clock компенсируется параллелизмом
SPA, которая рисует контент только после гидратации Chromium Полноценный JS-рантайм и таймлайн загрузки
Сайт за антибот-защитой Chromium (и то не факт) Kitesurf прямо заявлен как неспособный пройти челлендж по TLS-отпечатку
Работа под логином, корзины, многошаговые формы Chromium Состояние сессии не сохраняется
Видео, WebGL, canvas-графика Chromium Не поддерживается
Антидетект и мультиаккаунтинг Ни то ни другое Нужен управляемый отпечаток — это отдельный класс инструментов

⚠️ Осторожно

Отдельно для тех, кто пришёл сюда из парсинга: Kitesurf — не инструмент обхода защит. Он не эмулирует отпечаток реального браузера, наоборот — он честно ходит как облачный клиент Cloudflare. Если ваш сценарий сегодня держится на подмене JA3/JA4, user-agent и WebGL-отпечатка, Kitesurf вам не подойдёт ни в каком виде.

Ирония и практический смысл

Забавная деталь: Cloudflare одновременно продаёт защиту сайтов от ботов (включая платный доступ для ИИ-краулеров) и браузер для ИИ-агентов, который ходит по этим сайтам. Противоречия тут меньше, чем кажется, — компания последовательно строит модель «агенты ходят по вебу легально и опознаваемо, а не притворяются людьми». Kitesurf с его отсутствием маскировки идеально в неё ложится: он оптимизирован для сайтов, которые согласны на визит агента.

Для нашей аудитории практический вывод такой. Если вы собираете агентный пайплайн — веб-поиск для локальной LLM, наполнение RAG-базы, регулярные скриншоты дашбордов — Kitesurf стоит попробовать: доступ по CDP означает, что существующий код на Puppeteer или Playwright переключается параметром browser=kitesurf, есть REST-эндпоинты Quick Actions для одношаговых операций и интерфейс MCP для агентов.

curl -X POST \
  'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-run/screenshot?browser=kitesurf' \
  -H 'Authorization: Bearer <apiToken>' \
  -d '{"url": "https://example.com"}'

На время беты доступ бесплатный, с лимитами на аккаунт. Что будет с ценой после беты — не объявлено, и это главный неизвестный параметр в любых расчётах экономии.

❗ Главное

Здравая стратегия — не «переезжаем на Kitesurf», а двухуровневая: сначала дешёвая попытка через Kitesurf, при неудаче (пустой DOM, челлендж, нужен логин) — фолбэк на полноценный Chromium. Так вы снимаете выигрыш по ресурсам на массе простых страниц и не теряете сложные.

Источники

  • Cloudflare Blog — Kitesurf: agent-first browser — первоисточник, архитектура, бенчмарки и заявленные ограничения
  • Обсуждение на Hacker News — независимые реакции разработчиков
  • Связанная тема форума: 99 % трафика — боты: восемь рубежей обороны сайта — взгляд с другой стороны баррикад

💬 Вопрос к сообществу

Кто уже пробовал гонять агентов по вебу в проде — на чём остановились: свой headless Chromium в докере, облачный рендеринг или самописный HTTP-клиент с парсером? И сколько у вас в итоге страниц отваливается на антибот-защите?

Featured Replies

No posts to show

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу
Яндекс.Метрика

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.