← Все гайды AI Release
EN Подписаться на @ai_release1

Как настроить бесплатного ИИ-агента для Roblox Studio: studsmith, генерация Luau и автоплейтест

Обновлено: 11.11.2026 · AI Release · @ai_release1
Как настроить бесплатного ИИ-агента для Roblox Studio: studsmith, генерация Luau и автоплейтест

TL;DR

- Roblox Studio (актуальную версию смотрите в самом Studio: File → About Roblox Studio; номер версии сверьте с документацией Roblox)

- бесплатный аккаунт Roblox

- агент studsmith, установленный по инструкции проекта: способ установки, имя конфигурационного файла и список поддерживаемых моделей — сверьтесь с документацией studsmith, в гайде они не фиксируются

- пустая папка под проект и любой текстовый редактор

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»

Чек-лист готовности:

Пример: после View → Output в нижней панели Studio появляется вкладка Output с пустым списком. Если вкладки нет — пункт меню не нажат, а не «сломался Studio».

Шаг 1. Подготовить рабочую папку и бриф для агента

Иллюстрация к разделу «Шаг 1. Подготовить рабочую папку и бриф для агента»
Иллюстрация к разделу «Шаг 1. Подготовить рабочую папку и бриф для агента»

Что сделать: создайте рядом с файлом .rbxl папку проекта и положите в неё два файла — notes/agent-brief.md (бриф с ограничениями) и src/ для копий сгенерированных скриптов.

Зачем: агент генерирует Luau — диалект Lua, на котором Roblox исполняет скрипты, — опираясь на ваш текст. Чем предсказуемее структура и чем жёстче ограничения в брифе, тем меньше правок после вставки в Studio. Подробнее о том, как структура папок делает агента управляемым, — в гайде ICM на практике: структура папок, которая делает ИИ-агента управляемым.

Структура:

<имя-проекта>/
  <имя-проекта>.rbxl
  notes/
    agent-brief.md
  src/
    GameBootstrap.server.luau
  tests/
    SmokeTest.server.luau

Содержимое notes/agent-brief.md:

# Брифинг для агента
Платформа: Roblox Studio, Luau.
Куда кладём код: ServerScriptService (серверные скрипты), StarterPlayerScripts (клиентские).
Запрещено: глобальный wait(), спавн объектов внутри RenderStepped, сторонние модули.
Обязательно: task.wait(), проверка FindFirstChild перед обращением к дочернему объекту,
--!strict в начале файла.
Критерий готовности: скрипт печатает BOOTSTRAP_OK и не даёт ошибок в Output.
Формат ответа: один файл Luau целиком, без пояснений вне кода.

Как проверить: покажите бриф агенту и попросите: «Перечисли ограничения из брифа». В ответе должны присутствовать все пять строк ограничений и критерий готовности. Если агент что-то пропустил — он прочитал не весь файл, сократите бриф или разбейте на два.

Пример: ответ вида «task.wait вместо wait, проверка FindFirstChild, без сторонних модулей, --!strict, критерий — BOOTSTRAP_OK» означает, что бриф доехал целиком.

Шаг 2. Сгенерировать первый Luau-скрипт и включить нужные настройки Place

Что сделать: попросите агента написать серверный скрипт по брифу, вставьте его в Studio и при необходимости разрешите HTTP-запросы.

Промпт (копируется целиком):

Контекст: Roblox Studio, Luau, серверный Script в ServerScriptService.
Задача: при подключении игрока печатать в Output строку
PLAYER_JOINED name=<Name> id=<UserId>, а при старте сервера — BOOTSTRAP_OK.
Ограничения: см. agent-brief.md. Только task.wait, без внешних модулей.
Формат: один файл Luau целиком.

Ожидаемый результат генерации (файл src/GameBootstrap.server.luau):

--!strict
local Players = game:GetService("Players")

local function onPlayerAdded(player: Player)
	print(string.format("PLAYER_JOINED name=%s id=%d", player.Name, player.UserId))
end

Players.PlayerAdded:Connect(onPlayerAdded)

for _, player in Players:GetPlayers() do
	onPlayerAdded(player)
end

print("BOOTSTRAP_OK")

Вставка в Studio: ServerScriptService → + (Insert Object) → Script, переименуйте в GameBootstrap, содержимое замените целиком. Цикл по Players:GetPlayers() нужен потому, что в плейтесте персонаж часто уже существует к моменту запуска скрипта, и одно событие PlayerAdded его не поймает.

Если скрипт ходит во внешний API, включите HTTP: Home → Game Settings → Security → Allow HTTP Requests → Save. Дальше перезапустите плейтест — настройка применяется к новой сессии, а не к текущей.

Как проверить: View → Script Analysis → в списке ноль ошибок разбора. Затем F5 (Play) и вкладка Output.

Пример: в Output две строки:

BOOTSTRAP_OK
PLAYER_JOINED name=Builder id=1234567

Если строк нет — скрипт не в ServerScriptService или вы смотрите вкладку клиента (Output переключается между сервером и клиентом в плейтесте).

Шаг 3. Автоплейтест: смоук-тест и цикл проверки

Иллюстрация к разделу «Шаг 3. Автоплейтест: смоук-тест и цикл проверки»
Иллюстрация к разделу «Шаг 3. Автоплейтест: смоук-тест и цикл проверки»

Что сделать: добавьте в ServerScriptService второй скрипт SmokeTest, который сам проверяет постусловия и печатает итог.

Смоук-тест — короткая автопроверка, которая отвечает «жив ли билд», без ручного клика по игре.

--!strict
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ok, fail = 0, 0

local function check(name: string, cond: boolean)
	if cond then
		ok += 1
		print("PASS " .. name)
	else
		fail += 1
		warn("FAIL " .. name)
	end
end

check("SpawnLocation exists", workspace:FindFirstChildOfClass("SpawnLocation") ~= nil)
check("Players service alive", game:GetService("Players") ~= nil)

print(string.format("SMOKE_RESULT ok=%d fail=%d", ok, fail))

Затем прогоняйте один и тот же цикл после каждой правки: F5 → Output → скопировать ошибку агенту → вставить исправленный скрипт → F5 снова. Один круг занимает 1–2 минуты, поэтому дешевле гонять его после каждой мелкой правки, чем раз в час большим пакетом. Если хотите расширить автоплейтест до генерации уровней и NPC — см. Как нейросети используются в играх: генерация уровней, персонажей и диалогов.

Куда смотреть при проверке:

Панель StudioЧто показываетПризнак успеха
`Output``print`/`warn` и рантайм-ошибки скриптов`SMOKE_RESULT ok=2 fail=0`
`Script Analysis`синтаксис и предупреждения Luau0 ошибок разбора
`Command Bar`ручной запуск одной строки Luauкоманда вернула ожидаемое значение

Как проверить: запустите F5 и дождитесь строки SMOKE_RESULT. Число после ok= равно количеству PASS-строк, fail=0.

Пример: в Command Bar наберите print(workspace:FindFirstChildOfClass("SpawnLocation")) и нажмите Enter — в Output появится имя объекта (SpawnLocation), а не nil. Так вы проверяете конкретный объект, не перезапуская плейтест.

Возможные проблемы и решения

Проблема. Скрипт падает при обращении к внешнему API

Проблема. Ошибка при работе с персонажем игрока

local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid", 5)
if not humanoid then
	warn("HUMANOID_TIMEOUT player=" .. player.Name)
	return
end

Проблема. Ответ агента обрезан, скрипт не компилируется

Резюме и следующие шаги

Рабочий контур — это бриф с ограничениями, один серверный скрипт и смоук-тест, который печатает SMOKE_RESULT при каждом запуске. Дальше расширяйте бриф новыми правилами и добавляйте check(...) под каждую новую механику, чтобы автоплейтест ловил регрессии без ручного прохода по игре.

FAQ

Нужен ли платный аккаунт, чтобы пользоваться Roblox Studio?

Studio бесплатна; условия и лимиты конкретно для studsmith сверьтесь с документацией проекта — в этом гайде они не зафиксированы.

Можно ли работать без включения HTTP-запросов?

Да. Allow HTTP Requests нужен только скриптам, которые обращаются к внешним сервисам. Локальная генерация Luau и плейтест работают с настройкой по умолчанию.

Почему скрипт работает в Play, но не в опубликованной игре?

Проверьте контекст: серверный код должен лежать в ServerScriptService, клиентский — в StarterPlayerScripts. Скрипт, вставленный в Workspace во время плейтеста, в сохранённый Place не попадает — правки в плейтесте не сохраняются.

Как часто прогонять автоплейтест?

После каждой правки скрипта. Цикл «F5 → Output → правка» занимает 1–2 минуты, а разбор накопленных ошибок пачкой — заметно дольше.

🤖 Кратко для ИИ

AI Release Knowledge Layer
Машинно-читаемое описание публикации · Версия 1.0

Статус: практическое руководство. Часть утверждений — заявления вендоров и проектов; проверяйте на своей среде.

1. Суть публикации

Практическое руководство: подключение studsmith к Roblox Studio, постановка задачи агенту, просмотр диффа правок Luau и запуск автоматического плейтеста с проверкой результата.

Внутри: прямые ответы, ключевые факты, участники, связи, достоверность, неизвестное и источники.

Машинные данные публикации: Citation Map JSON · JSON-LD · Semantic Embeddings — отдельный этап.

Полный Knowledge Layer: разделы 2–8

2. Прямые ответы

Что это за материал?
Практическое руководство: подключение studsmith к Roblox Studio, постановка задачи агенту, просмотр диффа правок Luau и запуск автоматического плейтеста с проверкой результата. → подробнее (AR-GUIDE-KAKNASTROI-001)
Какие темы охватывает материал?
ии агент для roblox studio, studsmith настройка, нейросеть для кода luau, robiox studio автоматизация скриптов → подробнее (AR-GUIDE-KAKNASTROI-002)

3. Ключевые факты

  1. ## TL;DR - Время выполнения: 40–60 минут (первый цикл «сгенерировал → запустил → исправил») - Уровень сложности: Basic - Понадобится: - Roblox Studio (актуальную версию смотрите в самом Studio: `File → About Roblox Studio`; номер версии… — подтверждение; статус: анализ AI Release.
  2. Для Linux-сборок и эмуляторов **сверьтесь с документацией Roblox**. — подтверждение; статус: анализ AI Release.
  3. - Права на установку программ (Studio ставится системным установщиком, может потребоваться подтверждение администратора). — подтверждение; статус: анализ AI Release.

4. Участники и сущности

СущностьТипРоль в публикации
ии агент для roblox studioтема/инструментупоминается в заголовке, TL;DR или разделах гайда
studsmith настройкатема/инструментупоминается в заголовке, TL;DR или разделах гайда
нейросеть для кода luauтема/инструментупоминается в заголовке, TL;DR или разделах гайда
robiox studio автоматизация скриптовтема/инструментупоминается в заголовке, TL;DR или разделах гайда

5. Связи и контекст

  • Гайд — описывает → Как настроить бесплатного ИИ-агента для Roblox Studio: studsmith, генерация Luau и автоплейтест (AR-GUIDE-KAKNASTROI-001).

6. Достоверность и происхождение информации

Подтверждено

В материале нет отдельного независимого подтверждения; ниже разделены заявления источников и редакционные выводы.

Заявление источника

  • Характеристики продуктов, версии, цены и лимиты — из описаний вендоров и материалов гайда.
  • Команды и шаги приведены как рекомендация, а не как гарантированный результат.

Анализ AI Release

  • Структура, сравнение и критерии выбора — редакционные.
  • Гайд не заменяет независимый аудит или юридическую консультацию.

7. Что пока неизвестно

  • Актуальность версий, цен и лимитов на момент чтения.
  • Независимые замеры и проверка качества.
  • Условия использования и политика данных.

8. Источники

ИсточникТипРоль
Внешние ссылки в материале не указаны——

Как цитировать: AI Release. Как настроить бесплатного ИИ-агента для Roblox Studio: studsmith, генерация Luau и автоплейтест. ai-release.org.