xAI、Grok(グロック)のAPIにリクエスト単位の「Custom moderation controls」を追加nsfw・violence・profanityの3カテゴリを個別に抑えられる
日刊AIニュース10月27日(火)号:前日のAIのニュース12本を短くまとめました(約8分)›
xAIのドキュメントは10月27日付で、Chat CompletionsとResponses APIのリクエストにguidelines配列を付け、nsfw・violence・profanityの3カテゴリの扱いを指定できると掲載した。現時点で選べる挙動はdeclineの1つで、指定しないカテゴリは従来のまま。

xAIは開発者向けドキュメントのリリースノートに、2026年10月27日付で「Custom moderation controls」を掲載しました。Grok(グロック)のテキストAPI、つまりChat CompletionsとResponses APIのリクエストに guidelines 配列を付けると、nsfw・violence・profanityの3カテゴリについてGrokの扱いをリクエストごとに指定できます。現時点で選べる挙動は decline の1つだけで、指定しなかったカテゴリは従来のモデルの既定のままだと、同社の解説ページは書いています。
3行まとめ
- xAIは10月27日付で、Chat CompletionsとResponses APIに
guidelines配列を追加。nsfw・violence・profanityの3カテゴリを指定できる- 選べる挙動は現時点で
declineのみ。マルチエージェントモデル(grok-4.20-multi-agent など)とdeferred completionsでは使えず、400で拒否される- 指定はリクエスト単位。会話全体に効かせるには毎回送る必要があり、指定しないカテゴリは既定のまま
本記事の内容は、日本時間10月28日12時台に公式ページで確認したものです。
何ができるようになったのか
リリースノートの該当項目は、次のように書かれています。
You can now set content guidelines on text API requests. Add a guidelines array to a Chat Completions or Responses API request to set how Grok handles content in the nsfw , violence , and profanity categories. Grok follows the guidelines as it writes its response.
(テキストAPIのリクエストに、コンテンツのガイドラインを設定できるようになりました。Chat CompletionsまたはResponses APIのリクエストに guidelines 配列を加えると、nsfw・violence・profanity の各カテゴリでGrokがどう扱うかを設定できます。Grokは応答を書く際にガイドラインに従います。)
解説ページによると、guidelines の各要素には3つの項目があります。type(常に "policy")、category、そして behavior です。ガイドラインがあっても、応答の形はない場合と同じだと書かれています。Grokがガイドラインに従うのは「自分の言葉で」応答を書く過程であり、後からフィルターで削るような処理だとは書かれていません。
3カテゴリの挙動
解説ページの表を、日本語にまとめると次のとおりです。
| カテゴリ | 指定できる挙動 | Grokの動き(解説ページの説明) |
|---|---|---|
| nsfw | decline | 性的なほのめかしや性的な会話を避ける。性に関する教育的・臨床的な質問には答える |
| violence | decline | 生々しい暴力の描写を避ける。歴史やニュースは、生々しい細部なしで扱う |
| profanity | decline | 罵り言葉を使わずに書く。罵り言葉だけを求める依頼や、極めて攻撃的な依頼は断る |
同ページは、この表は各挙動を大づかみに説明したものだと断り、「SpaceXSIが細部を今後見直すことがある」とも書いています。細かい境界は固定された仕様ではない、という読み方になります。
リクエストの書き方
解説ページの例は、violenceとnsfwを decline にして、騎士の短い物語を書かせるものです。Responses APIへのcurlでは、本文に guidelines を並べます。
{
"model": "grok-4.7",
"input": "Write a short story about a knight.",
"guidelines": [
{ "type": "policy", "category": "violence", "behavior": "decline" },
{ "type": "policy", "category": "nsfw", "behavior": "decline" }
]
}
解説ページによると、OpenAIのSDKは guidelines を定義していません。OpenAI Python SDKでは extra_body に入れて渡します。OpenAI JavaScript SDKは、ほかのリクエストパラメータと一緒に送ります。Chat Completionsでは、同じ配列をリクエスト本文の最上位に、messages と同じ階層で足します。xAI Python SDKでは chat.create の引数に guidelines を渡せます。
誰が使えるのか・どこで使えるのか
対応するAPIは、Chat CompletionsとResponses API、およびxAI Python SDKの chat.create だと、解説ページは書いています。サイドバーでは、この機能は「Advanced API Usage」の中の項目として「New」の印が付いていました。
使えない場合も明記されています。
- マルチエージェントモデル(例として grok-4.20-multi-agent)では、現在使えません
- deferred completions では、現在使えません
- サーバー側ツールもファイル添付もないリクエストでは、
stopを指定した場合やnを1より大きくした場合も使えません
これらはモデルが動く前に、APIが400で拒否します。エラー文にはモデル名かオプション名が入ると書かれています。
エラーの種類
| ステータス | 原因 |
|---|---|
| 422 | カテゴリまたは挙動が既知の値ではない(エラーに有効な値が一覧で出る) |
| 400 | 同じカテゴリが2回以上ある |
| 400 | type が "policy" ではない |
| 400 | 上の「使えないリクエスト」に当たる |
xAI Python SDKでは、未知のカテゴリや挙動は、SDKがリクエストを送る前に ValueError になります。それ以外のエラーは、gRPCの INVALID_ARGUMENT として返ります。
前と何が違うのか
解説ページは、指定しないカテゴリは「モデルの既定のモデレーションの挙動を保つ」と書き、guidelines は既定の上に「さらに」挙動を足すものだと説明しています(原文は "further handles"・"further enhanced behavior")。選べる挙動が decline の1つだけなので、今回確認したページには、既定より緩める選択肢は載っていません。
もう1つの違いは、効く範囲です。ガイドラインは、それを載せたリクエストにだけ効きます。会話全体に効かせたいときは、会話内のすべてのリクエストに付けて送る必要があります。xAI Python SDKでは chat.create がガイドラインをチャットに保存するため、sample を呼ぶたびに送られると解説ページは説明しています。
料金・日本での扱いは?
今回確認した、リリースノートの該当項目と解説ページには、この機能に固有の料金、対応プラン、日本での提供についての記載はありませんでした。解説ページのテキストを pric・cost・Japan・region・plan で検索すると、ヒットしたのはサイドバーのメニュー名(Pricing、Regional Endpoints、Cost Tracking)だけで、本文に説明はありませんでした。ただし、この確認は取得した範囲の話です。料金はxAIの別の料金ページ(サイドバーの「Pricing」)にあるかもしれませんが、本記事では開いていません。
筆者が公式ページで見たこと
日本時間10月28日12時58分に解説ページを取得した時点で、ページ末尾には「Last updated: October 27, 2026」とありました。これはリリースノートの日付と同じです。ページのタイトルは「SpaceXSI Docs」で、挙動の細部を見直す主体も本文中では「SpaceXSI」と書かれていました。本記事は、docs.x.ai の公式ドキュメントの記載を「xAIの発表」として扱っています。また、サンプルコードのモデル名はすべて grok-4.7 でした。筆者はこのAPIを実際には呼んでおらず、decline を付けたときの応答の変化は確認していません。
発表だけでは分からないこと
- 効き方の程度:「避ける」「断る」と書かれていますが、どのくらいの確実さで守られるかの数字や評価結果は、今回確認したページにはありませんでした
- 対応モデルの全体像:マルチエージェントモデルが対象外とは書かれていますが、通常のモデルのうちどれが対象かの一覧は、今回確認したページにはありませんでした。例はgrok-4.7のみです
decline以外の挙動:解説ページは「Today the only behavior is decline」と「Today(現時点で)」を付けて書いていますが、ほかの挙動を追加する予定や時期は、今回確認したページには書かれていませんでした- 細部の見直し:前述のとおり、挙動の細部は今後変わりうると同ページが述べています。導入を考える場合は、自分の用途で挙動を確かめてから使うのが安全です
同じリリースノートには、10月14日付の音声API「Grok Voice 3.0」の項目もあります。こちらは Grok Voice 3.0の記事 にまとめています。
出典と確認時刻
- Release Notes | SpaceXSI Docs(日本時間2026年10月28日12:58に取得)
- Custom Moderation Controls | SpaceXSI Docs(日本時間2026年10月28日12:58に取得)
本記事は続報があり次第更新します。
この記事でよく聞かれること
- xAIのCustom moderation controlsとは何ですか?
- xAIの開発者向けドキュメントによると、Chat CompletionsまたはResponses APIのリクエストにguidelines配列を付けて、nsfw・violence・profanityの3カテゴリについてGrokの扱いを指定できる機能です。リリースノートの日付は10月27日です。Grokは応答を書く際にガイドラインに従い、応答の形はガイドラインなしの場合と同じだと説明されています。
- guidelinesでは何を選べますか?
- 解説ページによると、現時点で選べる挙動はdeclineだけです。nsfwはdeclineで性的なほのめかしや性的な会話を避け、教育的・臨床的な質問には答えます。violenceは生々しい暴力描写を避け、歴史やニュースは細部の描写なしで扱います。profanityは罵り言葉を使わずに書き、罵り言葉だけの依頼や極めて攻撃的な依頼は断ります。指定しないカテゴリは従来の既定のままです。
- どんなリクエストでは使えませんか?
- 解説ページによると、grok-4.20-multi-agentのようなマルチエージェントモデルと、deferred completionsでは現在使えません。サーバー側ツールもファイル添付もないリクエストでは、stopを指定した場合やnが1より大きい場合も使えません。これらは、モデルが動く前にAPIが400で拒否し、エラーメッセージにモデル名かオプション名が入るとされています。
- 会話全体にガイドラインを効かせるにはどうしますか?
- 解説ページによると、ガイドラインはそれを載せたリクエストにだけ効きます。会話全体に効かせるには、会話内のすべてのリクエストに送る必要があります。xAIのPython SDKではchat.createがチャットにガイドラインを保存するので、sampleを呼ぶたびに送られると説明されています。
出典・参照資料
大きいニュースはYouTubeでも解説しています。Xでは新着記事をお知らせしています。
コメント
まだコメントはありません。最初のコメントを書いてみませんか?
AIについて聞きたいことはありますか?
質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。
質問箱を見る →