<?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[Что получилось на практике с модулем AI]]></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=7736" rel="nofollow ugc">с 2:08:56</a>, ну и проект AI Room <a href="https://youtu.be/EY2B457MBJo?t=8256" rel="nofollow ugc">с 2:17:36</a></p>
<p dir="auto">Все материалы к ролику лежат у меня в тг-канале, залетайте: <a href="https://t.me/mustangbas" rel="nofollow ugc">t.me/mustangbas</a></p>
<h3>План</h3>
<ol>
<li>Профиль стима через запрос в чат</li>
<li>Проект AI Room</li>
<li>Вывод</li>
</ol>
<h3>Профиль стима через запрос в чат</h3>
<p dir="auto">За основу я взял проект авторизации в стиме, который до этого сделал агент: он входил в аккаунт и ставил аватарку. Его я решил доделать, и попросил агента, чтобы бот ещё:</p>
<ul>
<li>заполнял весь профиль, страну ставил США</li>
<li>ну и генерил имя профиля, настоящее имя и описание через запрос в чат из модуля AI</li>
</ul>
<p dir="auto">То есть раньше бот трогал в профиле, по сути, одну аватарку. Теперь он должен был заполнять профиль стима уже полностью, со всеми полями</p>
<p dir="auto"><img src="/assets/uploads/files/1791887552616-06-02-art06-steam-profile-ru.png" alt="Что бот делает в профиле стима: что было в проекте авторизации и что агент дописал с модулем AI" class=" img-fluid img-markdown" /></p>
<p dir="auto">Короче, агент вынес всё это в отдельную функцию <code>FillSteamProfile</code>. Внутри неё три запроса в чат идут по очереди:</p>
<ol>
<li>Имя профиля, то есть ник, который видят другие</li>
<li>Настоящее имя</li>
<li>Описание профиля</li>
</ol>
<p dir="auto">Каждый ответ модели бот сразу вставляет в нужное поле. Страну, регион и город он ставит уже обычными действиями, без модели</p>
<p dir="auto">Промты к этим запросам агент, кстати, тоже написал сам. Для описания, например, попросил короткий текст на английском в 2 или 3 предложения, до 280 символов, без эмодзи и хештегов, ну и только само описание без всяких вступлений</p>
<p dir="auto">Когда агент всё доделал, я запустил проект, и профиль реально заполнился полностью. Так что задачу он выполнил, я считаю, на все 100%</p>
<p dir="auto">Регион, город и Custom URL агент, кстати, докинул уже от себя, я просил только страну</p>
<p dir="auto"><img src="/assets/uploads/files/1791887552697-06-03-01-steam-profile-grid.png" alt="Профиль после запуска: страну я просил, регион и город агент добавил сам, ниже описание от модели" class=" img-fluid img-markdown" /></p>
<h3>Проект AI Room</h3>
<p dir="auto">Тут я хотел задействовать все действия модуля в одной системе. Есть сайт с чат-комнатами, и у бота два режима:</p>
<ol>
<li>Создать комнату и написать туда пару сообщений, плюс голосовое на ту же тему</li>
<li>Зайти в комнату по сохранённой ссылке, ответить на сообщения по смыслу, ну и поставить подходящую реакцию</li>
</ol>
<p dir="auto">Действия модуля я сначала настраивал руками и только потом отдавал логику агенту. Если ни разу самому это не настроить, непонятно, какие тут вообще пределы и как потом нормальный промт агенту составлять</p>
<p dir="auto"><img src="/assets/uploads/files/1791887575447-06-04-art06-ai-room-ru.png" alt="Два режима AI Room: где работает модуль AI и где обычная логика проекта, которую написал агент" class=" img-fluid img-markdown" /></p>
<p dir="auto">Первый режим по задумке работает цепочкой:</p>
<ol>
<li>Запрос в чат в режиме <code>Continue chat</code> придумывает какую-то бытовую тему и пишет по ней три сообщения</li>
<li>Второй запрос в том же чате пишет, по сути, текст для голосового по той же теме</li>
<li>Модель озвучки превращает этот текст в голосовое</li>
<li>Бот создаёт комнату и отправляет туда сообщения и голосовое</li>
</ol>
<p dir="auto">Моделей тут понадобилось две: текстовая и модель озвучки, её я нашёл в OpenRouter по тегу Speech</p>
<p dir="auto">Тут я накосячил: оба запроса писали ответ в одну переменную, и текст для голосового затёр реплики. Переименовал переменную, и всё заработало</p>
<p dir="auto">С озвучкой через модуль не вышло, ответ пришёл пустой. Модель ждёт запрос в другом виде и отдаёт аудио через другой API, ну и нужных параметров модуль в запрос не передаёт. Так что эту часть я отдал агенту, и минут через 10 он сделал отдельный HTTP-запрос, после которого в папке появился MP3</p>
<p dir="auto"><img src="/assets/uploads/files/1791887575475-06-05-05-audio-http-clean.png" alt="Кусок функции озвучки, которую написал агент: если запрос прошёл, аудио из base64 записывается в MP3" class=" img-fluid img-markdown" /></p>
<p dir="auto">Для второго режима сначала надо достать переписку, это как раз извлечение данных из браузера. Вернулся, по сути, массив объектов, у каждого сообщения автор, текст, время и направление. Голосовое пропущено, как я и просил</p>
<p dir="auto"><img src="/assets/uploads/files/1791887716454-06-06-06-extracted-messages-grid.png" alt="Что вернуло извлечение: автор, текст, время и направление каждого сообщения, голосовое пропущено" class=" img-fluid img-markdown" /></p>
<p dir="auto">Тип я тогда поставил <code>string_list</code>. По коду массив объектов он уже не пропустит, так что под такую переписку нужен <code>object_list</code></p>
<p dir="auto">Дальше переписка уходит в запрос в чат, и модель отвечает человеку по смыслу. Сначала я вставил в промт не ту переменную, и модель просила прислать ей историю. С правильной переменной ответ пришёл осмысленный: человек писал про кофе в новом месте, и модель спросила, ну как ему этот кофе</p>
<p dir="auto">Обычным способом пришлось бы заранее заготовить сотку диалогов. Тут по факту два действия, и всё бесплатно</p>
<p dir="auto">Реакцию ставит задача в браузере, логику кликов вокруг неё, кстати, написал агент. Он передаёт в задачу одно случайное сообщение собеседника, и модель выбирает под него эмодзи</p>
<p dir="auto">На первом общем запуске сайт выкинул из аккаунта, и поток упал. Агент чинил это где-то полтора часа, и со второго раза всё отработало: комната с тремя сообщениями и голосовым на 14 секунд, плюс ответ из второго режима</p>
<p dir="auto"><img src="/assets/uploads/files/1791887716560-06-07-11-room-result-grid.png" alt="Итог: три сообщения и голосовое на 14 секунд, ниже ответ из второго режима" class=" img-fluid img-markdown" /></p>
<p dir="auto">Последним шагом задача в браузере нашла реакцию по слову coffee, это прям подходит под тему разговора</p>
<p dir="auto"><img src="/assets/uploads/files/1791887716644-06-08-12-reaction-coffee-grid.png" alt="Задача в браузере ищет реакцию по слову coffee" class=" img-fluid img-markdown" /></p>
<h3>Вывод</h3>
<p dir="auto">В целом модуль мне, честно, понравился. В AI Room я задействовал все его действия и две модели, одну на текст, вторую на озвучку, и всё это бесплатно. Получился реально живой диалог. Если бы мне скинули ссылку на такую комнату, я бы честно не отличил, писала это нейронка или живой человек</p>
<p dir="auto">Не хватило мне, по сути, одного: аудио через модуль не получить, его пришлось генерить отдельным HTTP-запросом. В любом случае у модуля, я считаю, есть будущее</p>
<p dir="auto">Годится он под узкие задачи, где всё динамическое и алгоритм просто так не прописать. По тому, что я на нём делал, это, например:</p>
<ul>
<li>ответы клиентам и собеседникам, которые могут написать что угодно</li>
<li>уникальные тексты под каждый аккаунт: имена, описания профиля, сообщения</li>
<li>живая переписка между ботами в чатах и комнатах, по сути с продолжением темы</li>
<li>выбор по смыслу прямо на странице, типа реакции под сообщение, где заранее непонятно, что кликать</li>
<li>вытаскивание данных со страницы сразу в нужном виде, ну если вёрстка у сайтов разная</li>
</ul>
<p dir="auto">Вот вокруг таких мест автоматизацию на модуле AI и можно строить</p>
]]></description><link>http://community.bablosoft.com/topic/32590/что-получилось-на-практике-с-модулем-ai</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 23:10:31 GMT</lastBuildDate><atom:link href="http://community.bablosoft.com/topic/32590.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Oct 2026 11:40:58 GMT</pubDate><ttl>60</ttl></channel></rss>