<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Как устроен агент в BAS фулл гайд]]></title><description><![CDATA[<p dir="auto"><img src="/assets/uploads/files/1791887717015-thumbnail-agent-ai.png" alt="Агент и модуль AI в BAS" class=" img-fluid img-markdown" /></p>
<p dir="auto">Если удобнее смотреть, всё это есть у меня в видео на ютюбе: интерфейс агента <a href="https://youtu.be/EY2B457MBJo?t=245" rel="nofollow ugc">с 4:05</a>, ну а как он работает под капотом <a href="https://youtu.be/EY2B457MBJo?t=3376" rel="nofollow ugc">с 56:16</a></p>
<p dir="auto">Все материалы к ролику лежат у меня в тг-канале, залетайте: <a href="https://t.me/mustangbas" rel="nofollow ugc">t.me/mustangbas</a></p>
<h3>План</h3>
<ol>
<li>Интерфейс агента
<ul>
<li>Два режима работы Fast и Thorough</li>
<li>Как работают бэкапы</li>
<li>Как прочекать какие изменения сделал агент</li>
<li>Как скинуть лог разрабам</li>
</ul>
</li>
<li>Как агент работает под капотом</li>
<li>Возможность писать код руками в Code Editor</li>
<li>Откуда агент берёт инфу про модули</li>
<li>Что агент пока не умеет</li>
<li>Вывод</li>
</ol>
<h3>Интерфейс агента</h3>
<p dir="auto">Начнём с интерфейса агента и того, как он в целом сделан. Все фичи, которые тут есть, я собрал на схеме:</p>
<p dir="auto"><img src="/assets/uploads/files/1791886413562-01-02-art01-features-ru.png" alt="Все функции интерфейса агента: запрос, чаты и лог, что сделал агент, инструменты" class=" img-fluid img-markdown" /></p>
<p dir="auto">На стартовом окне есть Tutorials &amp; example prompts, там собрано реально много готовых промтов под разные задачи. Ну и есть бургер-меню, в нём новый чат, история, Code Editor и настройки</p>
<p dir="auto"><img src="/assets/uploads/files/1791890397415-01-03-01-start-window-crop.png" alt="Стартовое окно агента: бургер-меню, туториалы и поле ввода" class=" img-fluid img-markdown" /></p>
<h4>Два режима работы Fast и Thorough</h4>
<p dir="auto"><img src="/assets/uploads/files/1791886413662-01-04-03-mode-thorough.png" alt="Переключатель режима в поле запроса, сейчас стоит Thorough" class=" img-fluid img-markdown" /></p>
<ul>
<li>Fast: тут агент свою работу чекает не так тщательно, весь проект целиком не разбирает и старается побыстрее выдать результат. Этот режим для быстрых и лёгких задач, которым не нужен какой-то глубокий анализ</li>
<li>Thorough: тут агент проверяет проект намного тщательнее, поэтому и времени всё это занимает дольше. Это режим для тяжёлых задач, где нужна более тщательная работа: проект с нуля, какая-то большая новая фича или большие изменения в проекте. Если понятно, что задача уже хотя бы средней тяжести, то берём именно Thorough. Я его в целом юзал где-то в 80 или 90% своих запросов</li>
</ul>
<h4>Как работают бэкапы</h4>
<p dir="auto">Бэкап агент делает всегда, даже если я у него просто спросил, что он умеет. В чате это отдельные строчки с именем файла, и на запрос с изменениями их по сути два:</p>
<ul>
<li>бэкап до изменений: тут проект ровно такой, каким был перед запросом</li>
<li>бэкап после изменений: тут уже проект с правками агента</li>
</ul>
<p dir="auto"><img src="/assets/uploads/files/1791886413703-01-05-06-backups.png" alt="Два бэкапа вокруг одного запроса: до изменений и после" class=" img-fluid img-markdown" /></p>
<p dir="auto">Чтобы откатиться, надо нажать на строчку бэкапа. BAS при этом перезапустит проект, и браузер со всем состоянием потеряется. Дальше по шагам:</p>
<ol>
<li>Нажимаем OK</li>
<li>В окне ресурсов жмём Enter</li>
<li>Ждём пока проект запустится</li>
</ol>
<p dir="auto">Между этими двумя бэкапами можно ходить в обе стороны. Я попросил добавить в самое начало лог <code>Agent Backup</code> и потом проверил, как это вообще работает:</p>
<ul>
<li>откатился на бэкап до изменений, и лога в проекте просто не стало</li>
<li>вернулся на бэкап после изменений, и лог <code>Agent Backup</code> вот снова на месте</li>
</ul>
<p dir="auto"><img src="/assets/uploads/files/1791886413770-01-06-08-rollback-arrow.png" alt="Слева проект после отката без лога, справа после возврата на поздний бэкап" class=" img-fluid img-markdown" /></p>
<h4>Как прочекать какие изменения сделал агент</h4>
<p dir="auto">Под каждым ответом есть три вкладки: Changes, Timeline и Statistics</p>
<p dir="auto"><img src="/assets/uploads/files/1791886478263-01-07-10-changes.png" alt="Вкладка Changes: в функцию Main добавился новый лог" class=" img-fluid img-markdown" /></p>
<p dir="auto">Changes показывает, что конкретно агент поменял в коде, прям по строчкам: зелёным добавленные строки, красным убранные. У меня добавилось четыре строки и убралась одна, и в этих строках как раз новый лог в Main</p>
<p dir="auto">В Timeline можно глянуть вообще все шаги агента по порядку:</p>
<ul>
<li>запрос и бэкап</li>
<li>что решала модель</li>
<li>какие функции он смотрел</li>
<li>какие правки внёс</li>
<li>что в итоге ответил</li>
</ul>
<p dir="auto">Например, когда агент чинил Rabby Wallet, тестов там была прям огромная куча. Он реально работал до конца, пока не поправил ошибку, ну и проект он в итоге доделал</p>
<p dir="auto"><img src="/assets/uploads/files/1791886796971-01-08-11-timeline.png" alt="Вкладка Timeline: все шаги агента от запроса до ответа" class=" img-fluid img-markdown" /></p>
<p dir="auto">В Statistics можно посмотреть время, токены, модель, и в целом тут содержится вся инфа про наши запросы</p>
<p dir="auto"><img src="/assets/uploads/files/1791886797015-01-09-12-statistics.png" alt="Вкладка Statistics: время, обращения к модели, токены и модель" class=" img-fluid img-markdown" /></p>
<p dir="auto">Ну и если ответ получился кривой, его можно отметить кнопкой Report a bad generation, и отчёт уйдёт разрабам</p>
<h4>Как скинуть лог разрабам</h4>
<p dir="auto">Кнопка лога открывает весь диалог, и его можно скачать zip-архивом и скинуть разрабам, если нашёлся баг</p>
<p dir="auto"><img src="/assets/uploads/files/1791886797036-01-10-13-download-log.png" alt="Кнопка скачивания полного лога диалога" class=" img-fluid img-markdown" /></p>
<h3>Как агент работает под капотом</h3>
<p dir="auto">Если открыть адрес агента <a href="https://ai.bablosoft.com:5500/" rel="nofollow ugc">https://ai.bablosoft.com:5500/</a> в обычном браузере, откроется, кстати, тот же самый агент. То есть в BAS он сделан через веб-интерфейс. Просто в браузере он ни к чему не привязан, про проект ничего не знает и на запрос толком ничего не ответит</p>
<p dir="auto">Сам агент решений не принимает, он по сути передаёт на сервер разработчиков сам запрос и данные проекта:</p>
<ul>
<li>действия</li>
<li>ресурсы</li>
<li>состояние браузера</li>
<li>логи</li>
<li>и даже бэкапы</li>
</ul>
<p dir="auto">Дальше всё идёт по кругу, пока задача не готова:</p>
<ol>
<li>Сервер решает, что делать дальше, и по сути отдаёт агенту следующий шаг</li>
<li>BAS уже на компе читает проект, меняет его и запускает</li>
<li>Что получилось, снова уходит на сервер</li>
</ol>
<p dir="auto"><img src="/assets/uploads/files/1791886797294-01-11-05-agent-internals-ru.png" alt="Как агент работает под капотом: решает сервер, читает и меняет проект BAS на компьютере" class=" img-fluid img-markdown" /></p>
<p dir="auto">Получается, мозг всей этой работы находится на сервере разработчика. Что конкретно там происходит, мы не знаем. Скорее всего, там стоят какие-то скилы и система, которая уже и решает, что нужно делать и как, и взаимодействует с агентом</p>
<p dir="auto">Дорабатывает это всё сам разработчик, и заложить в агента свои данные или правила мы никак не можем</p>
<p dir="auto">Ну и про деньги. Агент полностью бесплатный, ничего для него покупать или подключать не надо. За всё платит разработчик: он полностью обслуживает сервер, ну и сервер уже решает все задачи</p>
<h3>Возможность писать код руками в Code Editor</h3>
<p dir="auto">Code Editor открывается из бокового меню, и это вещь вообще отдельная. Тут код пишется руками, и агент его никак не обрабатывает, он к этому окну, как бы, отношения не имеет. После Accept code или Ctrl+Enter BAS превращает каждый вызов функции в обычное действие проекта</p>
<p dir="auto">И это, короче, совсем не обычный JavaScript. Разработчик в шапке редактора прямо расписал, что можно и что нельзя:</p>
<p dir="auto"><img src="/assets/uploads/files/1791886797360-01-12-15-editor-rules.png" alt="Шапка Code Editor: что можно и чего нельзя писать" class=" img-fluid img-markdown" /></p>
<p dir="auto">Если коротко, тут нельзя:</p>
<ul>
<li>объявлять свои функции и стрелочные функции</li>
<li>юзать методы строк и массивов, вместо них по сути берутся функции BAS: <code>ParseStringToList</code> вместо <code>.split</code>, <code>AppendElementToList</code> вместо <code>.push</code>, <code>find_substring</code> вместо <code>.indexOf</code></li>
<li>писать шаблонные строки и <code>async/await</code></li>
</ul>
<p dir="auto">Писать тут надо на ES5, если написать на ES6, он такой код просто не примет. Поэтому если код пишет нейронка, ей стоит скинуть эту шапку как контекст. И я бы ещё добавил, что ей надо отдельно написать про ES5, потому что новые методы тут не поддерживаются</p>
<p dir="auto">В шапке, кстати, среди переменных указан и <code>let</code>. Он как раз из ES6, поэтому переменные объявляем через <code>var</code></p>
<p dir="auto">Пример разработчика я вставил как есть, и в проекте появились те самые действия: загрузка Google, поиск, клики по селекторам</p>
<p dir="auto">Ещё момент с комментариями. Если над строкой написать комментарий через <code>//</code>, он станет подписью действия</p>
<h3>Откуда агент берёт инфу про модули</h3>
<p dir="auto">В Reference, она же Ctrl+J, можно посмотреть по сути всю документацию по модулям BAS</p>
<p dir="auto"><img src="/assets/uploads/files/1791886808015-01-13-17-reference.png" alt="Кнопка Reference и список модулей BAS с поиском" class=" img-fluid img-markdown" /></p>
<p dir="auto">Агент он на эту документацию и опирается. Описания модулей и действий он отсюда и берёт, и уже с их помощью собирает проект</p>
<p dir="auto">Ну и для самого Code Editor тут у каждого действия есть параметры, что оно возвращает и примеры, и кнопка Insert into editor сразу вставляет пример в редактор</p>
<p dir="auto"><img src="/assets/uploads/files/1791886828937-01-14-18-reference-action.png" alt="Действие из Date and Time: параметры, результат, примеры и кнопка вставки" class=" img-fluid img-markdown" /></p>
<p dir="auto">Пользовательские модули агент, кстати, тоже видит. Плюс если агент написал код с модулем, который в BAS не активирован, BAS предложит его активировать</p>
<h3>Что агент пока не умеет</h3>
<p dir="auto"><img src="/assets/uploads/files/1791886829196-01-15-art01-limits-ru.png" alt="Что агент пока не умеет: вложения, несколько проектов сразу, автоподтверждение и очень большие задачи, и как с этим быть" class=" img-fluid img-markdown" /></p>
<p dir="auto">Вложения я проверял сам: перетащил картинку со второго экрана прямо в окно, и агент с ней ничего сделать не смог, ну и после этого ещё пришлось закрывать окошко агента и открывать заново. Про другие проекты я у него тоже прямо спросил, и он сам ответил, что видит только тот, который сейчас открыт в редакторе</p>
<h3>Вывод</h3>
<p dir="auto">Если честно, сначала я думал, что агент ещё сырой и во многих местах будет работать плохо. Уже после второго проекта понял, что сильно ошибался</p>
<p dir="auto">Что по итогу по самой работе:</p>
<ul>
<li>логику он в целом делает достаточно хорошо, есть только небольшая проблема, что иногда он делает больше кубиков, чем нужно</li>
<li>селекторы пишет хорошо, с динамическими сайтами тоже нормально справляется</li>
<li>все проекты, с которыми я работал, в итоге были выполнены. В проекте на 6500 действий мы не доделали некоторые задачи, просто у меня было мало времени</li>
</ul>
<p dir="auto">Сделан он вообще хорошо, и самое приятное, что он реально бесплатный. Ничего не стоит, просто пишем промт, и он всё делает</p>
<p dir="auto">Из нюансов: задачи он выполняет немножко долго, и модель там стоит не самая топовая. Ну и какая разница, если это бесплатно и любой человек может с ним собирать свои скрипты</p>
<p dir="auto">Короче, инструмент очень хороший. Я каждому советую переходить больше на нейронки и не писать код руками. Лучше писать хорошие промты и давать агенту как можно больше базы, то есть по факту надо просто хорошо составить техническое задание</p>
<p dir="auto">Где-то, может, придётся что-то подсмотреть и подсказать ему, как писать код. Ну это всё тоже со временем допилится</p>
]]></description><link>http://community.bablosoft.com/topic/32586/как-устроен-агент-в-bas-фулл-гайд</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 00:09:05 GMT</lastBuildDate><atom:link href="http://community.bablosoft.com/topic/32586.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Oct 2026 11:39:20 GMT</pubDate><ttl>60</ttl></channel></rss>