活用例に戻る
信頼と安全

AI コンテンツモデレーション — Claude によるマルチモーダルな Trust & Safety

現代のモデレーションは単なる正規表現ではありません。皮肉、隠語、ブランド文脈の悪用、画像とテキストの組み合わせといったニュアンスが必要です。LLM はルールベースのシステムよりはるかに優れた処理を、拡張可能な価格で実現します。

おすすめのモデル

最終確認日:。

LLMがルールベースのモデレーションを上回る理由

皮肉。ドッグホイッスル。ブランド文脈の誤用(「この製品は好きだが、カスタマーサービスは嫌いだ」)。多言語のニュアンス。画像単体やキャプション単体なら通過するが、組み合わせると通過しないケース。ルールベースのモデレーションが処理できるのは、Trust & Safetyのケースの約60%にすぎません。難しい40%こそLLMが得意とする領域です。LLMは文脈、意図、文字どおりの言葉と意味の隔たりを理解します。

現代のモデレーションパイプラインは両方を組み合わせます。簡単な60%(正規表現、URLブロックリスト、ハッシュ照合CSAM)にはルールを使い、判断が必要な40%にはLLMを使います。

テキストモデレーション――Claude Haiku 4.5

Haikuは安価で高速なため、大量モデレーションに最適です。

moderate_text.py
import json
from openai import OpenAI
client = OpenAI(api_key="sk-kn-...", base_url="https://api.kunavo.com/v1")

POLICY = """You are a content moderator. Judge the content against these
categories: toxic, spam, harassment, sexual, violence, self_harm, deception,
brand_unsafe. Be conservative — when in doubt, flag for human review."""

# Claude enforces a json_schema response_format; json_object it does not.
VERDICT = {
    "type": "object",
    "properties": {
        "verdict": {"type": "string", "enum": ["allow", "review", "block"]},
        "categories": {"type": "array", "items": {"type": "string", "enum": [
            "toxic", "spam", "harassment", "sexual", "violence",
            "self_harm", "deception", "brand_unsafe"]}},
        "confidence": {"type": "number"},  # 0.0-1.0
        "rationale": {"type": "string"},   # one sentence
    },
    "required": ["verdict", "categories", "confidence", "rationale"],
    "additionalProperties": False,
}
RESPONSE_FORMAT = {"type": "json_schema",
                   "json_schema": {"name": "verdict", "schema": VERDICT}}

def moderate_text(text: str) -> dict:
    resp = client.chat.completions.create(
        model="claude-haiku-4-5",  # cheap + fast for high-volume
        messages=[
            {"role": "system", "content": POLICY},
            {"role": "user", "content": text},
        ],
        response_format=RESPONSE_FORMAT,
        max_tokens=200,
    )
    return json.loads(resp.choices[0].message.content)

1回あたりの費用:約$0.0001~0.0003(入力長による)。月100万件のモデレーションイベントでは約$100~300です。商用モデレーションAPI(Perspective:約$0.0005/回、Hive:約$0.002/回、Sightengine:$0.003/回)と比べると、LLMベースのモデレーションは同程度または安価であり、文脈理解は大幅に優れています。

画像モデレーション――Claude Haiku 4.5

画像の場合、Claude Haiku 4.5はカタログで最も安価なビジョンモデルで、投稿処理に組み込めるほど高速です。

moderate_image.py
def moderate_image(image_url: str) -> dict:
    resp = client.chat.completions.create(
        model="claude-haiku-4-5",  # vision + cheap
        messages=[
            {"role": "system", "content": POLICY},
            {"role": "user", "content": [
                {"type": "text", "text": "Moderate this image:"},
                {"type": "image_url", "image_url": {"url": image_url}},
            ]},
        ],
        response_format=RESPONSE_FORMAT,
        max_tokens=200,
    )
    return json.loads(resp.choices[0].message.content)

画像1枚あたりの費用:約$0.001~0.003。1日の投稿件数が10万件のソーシャルプラットフォームで、テキストと画像を組み合わせてモデレーションすると月約$3,000~9,000です。

3段階判定パターン

  • allow:違反の可能性が低い→即時公開
  • review:可能性が中程度→人間のモデレーター用キューへ。LLMの判定の大半がここに入り、レビュー費用も低い
  • block:重大な違反(CSAM、信頼できる脅迫、晒し)の可能性が高い→拒否+ログ記録+エスカレーション

ゼロトレランスのカテゴリでない限り、LLMの判定だけで自動ブロックしないでください。誤検知はユーザーを失わせます。グレーゾーンは人間に判断させてください。

代替手段との比較

ツール100万回あたりの費用強み
Perspective API(Google)無料(レート制限あり)英語の有害性スコアリング
Hive Moderation~$2,000画像・動画・音声――強力
Sightengine~$3,000画像専門
OpenAI Moderation無料テキストのみ、カテゴリが限定的
Kunavo + Haikuテキスト約$100~300 / 画像約$1,000文脈対応+多言語+カスタムポリシー

LLMの利点はポリシーをカスタマイズできることです。HiveとSightengineには固定カテゴリがあります。Claudeなら、英語でも他の言語でもポリシーを記述でき、それに適応します。新しい制限カテゴリを追加する場合は、システムプロンプトを更新するだけです。モデルの再トレーニングは不要です。

コンプライアンスの観点

  • DSA(EUデジタルサービス法):プラットフォームにモデレーションの透明性レポート公開を義務付けています。上記JSONのrationaleフィールドが記録対象です。
  • CSAM:LLMを経由させないでください。ハッシュ照合(NCMEC、IWF)を使用します。既知の違法コンテンツにはLLMは適切なツールではありません。
  • モデレーション対象コンテンツ内のPII:個人DM・メッセージを扱う場合は、LLMに送信する前にハッシュ化または仮名化してください。コンプライアンスガイドを参照してください。

開始するには無料サインアップを行い、その後/docs/chatリファレンスで、各モデルファミリーに対してresponse_formatが適用する内容を確認してください。

よくある質問

AIコンテンツモデレーションの1回あたりの費用はいくらですか?

Claude Haiku 4.5によるテキストのモデレーションは1回あたり約$0.0002、画像とテキストの判定は同モデルで約$0.001です。HiveやSightengineと同程度か、それより安価です。

LLMはルールベースのモデレーションシステムより優れていますか?

明確なコンテンツなら、どちらも機能します。違いが出るのは、皮肉、隠語による差別表現、ブランド文脈の誤用、多言語のニュアンスといった判定が難しい40%のケースで、LLMによるモデレーションはルールベースより大幅に優れています。

AIモデレーションシステムはコンテンツを自動ブロックすべきですか?

許容度ゼロのカテゴリに限るべきです。3段階の判定方式では、許可を公開へ、レビューを人の確認キューへ、ブロックを却下とログ記録へ振り分けるため、判断が難しいケースは人が対応できます。

モデレーションの精度を継続的に高めるにはどうすればよいですか?

人の確認キューでの判断を毎週見直し、誤分類を特定してシステムプロンプトを更新してください。モデルの再トレーニングは必要ありません。