GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/API / SDK
API / SDK/2026-04-24上級

Gemini API Safety Settings の本番運用設計 — 誤ブロックを最小化しつつ悪意ある入力を止めるレイヤード・モデレーション

Gemini API の Safety Settings だけに依存すると、正当な質問が誤ブロックされたり、プロンプトを工夫した悪意のある入力が通ったりします。本番で耐えられる 4 層モデレーション設計を解説します。

gemini-api279safety-settings2content-moderation2production105harm-categoryguardrail

プレミアム記事

Gemini API を使った医療相談アプリに「妊娠中に飲める頭痛薬」を入力したら、finishReason: SAFETY で空文字が返ってきた — そんな経験をされた方は少なくないのではないでしょうか。かといってすべての HARM_CATEGORYBLOCK_NONE に下げると、今度は悪意のある利用者のプロンプトが素通りしてしまう。この二律背反は、Safety Settings を「単一のスイッチ」として捉えているうちは解決しません。

私はここ半年ほど、Gemini API を組み込んだいくつかのサービスで、入力と出力の両方に別々のモデレーションを重ねる「レイヤード・モデレーション」という設計に落ち着きました。ここでは公式ドキュメントの API リファレンスには載っていない、運用上の勘所と具体的な実装パターンを共有します。読み終えたときには、誤ブロック率を下げながら、プロンプトインジェクションのような悪意ある入力も止められる、本番で使える設計が手に入るはずです。

なぜ Safety Settings 単体では本番運用に耐えないのか

Gemini API の safetySettings は、HARM_CATEGORY_HARASSMENT など 5 カテゴリ(モデルによっては 4 カテゴリ)に対して BLOCK_LOW_AND_ABOVE から BLOCK_NONE までの 4 段階の閾値を設定する仕組みです。一見シンプルですが、本番でこれだけに頼ると以下の問題が必ず表面化します。

第一に、Gemini のセーフティ分類器は「潜在的にリスクのある表現」を確率的にスコアリングしているため、医療・法律・歴史・創作・教育といった正当なトピックでも誤検知が発生します。たとえば「戦国時代の合戦の戦術」や「抗がん剤の副作用」「離婚に伴う財産分与」のような、専門家に質問すれば 10 秒で答えが返ってくる内容でもブロックされることがあります。特にエンタープライズ用途では、この誤ブロックがそのままユーザーからの問い合わせに直結します。

第二に、Safety Settings を緩めても防げない攻撃があります。プロンプトインジェクション、Jailbreak、PII 抽出、システムプロンプト露出などは、HARM_CATEGORY のどれにも明確には該当しないため、閾値をどう調整しても防ぎきれません。別途専用のガードレールを用意する必要があります。

第三に、Safety Settings は「応答をブロックする」か「応答させる」かの二択しか提供しません。本番運用では「応答はさせるが、ログを残して人間がレビューする」「ユーザーには曖昧に返し、運営には詳細通知する」といった中間的な制御が必要になる場面が頻出しますが、これを API レベルで実現することはできません。

この 3 つの制約を踏まえると、Safety Settings は「第一の防波堤」として使いつつ、入力側と出力側にそれぞれ独立した検査レイヤーを配置し、最後にヒューマン・イン・ザ・ループを組み込む、というのが現実的な構成だと私は考えています。

レイヤード・モデレーションの全体像

本番運用に耐える構成は、次の 4 層に分解できます。

  • Layer 1 — Input Filter: ユーザー入力を Gemini に渡す前に、軽量な分類器または正規表現で明らかな有害・悪意・PII 含有入力を弾きます。ここで止まった入力は Gemini を呼ばないため、コストも削減できます
  • Layer 2 — Model Safety Settings: safetySettings をユースケース別にチューニングします。医療アプリならハラスメントは厳しめ、創作アプリなら性表現を緩めにする、といった具合に、トピックごとの既定値を定義します
  • Layer 3 — Output Filter: Gemini からの応答を、別モデル(安価な gemini-2.5-flash-lite など)で二次分類し、危険な情報漏洩やハルシネーションを検出します
  • Layer 4 — Human Review Loop: スコアが閾値付近のケースや、ユーザーからの報告ケースをキューに溜め、人間がレビューしてモデレーションのルールを継続的に更新します

重要なのは、各層が独立しているため、たとえ 1 層を回避されても他の層で捕捉できるという多重防御の発想です。また、それぞれの層で扱う「誤ブロック」と「見逃し」のトレードオフが異なるため、層ごとに最適化ができます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Safety Settings の誤ブロックで問い合わせが急増していた開発者が、ユーザー体験を壊さずに安全側を担保できる
入力前処理・モデル設定・出力後処理・ヒューマン介入の 4 層モデレーションを動くコードで習得できる
医療・法律・創作など正当トピックが引っかかる案件で、本番運用に耐える緩和と強化の使い分けが実装できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-05-22
Gemini API の Recitation block が発火する条件と、応答が消えないためのプロンプト・ポストプロセス設計
Gemini API でリサーチや要約系のエージェントを長時間動かしていると、ある日突然 finishReason: 'RECITATION' が連発し始め、応答本文が空のままセッションが切れる症状に遭遇します。著作権保護のかかった長文の逐語引用と判定された時の安全機構ですが、回避するためのプロンプト設計とポストプロセスを、6サイトの自動投稿パイプラインで実装した内容ごと共有します。
API / SDK2026-04-11
Gemini API で構築するコンテンツモデレーション本番システム
Gemini API でカスタムコンテンツモデレーションシステムを本番構築する完全ガイド。テキスト・画像のマルチモーダル検査、非同期バッチ処理、Human-in-the-Loop、コスト最適化まで網羅的に解説します。
API / SDK2026-07-18
同じ gemini-flash-latest が、リージョンごとに違うモデルを指していた — 比較値が汚れる数日間の見つけ方
エイリアスの解決先はリージョン単位でロールアウトされます。同じ gemini-flash-latest を東京と us-central1 に投げると、数日だけ別のモデルが応答する。その間の比較値が無効になる理由と、1発のプローブで検知して比較を凍結する設計をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →