**摘要:**xAI 在 Release Notes 的十月更新中加入 Custom Moderation Controls:開發者可以在 Chat Completions 或 Responses API 的每個請求附上 guidelines 陣列,指定 Grok 在 nsfw、violence、profanity 三個類別的處理方式。這代表內容審核從平台單方面決定,變成可以按請求、按應用場景調整的參數——對做多人共用產品的 builder 是實際的粒度提升。
逐請求的審核控制怎麼運作
根據 官方文件,每個 guideline 包含 type(目前固定為 "policy")、category 和 behavior 三個欄位,而行為目前只有 decline 一種。三個類別各有明確語意:nsfw 設 decline 後仍會回答教育性或臨床的性議題問題;violence 會避免血腥描寫但不拒談歷史與新聞;profanity 則改寫成不含髒話的版本。
沒列出的類別維持模型預設行為,所以只需要聲明你想改的項目。反過來說,指南只對攜帶它的那個請求生效——要讓整段對話一致,就每個請求都要帶上(xAI Python SDK 的 chat.create 會存在 chat 物件上,之後每次 sample 都會送出)。
實際送出的樣子
用 OpenAI SDK 打 xAI endpoint 時,guidelines 不是 SDK 內建參數,Python 要放在 extra_body:
response = client.responses.create(
model="grok-4.7",
input="Write a short story about a knight.",
extra_body={
"guidelines": [
{"type": "policy", "category": "violence", "behavior": "decline"},
{"type": "policy", "category": "nsfw", "behavior": "decline"},
],
},
)
回應的形狀與一般回應相同,模型會在生成過程中遵守規則,而不是事後過濾。這點對產品體驗有差:使用者拿到的是模型自己改寫過的版本,不是被截斷或蓋板的輸出。
限制與錯誤處理
有幾個工程上要注意的邊界。guidelines 目前不支援 multi-agent 模型(如 grok-4.20-multi-agent)和 deferred completions;沒有 server-side tools 和檔案附件的請求,若設了 stop 或 n 大於 1 也無法使用,API 會在模型執行前回 400。
錯誤分兩層:422 代表 category 或 behavior 是未知值;400 涵蓋重複類別、type 不是 "policy"、以及上述不支援的請求組合。xAI Python SDK 會在送出前就對未知值拋 ValueError,能省一次往返。
同一份 Release Notes 裡的其他維運訊號
這份 Release Notes 也記錄了一輪模型生命週期變動:grok-voice-3.0 上線且 grok-voice-latest 自動指向新版,grok-voice-2.0 同步 deprecated;grok-voice-transcribe-1.0 將在 2026 年 10 月 2 日終止,之後請求自動改路由到 grok-voice-transcribe-2.0,價格不變、準確度較高。另外 grok-imagine-image-quality 會在 2026 年 11 月 2 日退役,改由 grok-imagine-image-2.0 以 low 品質承接。
這種「alias 自動升級、舊 slug 設退場日並自動路由」的模式,正是我們在模型生命週期管理一文談過的課題:依賴固定 slug 的程式碼遲早要面對退役日,越早改用 alias 或明確版本號,維運負擔越小。
給 builder 的實際建議
如果你的產品同時服務不同受眾——例如教育場景要更嚴、創作工具要更寬——guidelines 让你不必為了審核差異維護不同模型或不同 prompt 前綴,直接在請求層聲明即可。要注意的是行為目前只有 decline,且文件明言 SpaceXSI 可能持續調整各類別的細節,所以上線前值得為每個類別跑一組自己的測試案例,別把今天的行為當成永久契約。
參考來源
在 X 上查看原貼文
