AIエージェントをフォーラムに関連する質問のみ回答するように制限するには?

私は自分のフォーラムで Discourse AI を設定しており、LiteLLM と Google Vertex AI を介した Gemini 2.5 Flash を使用して AI ボット/エージェントを動作させています。

ボットは動作していますが、その範囲(スコープ)に問題があります。

例えば、私のフォーラムはビジネスに特化したコミュニティです。もしボットに以下のように質問した場合:

「Uber のオーナーは誰ですか?」

ボットは、その質問が私のフォーラムとは無関係であるにもかかわらず、LLM の一般的な知識を用いて回答します。

これにより、2つの問題が生じます。

  1. ボットを汎用的な Gemini/ChatGPT インターフェースではなく、フォーラム固有の知識アシスタントとして機能させたいです。
  2. ユーザーが任意の質問をして、私の LLM クレジットを消費したくありません。

理想的には、以下のようなフローを実現したいと考えています:

ユーザーが質問する

このフォーラムに関連しているか?

いいえ → 丁寧にお断りする

はい

フォーラム内の知識を検索

フォーラムの内容に基づいて回答を生成する

エージェントはご覧になりましたか? フォーラムリサーチャーやフォーラムヘルパーエージェントは、特にフォーラムでの作業に最適化されているため、より適しているかもしれません。それとも、すでにそれらを使用していますか?

Forum Helper にも同様の問題があります:

うーん…それなら、フォーラムの範囲外の質問には応答しないよう、カスタマイズされたシステムプロンプトを備えた独自のエージェントを作成したいかもしれませんね。

ask.discourse.com でこれを試した場合、今日私が目にするのは以下の通りです。

ご質問ありがとうございます!Discourse のサポートチャネルで質問していただいたため、言語モデルが Discourse の AI 機能をどのように駆動しているかという文脈で回答します。ただし、LLM がどのように動作するかという一般的な技術的な説明を意図されていた場合は、お知らせください。その場合は、別の情報源をご案内できます。

ここにいる誰かが、その引っ掛けがどのように設定されたのか知っているはずです。

テストで使用した「Creative」エージェントは、システムプロンプトを使用しないエージェントで、リクエストを基礎となるLLMにそのまま渡すものです。

自分のフォーラムで、どのように、いつ回答すべきかを指定するシステムプロンプトを持つ新しいエージェントを作成する必要があります。

@Ed_S. が言及したように、ask.discourse.com でもそうしています。

プロンプトはエージェントの動作に影響を与え得ますが、必ずしも信頼できるわけではありません。私は ask.discourse.com のエージェントを騙して、いくつかのオフトピックな質問に答えることに成功しました。

(これはおそらく、100%の強制執行が利益よりも不便さを生み出すような状況の一つでしょう。)

うーん、会話が深くなり、連鎖すると、会話を続けることができます。私たちがモデルを自分でホストしているので、トークンごとに支払う必要はありません。また、Askで毎日すべての会話を分析し、悪意のあるアクターを禁止することもできます。フォーラムのモデレーションの流れはそのままです。

システムプロンプトが提供するよりもさらに多くの制御が必要な場合は、いくつかのアプローチを試すことができます。

ワークフロー

新しいワークフロープラグインを使用すると、すべてのメッセージに対して2パスを実行できます。まず、エージェントがメッセージに返信するべきかどうかを評価し、次に条件付きで返信します。

ファインチューニングされたモデル

制御を確実にする方法は、実際に望む動作で訓練されたモデルをデプロイすることです。

これはDiscourse AIで簡単に行うことができます。各エージェントに対してLLMを選択できます。