Skyvern: когда нейросеть берёт в руки мышку
Помните, как раньше автоматизация веб-процессов была похожа на карточный домик? Написал скрипт, радуешься неделю, а потом сайт обновился — и всё, начинай сначала. XPath поменялся, класс переименовали, дизайн обновили. Твой красивый Selenium-скрипт превратился в тыкву.
Ребята из Skyvern-AI решили подойти к проблеме с другой стороны. Что если вместо того, чтобы искать элементы по структуре DOM, просто показать нейросети скриншот страницы и сказать: “Вот тебе форма, заполни её”? Примерно так работает их open-source инструмент Skyvern — и это меняет правила игры.
Что не так с традиционной автоматизацией
Классический подход к автоматизации браузера — это как объяснять роботу дорогу по названиям улиц. “Иди прямо до второго светофора, поверни налево у магазина с синей вывеской…” Работает, пока всё на месте. Но стоит магазину перекрасить вывеску или добавить новый светофор — робот потерялся.
То же самое с веб-скрапингом и автоматизацией. Ваш код ищет кнопку по XPath //*[@id="submit-button"], а дизайнеры в новом релизе решили, что кнопка теперь будет называться #send-form-btn. Всё, ваша автоматизация сломалась. И таких хрупких связок в коде — десятки, если не сотни.
Skyvern предлагает радикально другой подход: давайте учить систему видеть и понимать, а не запоминать координаты. Как человек, который открывает незнакомый сайт и интуитивно понимает, где кнопка “Отправить”, а где поле для email.
Как это работает на практике
В основе Skyvern лежит комбинация Vision LLM (языковых моделей с поддержкой изображений) и компьютерного зрения. Система делает скриншот страницы, анализирует визуальные элементы и понимает, что есть что, без привязки к HTML-разметке.
Представьте задачу: получить страховую котировку на десятке разных сайтов. Традиционный подход — написать отдельный скрипт для каждого сайта, учитывая их уникальную структуру. Skyvern же берёт одну инструкцию и применяет её ко всем сайтам сразу. Потому что для него не важно, как называется поле “Возраст” в HTML — он видит лейбл “Age” на странице и понимает, что туда нужно ввести число.
Более того, система умеет делать логические выводы. Если на сайте Geico вас спрашивают “Были ли вы допущены к вождению в 18 лет?”, а в данных указано, что водитель получил права в 16, Skyvern выведет правильный ответ. Это не просто заполнение формы — это понимание контекста.
Архитектура, вдохновлённая автономными агентами
Создатели Skyvern вдохновлялись идеями BabyAGI и AutoGPT — системами автономных агентов, которые разбивают сложную задачу на подзадачи и последовательно их решают. Только Skyvern добавили одну критическую возможность: взаимодействие с реальными веб-сайтами через Playwright.
Система использует swarm-архитектуру — рой агентов, каждый из которых специализируется на своей части задачи: один анализирует страницу, другой планирует действия, третий их выполняет. Это позволяет справляться со сложными многошаговыми сценариями.
Хотите автоматизировать подачу заявок на вакансии? Skyvern пройдёт по списку сайтов, найдёт формы, заполнит их вашими данными, прикрепит резюме и отправит. Нужно скачать все счета за последние три месяца с разных платформ? Без проблем — система войдёт в аккаунт, найдёт фильтры по дате, отберёт нужные документы и скачает их.
Benchmark и реальная производительность
Цифры говорят сами за себя: на бенчмарке WebBench Skyvern показывает точность 64.4% — это state-of-the-art результат. Особенно впечатляет производительность на WRITE-задачах (заполнение форм, загрузка файлов, авторизация) — именно то, что чаще всего нужно для RPA.
Но что это значит на практике? В реальных кейсах Skyvern используют для:
- Автоматического получения информации на множестве сайтов (парсинг)
- Массовой отправки заявок на государственные порталы
- Закупки материалов для производства у разных поставщиков
- Скачивания счетов и документов с различных платформ
И всё это без необходимости писать отдельный код для каждого сайта.
Что под капотом
Технически Skyvern — это Python-пакет, который интегрируется с вашим кодом или запускается как отдельный сервис. Поддерживает все мажорные LLM: GPT-4, Claude, Gemini, даже локальные модели через Ollama. Можете выбрать, что вам больше подходит по соотношению цена/качество.
Система поддерживает workflows — цепочки задач, которые выполняются последовательно. Например: зайти на сайт → отфильтровать товары → добавить в корзину → перейти к оплате → заполнить данные карты. Каждый шаг может зависеть от результатов предыдущего, извлекать данные, делать проверки.
Особенно полезная фича — livestreaming. Вы можете в реальном времени смотреть, что делает Skyvern в браузере. Это не только помогает отлаживать процесс, но и даёт возможность вмешаться, если что-то идёт не так. Представьте, что у вас есть доступ к удалённому рабочему столу робота.
Безопасность и аутентификация
Отдельного внимания заслуживает поддержка различных методов аутентификации. Skyvern умеет работать с 2FA: может считывать QR-коды для Google Authenticator, обрабатывать коды из email или SMS. Есть интеграция с менеджерами паролей — Bitwarden, 1Password, LastPass.
Это критически важно для корпоративного использования. Вы можете автоматизировать процессы на защищённых порталах, не храня пароли в plaintext и не отключая двухфакторку.
Облако или self-hosted?
Проект полностью open-source под AGPL-3.0, можете развернуть у себя. Для быстрого старта есть Docker Compose конфиг — пара команд, и у вас локальная инстанция с UI. Хотите масштабировать? Есть Skyvern Cloud — управляемая версия с anti-bot механизмами, proxy-сетью и системой обхода CAPTCHA.
Интересно, что авторы честно говорят: core-логика полностью открыта, закрыты только anti-bot меры в облачной версии. Разумный trade-off — они не скрывают технологию, но монетизируют инфраструктуру и продвинутые фичи.
Реальные применения
Один из кейсов, который впечатляет — автоматизация закупок для производственной компании. Раньше менеджер вручную ходил по сайтам поставщиков, заполнял формы запросов, сравнивал цены. Теперь Skyvern за минуты обходит десяток поставщиков, получает котировки и структурирует данные для сравнения.
Или автоматическая подача документов на госпорталы. Задача, от которой обычно хочется сбежать — разные формы, постоянные изменения интерфейсов, капчи. Skyvern справляется, потому что для него важна не структура HTML, а визуальное представление.
Даже такая простая задача, как заполнение контактных форм на сотнях сайтов для лидогенерации, становится тривиальной. Раньше это был ад из поддержки скриптов, теперь — одна инструкция на все случаи жизни.
Куда это всё движется
В roadmap есть интересные фичи. Во-первых, режим “Observer” — система будет наблюдать, как человек выполняет задачу, и автоматически генерировать workflow. Показал один раз — автоматизировал навсегда.
Во-вторых, prompt caching — запоминание прошлых действий для удешевления и ускорения. Если система уже видела похожую страницу, она не будет каждый раз заново анализировать её с нуля.
В-третьих, Chrome Extension для взаимодействия через голос и быстрого сохранения задач. Представьте: открыли сайт, сказали “Skyvern, заполни эту форму моими данными” — готово.
Стоит ли попробовать?
Если вы занимаетесь веб-скрапингом, RPA или просто устали переписывать автоматизацию после каждого редизайна — однозначно да. Порог входа низкий: pip install skyvern, несколько строк кода, и первая задача уже запущена.
Конечно, это не серебряная пуля. Для простых, стабильных сценариев старый добрый Selenium может оказаться быстрее и дешевле. Но когда речь идёт о множестве разных сайтов, частых изменениях или сложной логике — Skyvern даёт ощутимое преимущество.
Проект активно развивается, комьюнити растёт, документация подробная. Есть интеграции с Zapier, Make.com, N8N — можете встроить в существующие workflow без боли.
В конце концов, автоматизация должна экономить время, а не отнимать его на поддержку хрупких скриптов. Skyvern делает шаг в правильном направлении — даёт инструменты, которые действительно работают в постоянно меняющемся вебе.