Ты наверняка видел эффектные демонстрации агентных браузеров: нейросеть открывает вкладку, делает скриншот интерфейса, долго шуршит токенами компьютерного зрения, находит кнопку «Купить» и кликает по вычисленным координатам. Выглядит как магия из будущего, но если заглянуть в инженерную изнанку, то волосы встают дыбом.
Такой подход чудовищно медленный, постоянно ломается при малейшем изменении CSS-разметки и сжигает доллары на инференс картинок. Но главное — он полностью изолирует пользователя. Главный архитектор Shopify и сопредседатель рабочих групп W3C Йоав Вайс (Yoav Weiss) опубликовал программный манифест стандарта WebMCP (Web Model Context Protocol), объяснив, почему будущее за совместным браузингом (co-browsing), а не за слепыми автокликерами.
Три пути агента в вебе
Вайс выделяет три архитектурных подхода к интеграции ИИ-агентов с сайтами:
- Прямой бэкенд (MCP Servers): агент общается с API сервера в обход браузера. Проблема в том, что пользователь теряет визуальный контроль, авторизацию, корзину и превращается в стороннего наблюдателя.
- Встраивание интерфейсов (MCP Apps): кусочки веб-страниц транслируются прямо в чат-интерфейс ассистента.
- Совместный браузинг (Co-browsing): агент работает плечом к плечу с человеком прямо в открытой вкладке браузера. Пользователь держит руку «на руле», видит каждое действие, а агент берёт на себя рутинную навигацию и сбор фактуры.
Чтобы сделать совместный браузинг быстрым и надёжным, сайту достаточно зарегистрировать типизированные функции прямо в JavaScript-контексте страницы:
// Регистрация инструмента поиска в каталоге магазина
document.modelContext.registerTool({
name: "searchProducts",
description: "Поиск товаров в магазине с фильтрацией по параметрам и бюджету",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "Поисковый запрос" },
maxPrice: { type: "number", description: "Максимальная цена в рублях" },
category: { type: "string", description: "Категория товара" }
},
required: ["query"]
},
execute: async ({ query, maxPrice, category }) => {
const results = await window.storeCatalog.search({ query, maxPrice, category });
return {
count: results.length,
items: results.slice(0, 5).map(item => ({
id: item.id,
title: item.title,
price: item.price,
inStock: item.inStock
}))
};
}
});
Вместо того чтобы сканировать пиксели и разбирать DOM-дерево, модель получает готовую JSON-схему и вызывает нативный метод страницы. Аналогично оформляется добавление в корзину:
// Регистрация инструмента добавления товара в текущую корзину сессии
document.modelContext.registerTool({
name: "addToCart",
description: "Добавление выбранного артикула в корзину активного пользователя",
inputSchema: {
type: "object",
properties: {
productId: { type: "string", description: "Идентификатор товара" },
quantity: { type: "integer", minimum: 1, default: 1 }
},
required: ["productId"]
},
execute: async ({ productId, quantity }) => {
return await window.storeCart.addItem(productId, quantity);
}
});
В 47 раз дешевле и в 7 раз быстрее
Цифры реальных экспериментов поражают воображение. По замерам команды nekuda.ai, вызовы нативных методов через WebMCP оказались в 2,5–7,5 раза быстрее и до 47 раз дешевле классических автокликеров на компьютерном зрении.
А в боевом тесте команды Shopify Checkout сценарии оформления заказов завершались в 2,7 раза быстрее и на 58% дешевле, показав 60 успешных прохождений из 60 (в то время как обычные браузерные скрипты сбоили и показали лишь 56 из 60).
Ответ критикам из Apple WebKit
Команда Apple WebKit ранее высказывала скепсис, опасаясь, что WebMCP расколет сеть на «веб для людей» и «веб для роботов». Йоав Вайс убедительно отвечает: сайты уже сейчас блокируют ботов драконовскими капчами. Явный открытый стандарт вместе с механизмами авторизации (Web Bot Auth) и ограничением прав сторонних фреймов через Permissions Policy сделает агентов легитимными участниками открытого веба.
Мы уже разбирали архитектуру WebMCP и платформу ChatGPT Sites, а свежая аргументация Вайса подтверждает: веб выживет в эпоху ИИ только тогда, когда научится разговаривать с моделями на языке типизированных интерфейсов, не выгоняя человека из браузера.
