Розробка AI-бота для Discord на базі LLM

Готові боти впираються в ліміти й не знають специфіки вашої спільноти. Ми розробляємо AI-бота Discord на базі мовних моделей під ключ: він бере на себе модерацію, відповіді та підтримку учасників, знижуючи навантаження на команду. Обговоримо задачу — повернемося з оцінкою та планом.
Часті запитання

AI-бот Discord: чому готові рішення впираються в ліміти

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

Щойно каналів стає більше, а активність зростає, з'ясовується, що контекст зберігається в пам'яті процесу — рестарт або переїзд на другий інстанс обнуляє історію, і бот починає перепитувати те, що обговорювали п'ять хвилин тому.

Друга межа — навантаження на бота під час піків. Масовий івент, реліз або розіграш збирають сотні одночасних повідомлень, і коробкове рішення або йде в чергу із затримкою в десятки секунд, або зривається в помилки.

Модерація при цьому сліпне: спам-хвилю та рейди відбивати нічим, бо правила зашиті в шаблон і не враховують ні ролі, ні історію учасника.

Третій шар — ролі та права. Готовий бот бачить учасників плоско: він не розрізняє модератора, партнера й новачка, тому або відповідає всім однаково, або вимагає ручного налаштування під кожну гілку.

Ліміти готових ботів обертаються для спільноти передбачувано: відповіді втрачають зв'язність, зростає час реакції, а команда модерації витрачає сили на те, що має закриватися автоматично.

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

Що дає AI-бот Discord на базі LLM: режими та ефект

Де рахувати відповідь, а де тримати правила

Хмарна модель дає кращий текст на складних питаннях: відповідь на розгорнутий запит учасника збирається за 1-2 секунди, а частка звернень, закритих без модератора, сягає 70-80%.

Обмеження — затримка мережі та зовнішній контур: чутливі повідомлення йдуть назовні, а при недоступності провайдера бот мовчить. Тому в хмару відправляємо лише ті репліки, що пройшли фільтр приватності.

Локальна модель на власному залізі знімає питання витоку і працює без зовнішніх залежностей, але потребує ресурсів під інференс і дає відповідь на 2-4 секунди довше.

Гібридна схема бота закриває обидва сценарії: типові запити та модерація обробляються локально, складні — йдуть у хмару. Це прибирає клас відмов «провайдер недоступний» і тримає швидкість відповіді бота в межах 1-3 секунд на 90% повідомлень.

Що вирішує правила, а що модель

Модерація спільноти на самих правилах ловить явні порушення — посилання, капс, стоп-слова — за частки секунди і без витрат на інференс. Але вона пропускає замасковані образи та контекстні провокації.

LLM-шар поверх правил додає оцінку тональності та сенсу: частка хибних спрацювань падає в рази, а спірні випадки йдуть у чергу на ручну перевірку.

Варіант Коли підходить Обмеження
Хмарна модель Складні діалоги, швидкий старт Дані йдуть назовні, залежність від мережі
Локальна модель Приватність, закритий контур Потрібні ресурси під інференс, відповідь повільніша
Гібрид Змішане навантаження, модерація + підтримка Складніше в налаштуванні та моніторингу
Тільки правила Прості фільтри, антиспам Не розуміє сенс, багато хибних спрацювань

LangChain використовуємо як шар оркестрації: він зв'язує правила, виклик моделі та логування в один потік, тому зміна моделі не переписує логіку бота.

Як ми впроваджуємо AI-бота: етапи інженерної роботи

Впровадження AI-бота в Discord починається не з коду, а з аналізу того, як живе ваша спільнота: які канали перевантажені однотипними питаннями, де губляться новачки, які теми модерація закриває вручну.

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

Далі робота йде за етапами, кожен з яких закінчується перевірюваним результатом.

  1. Аудит спільноти Discord. Дивимося структуру каналів, ролі та права, потік повідомлень, типові питання та скарги. На виході — карта сценаріїв: що автоматизуємо, що залишаємо людям.
  2. Проєктування схеми бота. Визначаємо ролі бота, точки входу, логіку відповідей, правила ескалації на модератора та зберігання контексту діалогу. Фіксуємо, які дані бот бачить і які не зберігає.
  3. Складання та налаштування. Підключаємо модель, налаштовуємо поведінку під ваш тон спілкування та правила сервера, обмежуємо теми, де бот не повинен відповідати самостійно.
  4. Тестування під навантаженням. Проганяємо сценарії на реальному обсязі повідомлень і пікових сплесках, перевіряємо час відповіді та поведінку при збоях. Окремо дивимося, як бот поводиться на провокаціях і спробах обійти обмеження.
  5. Пілот на обмеженому каналі. Запускаємо на частині сервера, збираємо зворотний зв'язок від модераторів і учасників, правимо формулювання та пороги спрацювання.
  6. Розгортання та моніторинг. Виводимо бота на весь сервер, налаштовуємо оповіщення про помилки та журнал діалогів, щоб бачити, де він не справляється.
  7. Передача документації. Віддаємо інструкції з управління, налаштування сценаріїв і ролей, щоб команда могла змінювати поведінку бота без нас.

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

Чим відрізняється бот на правилах від бота на мовній моделі?

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

AI-бот Discord на мовній моделі працює інакше: запит іде в модель разом із системною інструкцією та контекстом діалогу, а відповідь збирається під формулювання користувача, а не під заздалегідь заготовлену гілку. Тому «скільки коштує квиток» і «а якщо я запізнюся на рейс» обробляються одним і тим самим шляхом.

Передбачуваність — головний аргумент за правила і головна причина, через яку від них відходять. Дерево дає однакову відповідь завжди, але кожне нове «а що якщо» — це правка коду і новий реліз.

У моделі поведінка задається інструкцією та набором знань: щоб бот почав відповідати на нову тему, достатньо оновити базу та правила тону, без переписування логіки.

Підтримка бота на правилах зростає лінійно разом із числом сценаріїв, підтримка LLM-бота — разом із якістю даних, на яких він відповідає.

Якість відповідей на нестандартних запитах — те, де правила програють структурно. Користувач пише з одруками, упереміш з емодзі, двома мовами в одному повідомленні, ставить питання в три ходи. Регулярка таке не ловить, а модель витягує сенс і відповідає по суті.

Зворотний бік — варіативність: одне й те саме питання може отримати різні формулювання, і це потрібно обмежувати інструкцією, температурою та перевіркою відповіді перед відправленням.

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

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

Що це дає за метриками: частка запитів, закритих без оператора, зазвичай зростає в рази проти дерева сценаріїв, а час на додавання нової теми падає з релізу до правки інструкції.

Окремо закладаємо журналювання діалогів і розбір невдалих відповідей — без цього якість моделі не зростає, а деградує непомітно.

Кейс: як AI-бот Discord зняв навантаження з модераторів

Спільнота розробників на Discord жила з класичною проблемою: три модератори вручну розбирали потік повідомлень, а час реакції на порушення вимірювався десятками хвилин.

Пік навантаження припадав на нічні години та вихідні — саме тоді, коли команда недоступна, а спам-хвилі та токсичні гілки розросталися до того, що чистити доводилося вже десятки повідомлень.

AI-бот Discord на базі LLM закрив першу лінію: він читає контекст гілки, а не окремі слова, і вирішує, чи потрібна ескалація на людину.

Що було до впровадження

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

Хибні спрацювання на технічному сленгу з'їдали час сильніше, ніж реальні порушення — модератор витрачав сили на розбір хибних тривог, а не на живі конфлікти.

Що змінили

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

Окрема логіка на частотні сплески: якщо один автор за коротке вікно пише серію однотипних повідомлень, гілка йде на перевірку цілком, а не по одному повідомленню. Усі рішення бот пише в журнал із причиною — модератор бачить, чому спрацювало блокування, і може оспорити.

Варіант Коли підходить Обмеження
Правила та стоп-слова Стабільний словник порушень, мінімум креативу Не ловить перефраз, багато хибних спрацювань на сленгу
Класичний класифікатор Є розмічений датасет під тематику Потребує перенавчання при зміні поведінки аудиторії
LLM з порогами та ескалацією Жива мова, мінливий контекст, потрібна причина рішення Потрібен контроль порогів і журнал для розбору спірних випадків

Що стало за метриками

Частка звернень, закритих автоматично без участі людини, зросла з 18% до 71%. Час реакції на порушення скоротився з 40+ хвилин до 15-20 секунд — бот реагує в момент публікації, а не коли черговий відкриє канал.

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

Логіку оцінки та пороги ми зібрали на OpenAI API — модель віддає не лише вердикт, а й обґрунтування, що робить розбір апеляцій передбачуваним.

Що далі

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

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

Сумніви перед стартом: доступи, міграція, відкат

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

Це нормальні інженерні сумніви, і закриваються вони не обіцянками, а тим, як влаштований процес: окремий тестовий сервер, обмежені права в облікового запису бота, поетапне вмикання функцій і заздалегідь прописаний план відкату.

Що якщо бот почне помилково блокувати учасників?

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

Відкат — перемикання на попередню конфігурацію або повне вимкнення бота однією командою, історія рішень зберігається для розбору.

Що якщо в нас уже є бот і своя історія повідомлень? Міграція планується окремим етапом: переносимо конфігурацію та правила, зберігаємо доступи й ролі, перевіряємо поведінку на копії сервера до перемикання основного.

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

Після здачі у вас на руках залишається:

  • конфігурації бота з описом кожного параметра та значень за замовчуванням;
  • схема архітектури: як бот пов'язаний з моделлю, сховищем і зовнішніми сервісами;
  • політики модерації — правила, пороги спрацювання та список винятків;
  • документація щодо бота: запуск, оновлення, читання логів, типові збої та реакція на них;
  • план відкату з покроковими діями та точками повернення;
  • інструкція щодо доступів до сервера Discord: які ролі та дозволи видані й навіщо;
  • набір тестових сценаріїв для перевірки після будь-яких змін.

Опишіть задачу та поточну інфраструктуру — повернемося з оцінкою, планом міграції та точками відкату.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142