Como posso restringir um agente de IA para responder apenas a perguntas relacionadas ao meu fórum?

Estou configurando o Discourse AI em meu fórum e tenho um Bot/Agente de IA funcionando com Gemini 2.5 Flash via LiteLLM e Google Vertex AI.

O bot está funcionando, mas tenho um problema com seu escopo.

Por exemplo, meu fórum é uma comunidade focada em negócios. Se eu perguntar ao bot:

“Quem é o dono da Uber?”

ele responde à pergunta usando o conhecimento geral do LLM, mesmo que a pergunta não tenha nada a ver com meu fórum.

Isso cria dois problemas:

  1. Quero que o bot funcione como um assistente de conhecimento específico do fórum, e não como uma interface geral do Gemini/ChatGPT.
  2. Não quero que os usuários possam fazer perguntas arbitrárias e consumir meus créditos de LLM.

O que eu gostaria idealmente seria:

O usuário faz uma pergunta

Ela é relevante para este fórum?

NÃO → recusar educadamente

SIM

Pesquisar no conhecimento do fórum

Gerar resposta com base no conteúdo do fórum

Você já deu uma olhada nos Agentes? Talvez os Agentes de Pesquisa do Fórum ou de Assistência no Fórum sejam uma opção melhor, já que eles são ajustados para trabalhar especificamente com o fórum. Ou será que já é isso que você está usando?

O Assistente do Fórum também tem esse problema:

Hmm… então talvez você queira criar seu próprio agente com um prompt de sistema personalizado para não responder a consultas fora do escopo do seu fórum.

Aqui está o que vejo hoje se eu tentar isso no ask.discourse.com

Obrigado pela pergunta! Como você fez a pergunta em um canal de suporte do Discourse, responderei no contexto de como os modelos de linguagem alimentam os recursos de IA do Discourse — mas me avise se você realmente quis uma explicação técnica geral de como os LLMs funcionam, e posso te indicar outro lugar para isso.

Alguém por aqui deve saber como essa pegadinha foi feita.

O agente “Criativo” que você usou no teste é nosso agente “sem prompt do sistema”, que apenas encaminha a solicitação para o LLM subjacente.

Você precisará criar um novo agente, com um prompt do sistema que especifique como e quando responder no seu próprio fórum.

Foi isso que fizemos no ask.discourse.com, conforme mencionado por @Ed_S.

Embora os prompts possam influenciar o comportamento de um agente, eles nem sempre são confiáveis. Consegui enganar o agente em ask.discourse.com para que ele respondesse a algumas perguntas fora do tema.

(Provavelmente, esta é uma daquelas situações em que a aplicação rigorosa a 100% causaria mais inconveniências do que benefícios.)

É, depois que uma conversa fica profunda e você a encadeia, você consegue fazê-la continuar. Não é uma preocupação para nós, já que hospedamos os modelos nós mesmos, então não pagamos por token de qualquer maneira. Também analisamos todas as conversas no Ask diariamente e podemos banir qualquer agente mal-intencionado. O fluxo de moderação do fórum continua o mesmo.

Se você quiser ainda mais controle do que o que o prompt do sistema oferece, você pode tentar algumas abordagens:

Workflows

Nosso novo plugin de workflow permitiria que você fizesse uma verificação em duas etapas em cada mensagem, primeiro com um agente avaliando se uma mensagem deveria ser respondida, depois outro respondendo condicionalmente.

Modelos ajustados finamente

A maneira mais segura de controlar é implantar um modelo que seja realmente treinado com o comportamento que você deseja.

Isso é fácil com o Discourse AI, pois permitimos que você escolha e selecione LLMs para cada agente.