ChatGPT、Claude、Geminiにコードで連携するとき、いちばんイライラするのはモデルが賢くないことじゃなく、そもそも反応しないこと:401、403、429が順番にやってくる。以下の切り分けは自分がいちばんよく使っていて、だいたい「APIが通らない」をオカルトから現実に引き戻せる。
タイプ1のエラー:401 無効なキー/署名が違う
invalid_api_key、Unauthorizedが見えたら、まず絶望しなくていい。十中八九、コピー時に余計な空白が入った、プレフィックスが足りない、あるいはテスト環境のKeyを本番に突っ込んだ――などが原因だ。
- Keyが正しいプラットフォーム発行か確認:OpenAI/Anthropic/Googleを混ぜて使わない
- リクエストヘッダーを確認:Bearer形式が正しいか
- 最小構成のリクエストで検証する。最初からパラメータを盛りすぎない
タイプ2のエラー:429 レート制限/枠(クォータ)切れ
429はネットワーク問題に見えるが、実際は「使いすぎ」が原因であることが多い。
- 並列数を抑え、指数バックオフでリトライする
- 請求とクォータを照合する。GeminiとClaudeはプロジェクト/組織の選択ミスに注意
- 長文は可能なら分割する。プロンプトはKISS原則で:シンプルなほうが安定する
タイプ3のエラー:403 地域制限/リスク制御によるブロック
403は多くの場合、権限がないのではなく、プラットフォーム側があなたを「怪しい」と判断している。社内ネットワーク、データセンターIP、頻繁なノード切り替えは引っかかりやすい。


