
Если удобнее смотреть, всё это есть у меня в видео на ютюбе: интерфейс агента с 4:05, ну а как он работает под капотом с 56:16
Все материалы к ролику лежат у меня в тг-канале, залетайте: t.me/mustangbas
План
- Интерфейс агента
- Два режима работы Fast и Thorough
- Как работают бэкапы
- Как прочекать какие изменения сделал агент
- Как скинуть лог разрабам
- Как агент работает под капотом
- Возможность писать код руками в Code Editor
- Откуда агент берёт инфу про модули
- Что агент пока не умеет
- Вывод
Интерфейс агента
Начнём с интерфейса агента и того, как он в целом сделан. Все фичи, которые тут есть, я собрал на схеме:

На стартовом окне есть Tutorials & example prompts, там собрано реально много готовых промтов под разные задачи. Ну и есть бургер-меню, в нём новый чат, история, Code Editor и настройки

Два режима работы Fast и Thorough

- Fast: тут агент свою работу чекает не так тщательно, весь проект целиком не разбирает и старается побыстрее выдать результат. Этот режим для быстрых и лёгких задач, которым не нужен какой-то глубокий анализ
- Thorough: тут агент проверяет проект намного тщательнее, поэтому и времени всё это занимает дольше. Это режим для тяжёлых задач, где нужна более тщательная работа: проект с нуля, какая-то большая новая фича или большие изменения в проекте. Если понятно, что задача уже хотя бы средней тяжести, то берём именно Thorough. Я его в целом юзал где-то в 80 или 90% своих запросов
Как работают бэкапы
Бэкап агент делает всегда, даже если я у него просто спросил, что он умеет. В чате это отдельные строчки с именем файла, и на запрос с изменениями их по сути два:
- бэкап до изменений: тут проект ровно такой, каким был перед запросом
- бэкап после изменений: тут уже проект с правками агента

Чтобы откатиться, надо нажать на строчку бэкапа. BAS при этом перезапустит проект, и браузер со всем состоянием потеряется. Дальше по шагам:
- Нажимаем OK
- В окне ресурсов жмём Enter
- Ждём пока проект запустится
Между этими двумя бэкапами можно ходить в обе стороны. Я попросил добавить в самое начало лог Agent Backup и потом проверил, как это вообще работает:
- откатился на бэкап до изменений, и лога в проекте просто не стало
- вернулся на бэкап после изменений, и лог
Agent Backup вот снова на месте

Как прочекать какие изменения сделал агент
Под каждым ответом есть три вкладки: Changes, Timeline и Statistics

Changes показывает, что конкретно агент поменял в коде, прям по строчкам: зелёным добавленные строки, красным убранные. У меня добавилось четыре строки и убралась одна, и в этих строках как раз новый лог в Main
В Timeline можно глянуть вообще все шаги агента по порядку:
- запрос и бэкап
- что решала модель
- какие функции он смотрел
- какие правки внёс
- что в итоге ответил
Например, когда агент чинил Rabby Wallet, тестов там была прям огромная куча. Он реально работал до конца, пока не поправил ошибку, ну и проект он в итоге доделал

В Statistics можно посмотреть время, токены, модель, и в целом тут содержится вся инфа про наши запросы

Ну и если ответ получился кривой, его можно отметить кнопкой Report a bad generation, и отчёт уйдёт разрабам
Как скинуть лог разрабам
Кнопка лога открывает весь диалог, и его можно скачать zip-архивом и скинуть разрабам, если нашёлся баг

Как агент работает под капотом
Если открыть адрес агента https://ai.bablosoft.com:5500/ в обычном браузере, откроется, кстати, тот же самый агент. То есть в BAS он сделан через веб-интерфейс. Просто в браузере он ни к чему не привязан, про проект ничего не знает и на запрос толком ничего не ответит
Сам агент решений не принимает, он по сути передаёт на сервер разработчиков сам запрос и данные проекта:
- действия
- ресурсы
- состояние браузера
- логи
- и даже бэкапы
Дальше всё идёт по кругу, пока задача не готова:
- Сервер решает, что делать дальше, и по сути отдаёт агенту следующий шаг
- BAS уже на компе читает проект, меняет его и запускает
- Что получилось, снова уходит на сервер

Получается, мозг всей этой работы находится на сервере разработчика. Что конкретно там происходит, мы не знаем. Скорее всего, там стоят какие-то скилы и система, которая уже и решает, что нужно делать и как, и взаимодействует с агентом
Дорабатывает это всё сам разработчик, и заложить в агента свои данные или правила мы никак не можем
Ну и про деньги. Агент полностью бесплатный, ничего для него покупать или подключать не надо. За всё платит разработчик: он полностью обслуживает сервер, ну и сервер уже решает все задачи
Возможность писать код руками в Code Editor
Code Editor открывается из бокового меню, и это вещь вообще отдельная. Тут код пишется руками, и агент его никак не обрабатывает, он к этому окну, как бы, отношения не имеет. После Accept code или Ctrl+Enter BAS превращает каждый вызов функции в обычное действие проекта
И это, короче, совсем не обычный JavaScript. Разработчик в шапке редактора прямо расписал, что можно и что нельзя:

Если коротко, тут нельзя:
- объявлять свои функции и стрелочные функции
- юзать методы строк и массивов, вместо них по сути берутся функции BAS:
ParseStringToList вместо .split, AppendElementToList вместо .push, find_substring вместо .indexOf
- писать шаблонные строки и
async/await
Писать тут надо на ES5, если написать на ES6, он такой код просто не примет. Поэтому если код пишет нейронка, ей стоит скинуть эту шапку как контекст. И я бы ещё добавил, что ей надо отдельно написать про ES5, потому что новые методы тут не поддерживаются
В шапке, кстати, среди переменных указан и let. Он как раз из ES6, поэтому переменные объявляем через var
Пример разработчика я вставил как есть, и в проекте появились те самые действия: загрузка Google, поиск, клики по селекторам
Ещё момент с комментариями. Если над строкой написать комментарий через //, он станет подписью действия
Откуда агент берёт инфу про модули
В Reference, она же Ctrl+J, можно посмотреть по сути всю документацию по модулям BAS

Агент он на эту документацию и опирается. Описания модулей и действий он отсюда и берёт, и уже с их помощью собирает проект
Ну и для самого Code Editor тут у каждого действия есть параметры, что оно возвращает и примеры, и кнопка Insert into editor сразу вставляет пример в редактор

Пользовательские модули агент, кстати, тоже видит. Плюс если агент написал код с модулем, который в BAS не активирован, BAS предложит его активировать
Что агент пока не умеет

Вложения я проверял сам: перетащил картинку со второго экрана прямо в окно, и агент с ней ничего сделать не смог, ну и после этого ещё пришлось закрывать окошко агента и открывать заново. Про другие проекты я у него тоже прямо спросил, и он сам ответил, что видит только тот, который сейчас открыт в редакторе
Вывод
Если честно, сначала я думал, что агент ещё сырой и во многих местах будет работать плохо. Уже после второго проекта понял, что сильно ошибался
Что по итогу по самой работе:
- логику он в целом делает достаточно хорошо, есть только небольшая проблема, что иногда он делает больше кубиков, чем нужно
- селекторы пишет хорошо, с динамическими сайтами тоже нормально справляется
- все проекты, с которыми я работал, в итоге были выполнены. В проекте на 6500 действий мы не доделали некоторые задачи, просто у меня было мало времени
Сделан он вообще хорошо, и самое приятное, что он реально бесплатный. Ничего не стоит, просто пишем промт, и он всё делает
Из нюансов: задачи он выполняет немножко долго, и модель там стоит не самая топовая. Ну и какая разница, если это бесплатно и любой человек может с ним собирать свои скрипты
Короче, инструмент очень хороший. Я каждому советую переходить больше на нейронки и не писать код руками. Лучше писать хорошие промты и давать агенту как можно больше базы, то есть по факту надо просто хорошо составить техническое задание
Где-то, может, придётся что-то подсмотреть и подсказать ему, как писать код. Ну это всё тоже со временем допилится