В стартапе на стадии Pre-Seed/Seed выбор прост: либо вы фанатично считаете деньги, либо умираете. В RankCaster AI мы уперлись в классическую ловушку масштабирования: больше фич = больше сценариев регрессии = раздутый COGS и медленные релизы.
Проверка каждого обновления занимала до 48 часов ручного труда. Мы решили, что платить за «прокликивание» дашбордов в 2026 году — это инженерный грех, и собрали автономную систему, которая имитирует действия тестировщика.
1. Стек: Прямое управление без фреймворков
Мы не стали тратить недели на Selenium или Cypress. Наш стек был развернут за один рабочий день и состоит из трех компонентов:
Claude Code: «Мозг» и оператор, принимающий решения на основе визуального контекста.
agent-browser (Rust + Chrome CDP): «Тело», которое управляет реальным браузером Chrome через протокол командной строки.
SSH / psql (Read-only): Прямой доступ к тестовой базе данных для сверки данных интерфейса с бэкендом.
Как мы это запустили: Установили agent-browser глобально, создали изолированные QA-аккаунты на бета-стенде и прописали один файл памяти с паттернами команд. Никаких тест-скриптов, никакого кастомного кода проверки под каждую кнопку.
2. Симулятор человека: Как агент «видит» продукт
Главное отличие нашего агента от обычного скрипта — он взаимодействует с интерфейсом как живой исследователь, а не через программные костыли.
Семантическая навигация: Бот считывает Accessibility Tree (дерево доступности). Он видит не координаты пикселей, а смысл: «поле ввода логина», «кнопка фильтра». Если мы сменим ID кнопки или перекрасим её, бот не сломается — он поймет назначение элемента и адаптируется.
Эмуляция физических действий: Бот не использует команду
click(). Он имитирует движение курсора, нажатие клавиш и естественные задержки. Для систем защиты он неотличим от реального пользователя.Исследовательское поведение: Если бот не видит нужного элемента, он сам догадывается проскроллить страницу или открыть выпадающее меню. Он может зайти в тупик, понять это, вернуться назад и попробовать другой путь.
Сквозная валидация: Нажав на фильтр, бот не ждет захардкоженного ответа. Он формирует SQL-запрос к базе и сравнивает цифры, которые «видит» на графике, с сырыми данными из таблиц.
Ограничения: нужно признать, что на сверхсложных интерфейсах (тяжелые графики на Canvas) эвристика может ошибаться. Поэтому агент закрывает критические пути и поиск логических аномалий, а специфические визуальные правки или сложные интеграции по-прежнему требуют контроля инженера.
3. Реальные баги и экономика процесса
Этот агент — скорее исследователь, а не просто кликер. За первую неделю он выявил:
Ошибка APR (14%): Бот нашел расхождение в расчетах, которое проявлялось только при специфическом наборе фильтров. Визуально цифры были на месте, но сверка с БД подсветила ошибку в логике API.
CSS Clipping: Конфликт высот в стилях обрезал столбцы на графиках. Бот проанализировал визуальный рендеринг и сам нашел причину в коде.
Экономический эффект:
Время регрессии: Снизилось с 48 часов работы команды до 10–40 минут автономной работы агента.
Стоимость проверки: Упала с ~$250 (время инженеров) до ~$5 (токены API) за полный проход.
Скорость отладки: Время от обнаружения бага до получения отчета с Root Cause (скриншот, лог, SQL-запрос) сократилось до 10–15 минут.
4. Безопасность и CI/CD
Мы понимаем риски работы AI с данными, поэтому внедрили три уровня изоляции:
Маскирование данных (Data Masking): Бот работает только с Shadow-копией базы. Перед копированием данных со стейджинга запускается ETL-процесс, который заменяет имена, почты и телефоны на случайные значения.
Симуляция контекста: Если клиент жалуется на баг, система извлекает параметры его окружения и создает «двойника» в изолированной песочнице. Бот воспроизводит сценарий там, не заходя в реальный аккаунт человека.
Интеграция в GitHub Actions: Бот встроен в цепочку деплоя. Каждая проверка запускается в отдельном контейнере. При расхождении данных или сбое самого агента система блокирует релиз и требует ручного подтверждения от инженера.
Итог
Это не полная замена QA, а способ убрать человеческий фактор из дебага и регрессии. Как только агент находит баг, мы фиксируем его детерминированным тестом на Vitest. Это и есть эффективный R&D в 2026 году: мы не нанимаем людей для рутины — мы пишем софт, который заменяет людей.
Лена, без обид. Мы просто очень любим наши деньги и твое время.
p.s. Спасибо всем комментаторам, мы учли замечания, связанные с неточными формулировками или вопросы про эффективность и внесли правки в статью.