Discord AI-бот для рольової гри: налаштування без коду

Jakub Swistak
Опубліковано Оновлено Час читання: 6 хв
Інтерфейс чату Discord із рольовою розмовою з AI

AI-боти для рольової гри стали одним із найактивніших сценаріїв використання в Discord. Сервери, присвячені спільному сторітелінгу, кампаніям настільних RPG і розмовам на основі персонажів, часто використовують ботів, які підтримують сталу персону, пам’ятають попередні взаємодії та генерують відповіді, що залишаються в образі протягом довгих тредів.

У цій статті розглянуто технічні деталі роботи таких ботів, критерії вибору або створення бота, а також покрокове налаштування AI-бота з підтримкою рольової гри на вашому сервері Discord за допомогою Quickchat AI.

Як працюють AI-боти для рольової гри

На базовому рівні бот для рольової гри, це Discord-бот, який надсилає повідомлення користувачів до великої мовної моделі (LLM) із системним промптом, що визначає персонажа. У системному промпті задаються особистість персонажа, передісторія, мовні звички та правила поведінки.

Типовий системний промпт для рольового персонажа може виглядати так:

Ви Елара, мандрівна травниця у середньовічному фентезійному світі.
Ви говорите спокійним, виваженим тоном. Ви називаєте сучасні технології
"дивними пристроями". Ви ніколи не виходите з образу. Ви маєте
широкі знання про вигадані рослини та зілля. Коли вас запитують
про ваше минуле, ви натякаєте на трагедію, але ніколи не розкриваєте подробиці
напряму.

LLM отримує цей промпт разом із нещодавньою історією розмови та генерує відповідь, узгоджену з персонажем. Якість рольової гри залежить від трьох чинників:

  1. Якість системного промпта: наскільки детальним і послідовним є визначення персонажа
  2. Керування контекстним вікном: який обсяг історії розмови бачить модель
  3. Можливості моделі: наскільки добре базова LLM генерує креативний текст, узгоджений із персонажем

Контекстні вікна та пам’ять розмови

Найпоширеніше технічне обмеження ботів для рольової гри, це розмір контекстного вікна. Коли розмова триває сотні повідомлень, модель не може бачити їх усі одночасно. Бот має вибрати, які повідомлення включити.

Є кілька підходів:

СтратегіяЯк це працюєКомпроміс
Ковзне вікноВключає останні N повідомленьПросто, але персонажі “забувають” попередні події
УзагальненняПеріодично узагальнює старіші повідомлення та включає підсумокЗберігає довгостроковий контекст, але підсумки втрачають нюанси
RAG (retrieval)Зберігає всі повідомлення у векторній базі даних, витягує релевантніНайкраще пригадування, але додає затримку та складність
ГібридКовзне вікно + періодичні підсумки + закріплення ключових подійНайнадійніше, але найскладніше в реалізації

Для Discord зокрема розмови на основі тредів допомагають природно обмежувати контекст. Коли бот відповідає в треді, розмова залишається в межах цього треду, що спрощує керування контекстом порівняно з відстеженням повідомлень у кількох каналах. Та сама властивість корисна і поза рольовою грою: бот для тікетів підтримки відкриває приватний тред для кожної проблеми, щоб кожна з них зберігала власний контекст.

Вибір моделі для рольової гри

Не всі LLM однаково добре підходять для рольової гри. Основні чинники:

Якість художнього письма: моделі, донавчені на художній прозі та діалогах, зазвичай створюють природніші голоси персонажів. Базові моделі, налаштовані на інструкції, часто за замовчуванням переходять у тон корисного асистента, що руйнує занурення.

Розмір контекстного вікна: довші контекстні вікна означають, що персонаж може пам’ятати більшу частину розмови без прийомів узагальнення. Станом на початок 2026 року більшість frontier-моделей підтримують щонайменше 128K токенів, але ефективне використання цього контексту залежить від моделі.

Дотримання інструкцій: модель має послідовно виконувати системний промпт. Якщо вона виходить з образу після кількох реплік, рольова гра розпадається. Моделі з сильним дотриманням інструкцій (GPT-4o, Claude 3.5 Sonnet, Llama 3.1 70B+) зазвичай працюють тут краще.

Політика щодо контенту: хостингові API застосовують фільтри контенту, які можуть відмовлятися генерувати графічне насильство, жахи або іншу темну художню прозу. Якщо ваша спільнота рольової гри працює з такими темами, розгляньте самостійно розміщену модель або API-провайдера з менш обмежувальними політиками щодо контенту.

МодельКонтекстне вікноПридатність для рольової гриДоступ
GPT-4o128K токенівХороший креативний вихід, сильне дотримання інструкційOpenAI API
Claude 3.5 Sonnet200K токенівВідмінно підтримує голос персонажаAnthropic API
Llama 3.1 70B128K токенівДобра з fine-tuning, доступні варіанти без цензуриСамостійне розміщення або API-провайдери
Mixtral 8x22B64K токенівПристойне художнє письмо, економічнаСамостійне розміщення або API-провайдери
Command R+128K токенівНадійна, оптимізована для RAG за використання retrievalCohere API

Налаштування бота для рольової гри з Quickchat AI

Quickchat AI дає змогу створити AI-агента з власною персоною та розгорнути його в Discord без написання коду. Нижче наведено налаштування бота з підтримкою рольової гри.

Передумови

  • Обліковий запис Quickchat AI (план Trial дає 50 повідомлень для тестування)
  • Сервер Discord, на якому ви маєте дозвіл Manage Server
  • За потреби, власний застосунок Discord і токен бота, лише якщо вам потрібні власні ім’я та аватар бота (див. посібник із налаштування Discord-бота)

Крок 1: Створіть свого AI Agent

  1. Увійдіть у Quickchat AI dashboard.
  2. Створіть нового AI Agent або виберіть наявного.

Крок 2: Визначте персонажа

Перейдіть до Identity на бічній панелі та відкрийте вкладку Profile:

  1. Установіть AI Agent Name як ім’я вашого персонажа (наприклад, “Елара Травниця”).

  2. Напишіть AI Main Prompt. Це короткий опис того, хто цей персонаж і про що він говорить. Наприклад: “Елара, це мандрівна травниця у середньовічному фентезійному світі. Вона говорить спокійним, виваженим тоном і має широкі знання про вигадані рослини та зілля.”

  3. Додайте AI Guidelines для конкретних правил поведінки. Кожна настанова, це коротка команда, якої AI дотримується. Для рольового персонажа корисні такі настанови:

    • “За жодних обставин не виходь з образу.”
    • “Завжди відповідай від першої особи як Елара.”
    • “Називай сучасні технології ‘дивними пристроями.’”
    • “Коли тебе запитують про минуле, натякай на трагедію, але ніколи не розкривай подробиці напряму.”
  4. На вкладці Conversation Style налаштуйте таке:

    • AI Personality: виберіть тон, що відповідає вашому персонажу. Доступні варіанти включають Classic, Sassy, Intelligent, Empathetic, Bold, Excited, Mysterious, Inspiring, Adventurous і Elegant. Для рольової гри такі варіанти, як “Mysterious” або “Adventurous”, зазвичай працюють краще за стандартне налаштування “Classic”.
    • AI Profession: доступні варіанти: Helpful Assistant, Support Agent, Shopping Assistant, Field Expert і Interviewer. Для рольового персонажа “Helpful Assistant” є найгнучкішим, оскільки інші варіанти орієнтовані на конкретні бізнес-сценарії.
    • AI Creativity: установіть “High” для рольової гри. На “High” агент намагатиметься імпровізувати відповіді на основі Knowledge Base, а не відмовлятися, коли йому бракує інформації. Саме це потрібно для відповідей у образі. “Low” змушує агента прямо казати, що в нього недостатньо інформації, що руйнує занурення.
    • Reply Length: установіть “Longer”, якщо ваша рольова гра потребує детальних, описових відповідей. “Normal” підходить для невимушеного діалогу з короткими репліками.

Для глибшого опрацювання самої персони, з точними правилами промпта, які не дають персонажу ламати четверту стіну, і базою знань, структурованою як канон, див. як створити рольовий AI-чатбот, що залишається в образі.

Крок 3: Створіть базу знань для свого персонажа

Якщо ваш персонаж існує в детальному світі (кампанія настільної RPG, спільний художній всесвіт, сетинг гри), додайте релевантний лор до Knowledge Base.

  1. Перейдіть до Knowledge Base на бічній панелі.
  2. Додайте статті або документи з лором світу, передісторіями персонажів, описами фракцій, деталями локацій і каталогами предметів.
  3. AI-агент використовує retrieval-augmented generation, щоб підтягувати релевантні знання у свій контекст під час відповідей на запитання, тому персонаж може точно посилатися на лор без розміщення всього цього в системному промпті.

Це особливо корисно для ботів настільних RPG, де майстер гри хоче, щоб бот знав про світ кампанії, NPC і правила.

Крок 4: Підключіть Discord

  1. Перейдіть до External Apps на бічній панелі та виберіть Discord.
  2. У розділі Connect натисніть Add to your Discord server, авторизуйте спільний застосунок Quickchat AI та виберіть свій сервер. На цьому сервері вам потрібен дозвіл Manage Server.

Бот з’явиться онлайн на вашому сервері Discord. За замовчуванням він відповідає в каналі, коли користувачі згадують його через @mention. Виберіть Thread у налаштуванні Reply in, щоб кожна рольова розмова залишалася в окремому треді.

Для власних імені та аватара бота використайте натомість опцію Use your own Discord app і підключіть власний застосунок Discord із токеном бота, як описано в посібнику з налаштування, посилання на який наведено в передумовах.

Крок 5: Тестуйте та ітеруйте

Відкрийте свій сервер Discord і згадайте бота, щоб почати рольову розмову. Звертайте увагу на таке:

  • Чи залишається персонаж в образі після кількох обмінів репліками?
  • Чи відповідає тон тому, що ви визначили в системному промпті?
  • Чи точні посилання на базу знань?
  • Чи підходить довжина відповіді до стилю розмови?

Коригуйте системний промпт, налаштування креативності та вміст бази знань на основі того, що спостерігаєте. Prompt engineering для персонажа є ітеративним. Невеликі зміни формулювань можуть суттєво впливати на те, як модель інтерпретує персонажа.

Запуск кількох персонажів на одному сервері

Якщо вашому серверу потрібні кілька рольових персонажів (наприклад, різні NPC у кампанії), у вас є два варіанти:

  1. Кілька агентів Quickchat AI: створіть окремого AI-агента для кожного персонажа, кожного з власним токеном бота Discord і застосунком. Кожен бот відображається в Discord як окремий користувач.
  2. Один агент із перемиканням персонажів: використовуйте одного агента із системним промптом, який визначає кілька персонажів і наказує AI перемикатися залежно від контексту або команд. Це простіше в керуванні, але узгодженість персонажів може погіршуватися за великої кількості персон.

Для більшості серверів рольової гри варіант 1 дає кращі результати, оскільки кожен персонаж має власний виділений контекст і базу знань.

Поширені проблеми та виправлення

Персонаж виходить з образу після кількох повідомлень: системний промпт може бути надто розмитим. Додайте конкретніші правила поведінки та приклади діалогу. Додавання “За жодних обставин ти ніколи не маєш виходити з образу” як явної інструкції допомагає з більшістю моделей.

Відповіді надто короткі або надто довгі: скоригуйте системний промпт, щоб указати бажану довжину відповіді. Наприклад: “У невимушеній розмові твої відповіді мають складатися з 2-4 речень, а під час драматичних сцен, з 1-2 абзаців.”

Бот відповідає на повідомлення, які має ігнорувати: у Discord бот Quickchat AI відповідає, коли його згадують через @mention. Користувачі можуть продовжити розмову всередині треду без повторної згадки бота. Якщо ви хочете, щоб бот відповідав лише в певних каналах, керуйте цим через дозволи каналів Discord, обмежуючи, де бот може читати повідомлення.

Відповіді з бази знань переважають голос персонажа: якщо бот починає звучати як FAQ-система, відповідаючи на запитання про лор, скоригуйте системний промпт, щоб підкреслити, що вся інформація має подаватися в образі. Наприклад: “Коли ти ділишся знаннями про світ, описуй це зі свого особистого досвіду, а не як фактичну довідку.”

Конфіденційність і міркування щодо контенту

Рольові розмови можуть містити чутливий або особистий творчий контент. Варто пам’ятати кілька речей:

  • Повідомлення, надіслані до AI, обробляються базовим провайдером LLM. Перегляньте політики зберігання даних цього провайдера.
  • Quickchat AI не використовує дані розмов для навчання моделей. Докладніше див. у політиці конфіденційності.
  • Установіть чіткі правила сервера щодо того, які типи рольового контенту дозволені. AI дотримуватиметься своєї політики щодо контенту незалежно від інструкцій користувача, тому деякі типи контенту можуть бути відхилені.
  • Якщо вам потрібен повний контроль над обробкою даних, розгляньте самостійне розміщення моделі замість використання керованого сервісу.

Додаткові матеріали