ユースケース

コンテンツモデレーション

許可・レビュー・削除を判断し、本物の脅威は別にフラグします。

問題

キーワードフィルターはスラングを過剰にブロックし、冗談のふりをした個人攻撃を見逃します。

回答に対してコードが行うこと

高信頼度の違反は削除します。それ以外はモデレーターに回します。

モデレーションが実際に必要とする 2 つの質問

1 つの choice — allow、review、remove — がポリシーの立場を担い、1 つの noul が別個に、そのコメントが人物への嫌がらせや暴力を助長するかを尋ねます。分けることに意味があります:例のコメントはネットコメントらしい程度の無礼ですが、"show up at his house" の一節があることで、脅威フラグ付きの削除対象になります。1 つの質問はこの区別をつぶし、2 つなら保てます。モデレーターが揺れているケースを黙って誤ラベルするのではなく見られる確率が付きます。

確率から執行へ

高信頼度の削除は削除します。それ以外は分布を添えてモデレーターに回します — 50/50 の allow/review の割れは、モデレーターが次に見たい項目です。アクションが allow に読めても脅威フラグは発火させ続けます:嫌がらせのシグナルは、内容がどこに着地しても、エスカレーションとユーザー保護の経路を駆動します。誤発動するしきい値は、数字ではなく criteria の文言を直して直します。

モデレーション特有の落とし穴

モデレーションの criteria はスラングとともにずれていきます — allow/review/remove の文言を定期的なサイクルで見直してください。揺れているケースへの一回きりのモデレーションに注意します:45/55 の allow-review の割れを黙って "allow" とラベルすることが、レビューキューがまさに重要な場所で迂回される仕方です。揺れているバンドには人を残し、分布をログに残してください。後の誤判定のパターンが見え続けます。

リクエストの形状

これは、このプリセットについて Playground が送る完全なリクエストです — 自分のサーバーが Bearer キー付きで /v1/systemone に送るのと同じ JSON です。

curl
curl https://jevai.website/api/v1/systemone \
  -H "Authorization: Bearer $JEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "state": "lol this guy has no idea what he is talking about, someone should dox him and show up at his house",
  "questions": {
    "action": {
      "type": "choice",
      "instructions": "What should happen to this comment?",
      "criteria": {
        "allow": "Acceptable, even if rude",
        "review": "Borderline, needs a moderator",
        "remove": "Clear policy violation"
      }
    },
    "threat": {
      "type": "noul",
      "instructions": "Does the comment encourage harassment or violence against a person?"
    }
  }
}'

このユースケースに関する FAQ

モデレーションにはスレッド全体が必要ですか?
たいていはい — 皮肉と文脈は、親コメントがいくつかあるだけで読み方が変わります。state は最大 100,000 文字まで使えるので、文脈を入れても安く済みます:どちらにしても 1 リクエストです。
組織的な嫌がらせキャンペーンを検出できますか?
いいえ — これは一度に 1 つの項目を判断します。キャンペーンのパターンにはプラットフォーム内での集約が必要です。それでも型付き判断はそのパイプラインに流せます。脅威フラグを項目ごとに保存し、アカウントを横断して分析してください。
画像はどうですか?
この呼び出しでは扱えません — Jev はテキストのみです。OCR や文字起こしでテキストを state に入れれば、同じ判断形状が使えます。
Playground で実行する