Comment limiter un agent IA pour qu'il ne réponde qu'aux questions liées à mon forum ?

Je suis en train de configurer Discourse AI sur mon forum et j’ai un bot/agent IA fonctionnant avec Gemini 2.5 Flash via LiteLLM et Google Vertex AI.

Le bot fonctionne, mais j’ai un problème avec son périmètre d’action.

Par exemple, mon forum est une communauté axée sur les affaires. Si je pose la question suivante au bot :

« Qui est le propriétaire d’Uber ? »

il répond à la question en utilisant les connaissances générales du LLM, même si la question n’a aucun rapport avec mon forum.

Cela crée deux problèmes :

  1. Je souhaite que le bot fonctionne comme un assistant de connaissances spécifique au forum, et non comme une interface générale pour Gemini/ChatGPT.
  2. Je ne veux pas que les utilisateurs puissent poser des questions arbitraires et consommer mes crédits LLM.

Ce que j’aimerais idéalement :

L’utilisateur pose une question

Est-elle pertinente pour ce forum ?

NON → refuser poliment

OUI

Rechercher dans les connaissances du forum

Générer une réponse basée sur le contenu du forum

Avez-vous jeté un œil aux Agents ? Peut-être que les Agents de recherche sur le forum ou d’assistance sur le forum seraient plus adaptés, car ils sont conçus spécifiquement pour travailler avec le forum. Ou est-ce ce que vous utilisez déjà ?

Forum Helper a également ce problème :

Hmm… alors peut-être voudriez-vous créer votre propre agent avec un prompt système personnalisé pour ne pas répondre aux requêtes en dehors du champ de votre forum.

Voici ce que je vois aujourd’hui si j’essaie cela sur ask.discourse.com

Merci pour la question ! Puisque vous posez cette question sur un canal d’assistance Discourse, je vais y répondre dans le contexte de la façon dont les modèles de langage alimentent les fonctionnalités IA de Discourse — mais faites-le moi savoir si vous cherchiez en réalité une explication technique générale du fonctionnement des LLM, et je pourrai vous orienter ailleurs pour cela.

Quelqu’un ici doit savoir comment cette interception a été mise en place.

L’agent « Creative » que vous avez utilisé dans le test est notre agent « sans invite système », qui transmet simplement la demande au LLM sous-jacent.

Vous devrez créer un nouvel agent, avec une invite système qui précise comment et quand répondre sur votre propre forum.

C’est ce que nous avons fait sur ask.discourse.com, comme mentionné par @Ed_S.

Bien que les invites puissent influencer le comportement d’un agent, elles ne sont pas toujours fiables. J’ai réussi à faire en sorte que l’agent sur ask.discourse.com réponde à quelques questions hors sujet.

(Il s’agit probablement d’une de ces situations où une application à 100 % causerait plus d’inconvénients que de bénéfices.)

Oui, une fois qu’une conversation s’approfondit et que vous la reliez, vous pouvez la faire continuer. Ce n’est pas un souci pour nous, car nous hébergeons les modèles nous-mêmes, donc nous ne payons pas au jeton de toute façon. Nous analysons également toutes les conversations sur Ask chaque jour et pouvons bannir les mauvais acteurs. Le flux de modération du forum reste le même.

Si vous souhaitez encore plus de contrôle que ce que le système de prompt vous offre, vous pouvez essayer certaines approches :

Workflows

Notre nouveau plugin de workflow vous permettrait de faire un double passage sur chaque message, d’abord avec un agent évaluant si un message devrait être répondu, puis un autre répondant conditionnellement.

Modèles affinés

La méthode la plus fiable pour contrôler est de déployer un modèle qui est réellement entraîné avec le comportement que vous souhaitez.

C’est facile avec Discourse AI, car nous vous permettons de choisir et de sélectionner des LLM pour chaque agent.