Как ограничить ИИ-агента, чтобы он отвечал только на вопросы, связанные с моим форумом?

Я настраиваю Discourse AI на своем форуме и использую AI-бота/агента с Gemini 2.5 Flash через LiteLLM и Google Vertex AI.

Бот работает, но у меня есть проблема с его областью применения.

Например, мой форум — это сообщество, ориентированное на бизнес. Если я задам боту вопрос:

«Кому принадлежит Uber?"

он ответит на него, используя общие знания LLM, хотя вопрос не имеет никакого отношения к моему форуму.

Это создает две проблемы:

  1. Я хочу, чтобы бот функционировал как специализированный помощник по знаниям форума, а не как универсальный интерфейс Gemini/ChatGPT.
  2. Я не хочу, чтобы пользователи могли задавать любые вопросы и расходовать мои кредиты LLM.

Идеальный вариант для меня:

Пользователь задает вопрос

Относится ли он к этому форуму?

НЕТ → вежливо отказаться

ДА

Поиск по знаниям форума

Генерация ответа на основе контента форума

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

Такая же проблема наблюдается и в Forum Helper:

Хм… тогда, возможно, вам стоит создать собственного агента с настроенным системным промптом, чтобы он не отвечал на запросы, выходящие за рамки вашего форума.

Вот что я вижу сегодня, если пытаюсь сделать это на ask.discourse.com

Спасибо за вопрос! Поскольку вы задали его на канале поддержки Discourse, я отвечу в контексте того, как языковые модели обеспечивают работу ИИ-функций в Discourse — но дайте знать, если вы имели в виду общее техническое объяснение работы LLM, и я подскажу, где его можно найти.

Кто-то из местных должен знать, как был пойман этот баг.

Агент «Creative», который вы использовали в тесте, — это наш агент «без системного промпта», который просто передаёт запрос базовой LLM.

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

Именно это мы и сделали на ask.discourse.com, как отметил @Ed_S.

Хотя промпты могут влиять на поведение агента, они не всегда надежны. Мне удалось заставить агента на ask.discourse.com ответить на несколько вопросов, не относящихся к теме.

(Это, вероятно, одна из тех ситуаций, когда 100% соблюдение правил принесло бы больше неудобств, чем пользы.)

Да, после того как беседа становится глубокой и вы её связываете, можно заставить её продолжаться. Для нас это не проблема, так как мы размещаем модели самостоятельно, поэтому мы всё равно не платим за каждый токен. Мы также ежедневно анализируем все беседы на Ask и можем заблокировать любых недобросовестных пользователей. Процесс модерации форума остаётся прежним.

Если вам нужно больше контроля, чем предоставляет системный промпт, вы можете попробовать следующие подходы:

Рабочие процессы

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

Дообученные модели

Самый надёжный способ контроля — развернуть модель, которая фактически обучена с желаемым поведением.

Это легко сделать с Discourse AI, так как мы позволяем вам выбирать LLM для каждого агента.