技術サポートフォーラム向けのサポートボットに関するアドバイス(Discourse AI対Discourse Chatbot)

いくつかのトピックをざっと確認した結果、私が学んだことと推奨事項をまとめました。

このサイトは、Surety ホームセキュリティシステムのサポート用です。

Discourse フォーラムで使用される AI の目的は (参考) 以下の通りです。

  • 技術サポートフォーラムにおいて、人間のサポートチームを補完すること。
  • フォーラムの過去のデータから学習すること。
  • サポートを提供するためのドメイン知識を備えること。
  • トピックに関連する質問に対してのみ回答を試みること。
  • ユーザーがボットに回答を中止し、人間による対応を待つよう指示できる機能を提供すること(ボットが役立っていないと感じた場合)。

また、Ryan からの質問の一部を以下に挙げます。

  • これらは自動的に過去のフォーラムデータから学習したり、微調整したりしますか?
  • すでに賢い人々が行った作業を重複させないこと。
  • ボットが一般的なトピック外の会話に参加しないように、関与するトピックを制限すること。
  • 元の Discourse Chatbot は長期的に開発・維持される予定ですか?
  • それとも、公式プラグイン内の AI ボットに最終的に置き換えられるか、統合される予定ですか?

以下は、私が試したサイトのバージョンで現在有効になっている Discourse AI ボットに投げた投稿された質問と、ChatGPT からの回答です。

質問

IQP4 に PowerG からの有線接続があります。有線センサーは動作しています。ベル/サイレンのテストを行いたいのですが、IQP4 でそのオプションが見つかりません。パネル上でサイレンをテストすると、IQ Remote とともに音が鳴りますが、有線のベルは鳴りません。アラームをトリップさせないと、有線のサイレンは鳴りません。

PowerG からの有線接続のベルを IQP4 からテストする方法はありますか?


以下は、GPT-4 を使用した Discourse AI ボットによる返信です。

あなたの課題に役立つ関連トピックをフォーラムで見つけました。

トピック Test wired bell on PowerG to hardwire? では、ユーザーが IQP4 から PowerG 有線接続のベルをテストするオプションが見つからないという同様の問題を抱えていました。

解決策の可能性を確認するために、このトピックをご覧ください。まだ質問がある場合や追加のサポートが必要な場合は、お気軽にお尋ねください。


以下は、GPT-3.5 を使用した Discourse AI ボットによる返信です。

Surety サポートフォーラムで、IQ パネル 4 (IQP4) を使った PowerG 有線接続のベルのテストについて議論しているトピックを見つけました。トピックはこちらです。

トピック内で、ユーザーは IQP4 自体でベル/サイレンをテストするオプションが見つからなかったと述べています。ただし、パネル上でサイレンをテストしたところ、IQ Remote とともに音が鳴りました。一方、有線のベルはアラームがトリップされない限り鳴りませんでした。

より詳細な情報や、他のユーザーから提供された解決策や提案を確認するために、そのトピックをご覧ください。


Discourse AI の GPT-4 ボットと GPT-3.5 ボットの両方が、同じトピックを見つけました。



以下は、ChatGPT による返信です。

私の学習データは 2022 年 1 月までのものであるため、IQ パネル 4 の最新ソフトウェアバージョンや機能に関する具体的な情報は持っていません。ただし、アラームシステムのテストに関する一般的な原則に基づき、PowerG に接続された有線サイレンをテストするためのいくつかの提案を以下に示します。

  1. システムテストモード:

    • アラームパネルに「システムテスト」または「ウォークテスト」モードがあるか確認してください。このモードは、実際のアラームイベントをトリガーせずにセンサーやアラームをテストするために設計されています。パネルにこの機能があれば、フルアラームを発生させずにサイレンをテストできるはずです。
  2. 出力制御:

    • アラームパネルの設定に「出力制御」または「補助出力」オプションがないか探してください。この機能により、テスト目的でサイレンなどの出力を手動でトリガーできる場合があります。
  3. ゾーンバイパス:

    • 一部のシステムでは、テスト中に特定のゾーンをバイパスできます。有線サイレンが特定のゾーンに関連付けられている場合、テストのためにそのゾーンをバイパスできるかもしれません。
  4. ユーザーマニュアル:

    • IQ パネル 4 に同梱されたユーザーマニュアルまたはドキュメントを参照してください。アラームシステムのさまざまなコンポーネントをテストおよび制御する方法に関する具体的な手順が記載されているはずです。
  5. 技術サポート:

    • 自分で解決策が見つからない場合は、メーカーの技術サポートに連絡することを検討してください。彼らは、システム固有の機能と能力に基づいたガイダンスを提供できます。
  6. パネルソフトウェアの更新:

    • IQ パネル 4 に利用可能なソフトウェア更新がないか確認してください。メーカーは新しい機能を追加したり問題を解決したりするために更新をリリースすることが多く、サイレン用の特定のテストモードが含まれている可能性があります。

実際のアラームイベントを誤ってトリガーしないよう、テスト中は注意してください。手順に不明点がある場合は、常にユーザーマニュアルを参照するか、技術サポートに連絡して助言を得ることをお勧めします。

明らかに、ChatGPT の方がより詳細な回答を提供しています。この理由については、後ほどトピック内で詳しく説明します。


注:Merefield による Discourse AI プラグイン (カード) (GitHub) にはアクセスできませんが、同じ質問に対する応答をここで比較して見ることができれば素晴らしいでしょう。:slightly_smiling_face:




以下は私のフィードバックです。

これらのボットの AI は LLM(大規模言語モデル)に基づいており、知識は学習セットによって制限されています。また、ボットは RAG(検索拡張生成)を使用して、フォーラム内のトピックにアクセスすることで知識を補強しています。

ボットは通常、ユーザーからの LLM API へのリクエストであるユーザープロンプトではなく、システムプロンプト(ペルソナと考えられるもの)を使用します。

その違いを ChatGPT に説明させましょう。

ChatGPT

システムプロンプトとは何ですか?ユーザープロンプトとの違いは何ですか?

回答

システムプロンプトとユーザープロンプトは、言語モデルや GPT-3.5 などの会話型 AI システムの文脈でよく使われる用語です。両者の違いを明確にします。

  1. ユーザープロンプト:

    • ユーザープロンプトは、人間が AI システムとの会話を開始したり、情報をリクエストしたりするために提供する入力です。
    • 人が AI モデルと対話するためにタイプまたは発話するテキストまたはクエリです。
    • 例えば、チャットボットや言語モデルを使用する場合、質問を投げかけたり発言したりする入力がユーザープロンプトになります。
  2. システムプロンプト:

    • システムプロンプトは、会話の文脈を設定したり、AI モデルの行動を誘導したりするために、AI モデルに最初に与えられる入力または指示です。
    • AI に応答を生成するための出発点や文脈を提供するために使用されます。
    • システムプロンプトは、AI の応答のトーン、スタイル、または内容を形作り、モデルの行動を導く一種の指示として機能します。
    • ユーザープロンプトがユーザーの質問や発言に特化しているのに対し、システムプロンプトは会話全体に対する一般的な文脈や指示を与えるものです。

GPT-3.5 や同様の言語モデルの場合、会話は通常、システムプロンプトに続いてユーザープロンプトが継続的に交換される形で始まります。システムプロンプトは会話全体を通じてモデルの応答に影響を与えますが、モデルの出力を決定するのはシステムプロンプトとユーザープロンプトの組み合わせです。


ボットがより具体的な回答を提供できない理由は、それらの知識ベースにこれらの製品に関するユーザーマニュアルや設置手順などが欠けているためです。さらに、ボットは配線図や設置マニュアルで使用されている画像や図などのドキュメントから画像を抽出できないことが多いです。

まず、RAG を使用して、ドキュメントのテキストのみであっても、AI の知識を可能な限り拡張すべきです。Discourse AI ボットはフォーラム内のすべてのトピックに対して RAG を使用できますが、外部情報の追加を許可しているかどうかはわかりません。もし許可されていない場合、すべてのドキュメントを PDF として(おそらく非表示の)カテゴリにインポートするというアイデアがあります。そうすれば、Discourse のコードがフォーラム内にあるためアクセスしやすくなり、Langchain を使用して PDF にアクセスできます (参考)。

これにより知識が追加されれば、システムプロンプトを調整して返信を改善できますが、それでもあなたが求めているものとは程遠いでしょう。依然として、最初の回答のように情報への参照はあっても、必要な場合にステップバイステップの指示がないような返信が来る可能性が高いです。また、AI の返信に対してフィードバックを与えても、AI がそれをフィードバックとして認識する方法もありません。つまり、ユーザーがボットに対して何か間違っていると返信しても、ボットはその返信を読み取ることはできても、それに基づいて知識を更新する必要があるとは理解しません。

返信の品質を向上させるために、3 つの考えが浮かびます。

  1. HyDE(仮説的ドキュメント埋め込み)の利用

Luyu Gao, Xueguang Ma, Jimmy Lin, Jamie Callan による「Precise Zero-Shot Dense Retrieval without Relevance Labels」(PDF

私は実際に Discourse (参考) で HyDE を知り、彼らがこれを使用していることを知っています。

  1. RLHF(人間のフィードバックからの強化学習)。両方のボットがこの機能を持っているとは思いませんが、Discourse がこれを検討しているかもしれません。もし共有する意図があれば、彼らのフィードバックを聞きたいです。

  2. RLHF を用いた合成データ。これは本当に最先端であり、どちらのボットも実装するとは期待していません。

LLM を訓練する最も実証され、成功している方法の一つは、LLM 自身に訓練させることですが、結果が良くなったか悪くなったかを知るための指標が必要です。あなたのサイトの場合、AI からの解決策が優れているか劣っているかを知る現在の唯一の方法は、人間がその解決策を評価することです。より多くの質問と解決策のラウンドを得るために、AI が質問を生成し、別の AI が解決策を生成し、その解決策を測定して、解決策を生成する AI を改善するために使用します。


ボットがユーザーを支援する能力を向上させるためには、医療従事者が診断と予後を行う際と同様に、一連の質問を行って情報を収集し、問題をよりよく理解する必要があります。

もう一つの選択肢は、Microsoft Copilot のような、AI ボットからアクセス可能な類似の技術を検討することです。

あなたが要求または指摘しなかったが価値のある項目として、ソースへの参照があります。これが重要な理由は、AI の生成が幻覚(ハルシネーション)ではないかを確認するためです。参照が含まれている場合、それが幻覚ではなく実際の参照であれば、その参照がマニュアルなどの権威あるソースからのものであるかを確認でき、幻覚ではないと判断できます。RAG を使用すれば参照を追加するのは容易であり、期待されるべきです。


さて、あなたの具体的な目標に対応します。

技術サポートフォーラムにおいて、人間のサポートチームを補完すること。

これは質問というより声明なので、質問として回答しません。

フォーラムの過去のデータから学習すること。

これは実際には私が分割したより大きな声明の一部でした。分割した理由は、フォーラム内の過去のデータが価値あるものであるという点では正しいですが、マニュアルなどの基礎知識も必要だからです。現在のボットはフォーラムの投稿に対して RAG を使用していますが、外部データにアクセスする方法は持っていないようです(AFAIK)。

トピックに関連する質問に対してのみ回答を試みること。

これはシステムプロンプトを調整することで達成できます。これには Discourse AI ポスト分類器 - 自動化ルール の技術も一部必要になります。

ユーザーがボットに回答を中止し、人間による対応を待つよう指示できる機能を提供すること(ボットが役立っていないと感じた場合)。

これもシステムプロンプトを調整することで達成できます。

これらは自動的に過去のフォーラムデータから学習したり、微調整したりしますか?

良い質問です。以前にこの問題を解決する方法に触れましたが、これは実際には見た目よりもはるかに難しい質問です。ただし、大規模な LM 研究者はこの分野で大きな進歩を遂げており、今後数ヶ月以内にこれを大幅に容易にする興味深い発表があるかもしれません。

すでに賢い人々が行った作業を重複させないこと。

これは、LLM が既知の知識から逸脱しないようにするという意味と解釈します。これは、モデルが新しい知識に対してどのように訓練されるかに依存します。モデルを悪化させることも、モデルに「忘却」させることも難しい可能性があります。AFAIK、Discourse AI のどちらのボットも、LLM の重みを変更する学習機能は持っていませんが、トピックの投稿に対して RAG を使用する機能は持っています。したがって、悪いトピック投稿(ゴミ)を入力すると、ゴミ出力になります。

ボットが一般的なトピック外の会話に参加しないように、関与するトピックを制限すること。

これは Discourse AI ポスト分類器 - 自動化ルール と同様です。

元の Discourse Chatbot は長期的に開発・維持される予定ですか?

これは Discourse スタッフにお任せします。

それとも、公式プラグイン内の AI ボットに最終的に置き換えられるか、統合される予定ですか?

これも Discourse スタッフにお任せします。

「いいね!」 6