SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。
拒否はエラーではなく正常応答。僕らが書き換えるべきコードの正体
200 OK。
画面に返ってきたこのステータスコードを見て、僕は指を止めた。
AIがリクエストを拒否した。
通信エラーやタイムアウトではない。
APIの仕様として、正常な応答として「断られた」のだ。
最新のフラッグシップモデル、Claude Fable 5の登場により、拒否(Refusal)は開発者がハンドリングすべき標準的な状態となった。
これはAI開発における責任の分界点が、モデル提供側から開発者の手元へとシフトしたことを意味する。
開発者はプロンプトを投げる側から、多層的な防御アーキテクチャを設計する側へと役割を変えた。
1つのモデル、2つの顔。Claude Fable 5とMythos 5が示す未来
今回、1つのモデルが2つの製品として提供される構成となった。
一般提供されるClaude Fable 5と、米政府と連携して提供される限定版のClaude Mythos 5だ。
中身は同一モデルであり、違いは安全分類器(safety classifier)の有無のみとなる。
Fable 5には安全装置が組み込まれている。
Mythos 5はサイバー防御や重要インフラに関わる事業者向けに制限が解除されている。
価格は入力10ドル/1Mトークン、出力50ドル/1Mトークンだ。
100万トークンのコンテキストと、12万8000トークンの最大出力を備える。
APIドキュメントには、拒否応答の処理方法が記されている。
Fable 5の分類器が「危険」と判断したリクエストはエラーにならない。
stop_reason: refusal という値を返し、HTTP 200で着地する。
この分類器が発動するのは、全セッションの5%未満だ。
対象は、サイバー攻撃、生物化学兵器、蒸留(モデル能力の抽出)に関わる内容となる。
拒否が発生した場合、システムは次点のモデルであるClaude Opus 4.8に処理を引き継ぐ。
出力前に拒否された場合、料金は発生しない。
ストリーミングの途中でブロックされた場合は、そこまでの分がFable料金、切り替わった後の分がOpus料金として按分される。
従量課金は、この挙動に合わせて設計されている。
しんたろー:
拒否が正常系になるのは開発者にとって大きな変化だ。
これまでのような「try-catchで囲っておけばOK」という考えは通用しない。
コードの至る所に、if stop_reason == refusal という分岐を書く未来が確定した。
※この記事は、Claude Codeで1人SaaS開発しているしらたろーが、海外AI最新情報を開発者目線で解説する「AI活用Tips」です。
開発者の視点:ブラックボックス化する思考と消えたZDR
この新しいAPI仕様により、開発者が直面する3つの変化がある。
第一に、思考プロセス(Chain of Thought)の隠蔽だ。
Fable 5では、モデルの生の思考ログは返ってこない。
設定をデフォルトのままにすれば、思考ブロックは空で返る。
要約表示を選んでも、中身はAIによって「整形された要約」に過ぎない。
第二に、データ保持ポリシー(ZDR)の対象外だ。
Fable 5およびMythos 5は、すべてのトラフィックが30日間保持される対象となった。
Zero Data Retention(ZDR)、つまり「入力データを一切保存しない」という契約は適用されない。
厳格なセキュリティポリシーを持つ企業では、この一点でFable 5の採用を見送る判断が必要になる。
第三に、評価パイプラインの複雑化だ。
同じモデルIDを指定していても、応答したのがFable 5か、フォールバックしたOpus 4.8かでアウトプットの質は変わる。
レスポンスに含まれるメタデータを保存し、拒否経由の応答を分離して集計しなければ、システムの精度測定の数字は濁る。
しんたろー:
思考ログが見えなくなるのは開発効率に影響する。
Claude Codeで複雑なリファクタリングをさせているとき、中身が見えないのは不安だ。
AIを「信じる」のではなく「検証する」仕組みを、より外側に作る必要がある。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。
実務への影響:多層防御アーキテクチャの構築
業界全体が、安全対策を多層化する方向へ動いている。
OpenAIは、アプリ層での制御を強化するための安全プロンプト集を公開した。
若年層向けの保護や、過激なコンテンツの抑制など、これまで各開発者が手探りで作っていたガードレールを、プロンプトのテンプレートとして提供している。
一方で、Googleはインフラとオープンソース(OSS)のセキュリティにAIを投入している。
1,250万ドルの資金を投じ、AIを使ってOSSの脆弱性を自動で発見し、修正するプロジェクトを推進中だ。
彼らが開発したBig SleepやCodeMenderといったツールは、自社のブラウザの脆弱性修正で実績を上げている。
これらを統合すると、構築すべきAI活用の標準構成が見えてくる。
- モデル層: Fable 5のような、内部に分類器を持つ高性能モデルを採用する。
- プロンプト層: 標準的な安全ポリシーを組み込み、意図しない挙動を未然に防ぐ。
- ハンドリング層: stop_reason: refusal を検知し、自動で下位モデルへ切り替えるロジックを実装する。
- インフラ層: Googleが提供するようなセキュリティツールを活用し、AIが生成したコード自体の脆弱性をチェックする。
しんたろー:
AIが「できません」と言ったときの処理を丁寧に書くことが、プロダクトの信頼性に直結する。
僕のThreadPost開発でも、投稿内容がAIに拒否されたときの挙動を、エラー画面ではなく「安全なリライト案の提示」に変える準備を始めている。
拒否を「終わり」ではなく「分岐」として捉え直す必要がある。
よくある質問(FAQ)
Q1: Claude Fable 5で拒否が発生した際、課金はどうなりますか?
拒否されたリクエスト自体には課金されません。
ストリーミング中に途中で拒否された場合、拒否が確定するまでに生成されたトークン分はFable 5の料金で、フォールバックしてOpus 4.8が生成した残りの部分はOpus 4.8の料金で按分請求されます。
これにより、高いモデルに投げたのに安いモデルが回答した分まで高く払わされる不透明な課金は発生しません。
Q2: ZDR(データ保持なし)が必須の環境でFable 5は使えますか?
現時点では使えません。
Fable 5およびMythos 5は、すべてのトラフィックが30日間保持される仕様です。
ZDRを契約条件とする規制業界や、厳格なセキュリティポリシーを持つ企業では、現行のFable 5は利用対象外となります。
これらの環境では、保持ポリシーが緩和されるのを待つか、引き続きZDR対応の旧モデルを利用し続ける必要があります。
Q3: OpenAIの安全プロンプトは他社モデルでも使えますか?
技術的には可能です。
OpenAIが公開した安全ポリシーはプロンプト形式で提供されているため、他のモデルにも適用できます。
ただし、これらはOpenAIのモデルの特性に合わせて最適化されているため、他社モデルで使用する場合は、出力のトーンや制限の強さを確認しながら、微調整を行うことが推奨されます。
結論:拒否を飼い慣らす者が、安定したプロダクトを作る
AIの進化は、性能の向上だけではない。
「何ができないか」を明確にし、それをシステムとして制御可能にすることだ。
今回のClaude Fable 5のリリースは、AIが「制御可能なコンポーネント」へと変わる一歩だ。
stop_reason: refusal。
この新しいフラグを自分のコードに組み込むとき、AIとの新しい付き合い方が始まる。
拒否を予測し、フォールバックを設計する。
その積み重ねが、ユーザーに安心感を与えるプロダクトを生む。
AIの安全対策が複雑化し、開発者の負担が増える今こそ、運用の自動化が欠かせない。
拒否応答のハンドリングや、安全なコンテンツ生成のプロセスを安定させたいなら、基盤となるツールの選定から見直す必要がある。

この記事が参考になったら、ThreadPostを試してみませんか?
投稿作成・画像生成・スケジュール管理まで、AIがサポートします。
ThreadPostをもっと知る