Discourse AI - Обнаружение спама

И он — пример того же спамера, которого здесь поймали: https://meta.discourse.org/t/full-list-of-quickbooks-desktop-support-contact-numbers-a-complete-call-center-in-the-usa/380776 (ссылка уже скрыта).

Эти ребята точно усердно работают.

1 лайк

Отличная работа над этой функцией. :raising_hands: Именно так я и хочу видеть применение ИИ.

Вопрос: когда новый пользователь TL0 отправляет ответ или тему, есть ли задержка, пока контент сканируется?

В встроенном тестере я вижу короткую задержку (скриншот ниже), но при публикации с тестового аккаунта аналогичной паузы нет. Сканирование в реальном времени происходит асинхронно после публикации, и пост скрывается только в случае срабатывания правила? (контекст: я использую API OpenAI ChatGPT 5.)

Кстати, счётчики AI > Spam & Stats увеличиваются как положено при использовании тестового аккаунта, значит пост действительно сканируется; просто он не создаёт такой же задержки, как кнопка Test.

image

Спасибо.

Всё работает неплохо, но что происходит, когда система помечает десятки тем или пользователей? Я не вижу способа массово забанить или удалить этих пользователей или посты.

Спасибо за подробную тему. На нашем экземпляре включено обнаружение спама с помощью Discourse AI, и мы наблюдаем, что по умолчанию происходит автоматическое заглушение, когда первый пост аккаунта помечается как спам.

Я понимаю, что это предназначено для блокировки спамеров, делающих один пост; однако это вызывает проблемы, так как одобрение/принятие жалобы приводит к тому, что пользователь остаётся заглушенным в тех случаях, когда мы хотим одобрить жалобу, но не заглушать пользователя. Было бы полезно иметь:

  1. кнопку «Согласиться и оставить заглушенным» и
  2. отдельную кнопку «Согласиться и снять заглушение».
2 лайка

Это сложный момент: мы не хотим парализовать людей выбором, но я полностью понимаю, что в масштабе это может стать проблемой.

Давайте я уточню у команды Enterprise XP — возможно, мы сможем внести небольшую кастомизацию для вашего форума.

1 лайк

Я опубликовал тестовый спам-тему в локальной среде разработки, но она автоматически не попала в очередь на модерацию.

Результат проверки ИИ действительно указывает на спам.

Также выполнены и другие условия для попадания в очередь на модерацию:

  1. Уровень доверия пользователя:

    • Сканируются посты пользователей с уровнем доверия 1 или ниже.

    • Исключаются посты пользователей с более высоким уровнем доверия.

  2. Тип поста:

    • Публичные посты (личные сообщения не включены).

    • Включая ответы и первые посты в темах, в зависимости от других пороговых значений.

  3. Редактирование постов:

    • Сканируются посты с существенными изменениями (например, изменение более 10 символов).

    • Между сканированиями одного и того же поста enforced задержка в 10 минут.

  4. Частота постов:

    • Приоритет отдается новым пользователям, опубликовавшим менее 4 постов в публичных темах.

    • Исключаются посты пользователей, превысивших этот порог.

Однако в итоге пост не попал в очередь на модерацию.

Что мне следует проверить, чтобы найти проблему?

Привет, @singi2016cn.

Вы имеете в виду, что проверили это с помощью инструмента тестирования?

Вы можете получить доступ к этому инструменту, следуя этим инструкциям:

  1. Войдите в учётную запись на вашем форуме с правами администратора.
  2. Перейдите на эту страницу на вашем форуме: /admin/plugins/discourse-ai/ai-spam
  3. Нажмите кнопку “Test…” на этой странице.
    Откроется диалоговое окно “Test spam detection”.
  4. Введите URL или ID вашего тестового спам-сообщения в поле “Post URL or ID” в диалоговом окне.
  5. Нажмите кнопку “Run test”.
2 лайка

Да, инструмент тестирования однозначно вернул «Спам», но когда я опубликовал тот же самый контент, он не попал в очередь на модерацию.

Кто это опубликовал? Вы использовали нового пользователя, созданного для тестирования, или, например, учётную запись с правами модератора?

Обычный пользователь, уровень доверия 1, не администратор и не модератор.

Вот набор пользовательских инструкций, который я использую для обнаружения спама. Он более подробный, чем стандартная версия, поэтому потребляет больше токенов. Какие наборы пользовательских инструкций используют другие для обнаружения спама?

## Краткий набор инструкций для обнаружения спама

Вы — система обнаружения спама, проверяющая сообщения на форуме.

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

Оцените:

* Содержимое сообщения
* Тип сообщения (ОТВЕТ ИЛИ НОВАЯ ТЕМУ)
* Контекст темы (для ответов)
* Сведения о сайте

---

### Классифицируйте как спам, если сообщение:

* Продвигает товары, услуги или внешние сайты без содержательного взаимодействия
* Содержит подозрительные, нерелевантные или множественные рекламные ссылки
* Использует нагромождение ключевых слов в стиле SEO или повторяющиеся шаблоны
* Выглядит автоматизированным, шаблонным или сгенерированным ботом
* Не имеет отношения к теме форума
* Для ОТВЕТОВ: игнорирует тему и вставляет нерелевантный контент

Сильные индикаторы спама включают:

* Партнерские/реферальные ссылки
* Фразы «купить сейчас», скидки или рекламный язык
* Контактная информация, не имеющая отношения к обсуждению
* Общее хвалебное сообщение + ссылка
* Структура копипаста
* Бессмысленный или сгенерированный ИИ текст

---

### НЕ классифицируйте как спам только потому, что:

* Пользователь новичок
* Английский язык использован с ошибками
* Сообщение короткое
* Тон восторженный
* В контексте упоминается релевантный товар или поставщик

Признаки легитимности включают:

* Конкретные отсылки к теме
* Техническое обсуждение, релевантное теме
* Искренние вопросы
* Личный опыт, связанный с темой форума

---

### Правило принятия решения

Если основная цель кажется рекламной, вредоносной или разрушительной → spam = true.
Если сообщение содержательно участвует в обсуждении → spam = false.

В случае сомнений, но при наличии нескольких красных флагов, приоритет отдавайте безопасности сообщества.

---

### Формат вывода

Верните только допустимый JSON:

{"spam": true или false, "reason": "Краткое объяснение (1–2 предложения)."}

Не включайте дополнительных комментариев.
1 лайк

На странице Администратор > Плагины > ИИ > СПАМ должен быть отчёт, отображающий детали сводной панели. Сводная панель показывает количество проанализированных сообщений, обнаруженных спамеров, а также ложные срабатывания и пропущенные случаи.

  • Существует ли где-то детальный отчёт, который я не нашёл?
  • Есть ли запрос в Data Explorer, предоставляющий детальную информацию на низком уровне?

Заранее спасибо.

Этот запрос предоставляет все детали

SELECT * FROM ai_spam_logs ORDER BY 1 DESC LIMIT 50
2 лайка