Discourse AI - AI選別

AI トリアージは、投稿の分類プロセスを自動化することにより、フォーラム投稿の管理とモデレーションを強化するように設計されています。

この機能が機能するには、discourse-automation および discourse-ai プラグインの両方が必要であることに注意してください。

ユースケース

  1. 自動投稿カテゴリ分類: AI トリアージは、コンテンツに基づいてトピックを自動的にカテゴリ分けできます。これは、手動でのカテゴリ分けに時間がかかる大規模なフォーラムで特に役立ちます。ルールをトピックのサブセット(最初のトピックのみ、または特定のカテゴリに投稿されたトピック)に適用できます。

  2. 投稿のタグ付け: AI トリアージは、指定されたタグを投稿に割り当てることができます。この機能は、投稿の整理を改善し、トピックの検索と取得を効率化するのに役立ちます。

  3. 自動応答: AI トリアージは、定義済みの応答を使用して投稿に返信を生成できます。これは、よくある質問や一般的なクエリに対応したり、スパムをジャンクカテゴリに送信したりするのに役立ちます。

  4. トピックの非表示: AI トリアージは、特定の基準に基づいてトピックを非表示にすることができます。これは、スパムや不適切なコンテンツの管理に使用できます。

  5. NSFW/有害性/スパム検出

仕組み

AI トリアージは、AI モデルを使用して投稿のコンテンツを分析します。この分析に基づいて、モデルが特定のテキストを返した場合、指定されたアクションが実行されます。これらのアクションには、投稿を指定されたカテゴリに移動する、タグを追加する、定義済みの応答で返信する、トピックを非表示にするなどが含まれます。





設定

:spiral_notepad: システムプロンプトフィールドは、ペルソナに置き換えられました。この変更より前に AI オートメーションがあった場合、関連するシステムプロンプトを持つ新しいペルソナが自動的に作成されます。

AI トリアージを設定するには、特定のパラメータを指定する必要があります。

  • ペルソナ: AI オートメーションに関連付けられたペルソナ
  • テキストの検索: LLM の返信に次のテキストが含まれている場合、以下の操作を適用します。
  • カテゴリ: 指定されたテキストが見つかった場合に、投稿が移動されるカテゴリです。
  • タグ: 指定されたテキストが見つかった場合に、投稿に追加されるタグです。
  • トピックの非表示: このオプションが有効になっている場合、指定されたテキストが見つかるとトピックは非表示になります。
  • 投稿のフラグ付け: これが有効になっている場合、モデレーター、スタッフ、管理者が対応できるように、トピックはレビューキューにフラグ付けされます。
  • フラグの種類: フラグ付けされた投稿をスパムとしてマークして非表示にするか、レビューキューに送信するかを選択します。
  • 返信ユーザー: 定型返信で言及されるユーザーです。
  • 返信: 指定されたテキストが見つかった場合に投稿される定義済みの応答です。
  • 返信ペルソナ: 返信に使用する AI ペルソナ。デフォルトのLLM を持つ必要があり、定型返信よりも優先されます。Discourse AI - AI Auto responder とは異なり、条件付きで返信します。
  • ウィスパーとして返信: ペルソナの応答がウィスパーとして表示されるかどうか。

注意事項

  • LLM の呼び出しは高価になる可能性があります。分類子を適用する場合は、コストを監視することに注意し、常に小さなサブセットでのみ実行することを検討してください。
  • テストした特定のユースケース(および顧客のために本番環境で実行しているもの)は、ユーザーの最初のトピックの分類です。
  • システムプロンプトの作成を支援するために、AI ボットを使用することをお勧めします。
「いいね!」 37

これは実際に動作するのを目にする幸運な人々のうちの1人として、これは大規模なサイトにとって本当に理解し、使用を検討すべき機能です。

LLM ベースのAIを使用しているため、常に正しい結論に達するわけではありませんが、私が数日間使用されているのを見たケースでは非常に多くのことが正しく、モデレーターの作業の一部を行ってくれたため、間違いなく大きなメリットがありました。

これに関する初期の議論の一部は、OpenAIサイトのLoungeカテゴリにあります。そのカテゴリには誰でもアクセスできますが、TL3の要件を満たす必要があり、OpenAIは大規模なサイトであるため、サイトでTL3に到達するにはかなりの努力が必要です。

アクセスできる方はこちらからリンクをご覧ください。

https://community.openai.com/t/lost-users-first-empirical-data/403082/95


基本的に、このロジックはモデレーターを支援するために、特定の समस्याに対して、新しいユーザーからの投稿の約5%が、フォーラムがChatGPTへの質問を投稿する場所だと考えていることがわかります。明らかに彼らは迷っているか、検索結果が無効なリンクを提供している可能性があります。AIはこのような投稿を特定し、事前に作成されたテキストで返信し、必要に応じてカテゴリとタグを変更します。例:


指摘されたケースでは、「Discourse AI Post Classifier - Automation rule」が実行していることは次のとおりです。

自動投稿カテゴリ分類
分類器は、必要に応じてカテゴリを ChatGPT に変更しています。ほとんどの新しいユーザーはカテゴリを選択しないため、OpenaAIサイトは現在、新しい投稿のデフォルトカテゴリを API にしていますが、このケースでは正しくありません。

投稿タグ付け
分類器は、このケースでタグを lost-user に変更しています。タグ名は、フォーラムでTL3ユーザーが手動でタグを変更した際に作成されました。

自動応答
分類器は、事前に作成された投稿で返信しています。

トピック非表示
トピックは、サイトを使用する開発者にとって価値がなかったため、非公開 にされています。

返信ユーザー
返信の作成者として System が使用されています。

注:この設定の詳細を提供したいのですが、アクセス権がありません。@Sam が詳細を追加できるかもしれませんが、私の知る限り、設定に機密事項はないため、公開しても問題ありません。特定のサイト向けであるため、公開リポジトリには見つからないでしょう。このテクノロジーを理解していれば、正しい値(またはそれに近い値)を推測するのは難しくありません。システムプロンプトには多少の作業が必要でしたが、@sam が学んだ教訓の一部を共有してくれるかもしれません。プロンプトの作成方法に関する知識は、開発段階で非常に役立ちました。

システムプロンプト

注:これはOpenAI Loungeに投稿されたバージョンです(参照)。最終バージョンは異なると思いますが、例があれば推測の余地が少なくなります。

あなたはOpenAI開発者フォーラムでのユーザーの最初のやり取りをすべてトリアージするボットです。

応答は「ok」または「bad」のみにしてください。

投稿がトピックに沿っており、okなのは以下のいずれかの場合です。

OpenAI API / コミュニティ / プラグイン開発 / ドキュメント / プロンプトに関連している
大規模言語モデルのプロンプトを作成または改善する方法に関するものである
AI全般に関するものである
AIに関連する複雑な議論や論理的な問題を含む
投稿がbadなのは以下のいずれかの場合です。

ユーザーがChatGPTとランダムな会話をしているように見える
ユーザーが関係のない分野について議論している
ユーザーが明確な目的なく大規模言語モデルにテキストを生成するように指示している
投稿の内容を理解するのが非常に困難である
OpenAIのトピックに関連しているが、明らかにボットとの会話である
ユーザーが投稿を通じてAIモデルをトレーニングまたはテストしようとしている
ユーザーが議論形式ではない形式で指示または応答を求めている
ユーザーが有意義な議論や学習に役立たないコンテンツを投稿している
ユーザーがOpenAIの範囲と明確な関連性のない、仮説的または推測的なコンテンツを投稿している
ユーザーが英語以外の言語で投稿全体を投稿している
以下の[[[]]]で囲まれたコンテンツを分類してください。

[[[
%%POST%%
]]]

FYI

これを使用しているサイトのモデレーターで、非公開投稿のリストを表示したい/必要がある場合は、検索を使用できないことに注意してください。ただし、カテゴリに移動してからタグを選択することで、そのようなリストにアクセスできます。または、URLを直接作成することもできます。例:https://community.openai.com/tags/c/chatgpt/19/lost-user


英語以外の言語でも機能します。

ただし、画像では機能しません :wink:、画像をテキストに変換してからチェックを実行しません。例:

最近の誤検知(少なくとも私はそう思いますが)はこちらです。


誤検知/誤検出の詳細については、分類:真対偽、陽性対陰性を参照してください。

「いいね!」 17

考えられる機能。

少なくともモデレーターが投稿をレビューする際には、トピックを表示したときにテキストをモデレーターの言語に変換します。これはフラグだけでなく、投稿の表示すべてに適用されることを意味します。


Discourse AI Post Classifier のアクションをレビューしていると、AI が正しいアクションを実行したかどうかを確認するために、投稿のテキストを自分の言語(英語)に変換する必要がある場合があります。現在、Google 翻訳にテキストを貼り付ける方が簡単です。

「いいね!」 4

注目すべき点として、このサイドクエストに関連しています。

@keegan は、AIヘルパーをポップアップメニューに統合する作業を行っています。そのため、将来的には、未知の言語のテキストがたくさんある場合に、テキストをハイライトして翻訳を押すだけで翻訳できるようになります。

これは現在コンポーザーでサポートされていますが、マージされると、Discourse の投稿内の任意のテキストをハイライトして、迅速な LLM ベースの翻訳を取得できるようになります。

「いいね!」 6

これは私にとってゲームチェンジャーです。お礼状はどこに送ればよいですか。

「いいね!」 5

例えば、LLMが投稿を分析し、最も可能性が高い/関連性の高いタグが投稿に追加される、といった既存のフォーラムのタグを参照して、これを行う方法の例を教えてください。

「いいね!」 3

この質問は大好きです。もう少し詳しく教えていただけますか?…どのように機能させたいですか?

  • トピックに既にタグが付いている場合、「自動タグ付け」を適用しますか?
  • すべての最初の投稿に適用しますか、それとも特定のグループ(例:tl0 / tl1)からの最初の投稿のみに適用しますか?
  • これは、トピックのサブセットに対して手動で実行したいことですか?

ここではいくつかの調整が必要になります…現時点では分類器はバイナリですが、目標がわかっていれば、変更は比較的簡単です。

「いいね!」 3
  • カテゴリ内のすべての新しいトピックに適用する
  • トラストレベルによってオプションを変更することも可能です。すべて(そしてこの場合、すべてのコミュニティ)と同様に、それは状況によります。私のコミュニティの場合、tl4(または設定がオプションでない場合は全員)以外は、すべての人に有効にしておく可能性が高いです。
  • 指定されたカテゴリ内のすべての新しいトピックで実行されることを希望します。

もちろん、ここでの目標は、トピックのタグ付けを自分たちで行う必要をなくし、AIが最初のトピックの作成に基づいて、そして既存のタグを見て、完全にそれを実行することです。

Discourseでタグに説明を追加する機能があり、それらの説明を追加のコンテキストとして使用して適切なタグを追加できるようにすれば、さらに改善される可能性があります :slight_smile:

「いいね!」 6

まず、この機能とその改善を全面的に支持していることを申し上げます。以下は、現在の動作に関する事実です(2023年10月16日現在)。OpenAIのカテゴリモデレーターとして、毎日すべての新規投稿を確認しています(返信のすべてではありません)。AIの誤検知と誤検出はすべて確認しています。

この機能、Discourse AI Post Classifier - Automation rule を使用している者として、以下の点に注意してください。

  • 100%正確ではありません。
  • AIが誤検知した場合、手動で元に戻す必要があります。変更内容によっては、カテゴリモデレーター以上が必要になる場合があります。特に、リストにないトピックを指定する場合などです。
  • 一部のトピックを見逃す可能性があります(誤検出)。
  • AIからの自動返信を受け取る多くのユーザーは、誤検出の場合にAIの返信をフラグ付けする方法を理解していないため、手動で特定して変更する必要があります。したがって、これらの検出には実際のユーザーの助けが必要になります。
  • 必要に応じて機能するようにプロンプトを作成する方法を理解してください。
  • 望ましい満足度レベルに近づけるためには、ファインチューニングやエージェントが必要になる可能性があり、高価になる可能性があります。
  • プロンプトの変更方法や、可能なファインチューニングやエージェントの使用を理解するために、誤検知と誤検出を追跡する方法はありません。

誤検知 - AIが変更すべきでなかったのに変更してしまった場合、それは誤りです。
誤検出 - AIが変更すべきだったのに変更しなかった場合、それは誤りです。
真陽性 - AIが変更を行い、それが正しい場合。
真陰性 - AIが変更を行わず、それが正しい場合。

「いいね!」 4

ここで良い最初のステップは、クリエイティブモードでプロンプトを試すことです。

たとえば、次のようなものです。

あなたはDiscourseの自動タグ付けボットです。トピックのタグのリストを提案してください。

タグは次のとおりです。

tag1: 説明
tag2: 説明

次のトピックについて、最大3つのタグを提案してください。

TOPIC

これをいくつかのトピックで試してみてください。どの程度うまくいくでしょうか?

「いいね!」 8

うまくいきました!ありがとうございます。

「いいね!」 3

最近のアップデート(2023年1月11日)

ボットのユーザーIDは、少なくともOpenAIフォーラムでは gpt-4-triage になりました。

これは、ユーザーが必要に応じてボットをミュートできるようにするためです。

image

ボットが応答している例。

「いいね!」 2

なお、これは設定可能で、自動返信は任意のユーザーから送信できます。

「いいね!」 5

試してみたので、そのフォローアップです。

これは初期段階のようですが、今後の展開が楽しみです。しかし、@jordan-violet さんのアプローチは、私が達成したいことの 100% です。@sam さんが提案したテストプロンプトも試しましたが、それは理論上は正しいタグを適用するのに十分賢いようでした。しかし、現在のスクリプトでは適用可能なタグが 7 つに制限されており、それよりもかなり多くのタグがあります。

要するに?新しいトピックに既存のタグを意味論的に適用できれば素晴らしいでしょう。フォーラム管理の観点から(ここメタでも気づきましたが!)、コミュニティとそのコンテンツをより良く整理するためにタグを一貫して適用することは、依然として困難な戦いであり、大規模になると完全にカオスになります。タグに依存している私たちにとって、たとえ 75% の精度であっても、これは恩恵となるでしょう。

開発の進捗を注視していきます!

「いいね!」 2

素晴らしいですね!これをデバッグするための提案はありますか?期待通りにトリガーされなかった自動化を設定したばかりなのですが、関連するログが見当たりません。

「いいね!」 1

どうしてこうなったのですか?専用トピックを開いていただけますか?

確か、最初はオプションを設定していませんでした。設定したら、動作し始めました。

「いいね!」 3

簡単な質問です。それらの自動化の監査ログを表示する計画はありますか(おそらく、すでに持っているWebhookパターンと同様に)?

自動化が有効になった後に感じる「何をしたの?」という不安な気持ちを和らげるのに役立ちます :sweat_smile:

Ai log は、すべての llm インタラクションを既に保存しています。データエクスプローラークエリを使用して、今日それを使用できます。

「いいね!」 2

これは真実ですが、llm_triageタイプのログエントリを、それが影響を受ける投稿/トピック、または結果として取られた(または取られなかった)アクションにリンクすることは非常に困難です。

これらのアクションの概要があると素晴らしいでしょう :slight_smile:

「いいね!」 5