第3章 · Claude API Basics
エラー処理とレートリミット
Errors & Rate Limits
→ で次のスライド · F でフルスクリーン · N で講師ノート · Esc で終了
重要キーワード
Rate Limit
レートリミット
単位時間あたりの呼び出し上限 (RPM/TPM)
Exponential Backoff
指数バックオフ
失敗ごとに待機時間を倍々で伸ばすリトライ戦略
Idempotency
冪等性
同じ操作を何度繰り返しても結果が変わらない性質
Retry-After
リトライ後待機時間
429 で返るヘッダ。次の試行までの待ち秒数
エラー処理
Anthropic の中心テーマは AI Safety。 モデルが強力になるほど、誤用・予期せぬ振る舞い・社会的影響のリスクは増します。 それを技術と運用の両面から減らす活動を AI Safety と呼びます。
Constitutional AI (CAI)
LLM を訓練する際、人間からのフィードバック (RLHF) だけでなく、 「原則 (constitution) に従って AI 自身が自分の出力を批評・修正する」 プロセスを追加した手法。
- AI が回答を生成する。
- AI が原則 (例: 「有害な指示は避ける」「誠実に答える」) に照らして自己批評する。
- AI が修正された回答を出力する。
- このペアを使ってモデルを再訓練する。
これにより、人間アノテーターの工数を抑えながら 一貫した安全性 を獲得できます。
Refusals (拒否)
Claude には 「やってよいこと/やってはいけないこと」 の判断ロジックが組み込まれています。 たとえば爆発物の製造方法や、本人の同意のない監視ツールの作成は拒否します。 ただし、過剰な拒否 (over-refusal) を避ける研究も継続的に行われています。 誠実でない拒否や安全と無関係な過保護も望ましくありません。
Responsible Scaling Policy (RSP)
Anthropic は Responsible Scaling Policy という社内ガイドラインを公開し、 モデルの能力レベル (ASL = AI Safety Level) に応じて、 取り扱い・公開・運用基準を段階的に厳しくしています。
- ASL-1: 既存ツールと同等のリスク
- ASL-2: 現在の Claude が該当
- ASL-3 以上: 大規模な社会的危害を及ぼし得るレベル — 公開前に追加の評価と緩和策を要求
開発者として知っておくべきこと
- System Prompt (システムプロンプト) で振る舞いをある程度制御できるが、安全性ガードレールを完全に外すことはできない。
- Jailbreak (ジェイルブレイク) 試行はサービス利用規約違反になりうる。
- 自分のアプリで 入力検査・出力検査 を行うことが推奨される。
- AUP (Acceptable Use Policy) に違反する用途は API 利用が停止される。
安全な振る舞いの観察
実際に Claude が拒否する例を見てみましょう (拒否の理由付け方が CAI らしいか観察)。
▶ エラー対応プランを Claude に
あなたは API クライアント設計をレビューする SRE です。Anthropic API の RateLimitError と APIStatusError(5xx) に対するリトライ戦略を、擬似コードで提示してください。考慮点も箇条書きで。Hands-on Exercise
演習: リトライ付きラッパーを書く
`safe_call(prompt, retries=5)` 関数を実装し、次の動作を確認してください。
- RateLimitError → exponential backoff + jitter
- 5xx エラー → リトライ
- 4xx (RateLimit 以外) → 即座に raise
テスト方法: わざと小さい max_tokens にしてエラーを誘発したり、無効なモデル名で 404 を起こしたりして挙動を確認。
▶ Playground を開いて実行
🎉
まとめ
お疲れ様でした!