Anthropicの非公開OAuthレート制限プールは、Claude Codeシステムプロンプトを必要とします

LLMプロキシを構築していた開発者は、AnthropicのOAuthトークンに対するレート制限の処理が、ヘッダーやトークンの種類ではなく、システムプロンプトの内容に依存していることを発見しました。
問題点
この開発者は、以下の設定で動作する環境を構築していました:
- authTokenを使用したAnthropic SDK
- ベータ版ヘッダー (claude-code-20250219, oauth-2025-04-20)
- user-agent: claude-cli/2.1.75
- x-app: cli
Haikuは正常に動作しましたが、Sonnetではretry-afterヘッダーもレート制限ヘッダーもなく、単に「message": "Error"」というメッセージとともに、持続的な429レート制限エラーが発生しました。一方、同じサーバー上で同じOAuthトークンを使用していたAIエージェント(OpenClawを実行)は、Sonnet 4.6で問題なく動作していました。
解決策
OpenClawのAnthropicプロバイダーソース(@mariozechner/pi-ai)を調査した結果、開発者は以下のコードを見つけました:
// OAuthトークンの場合、Claude Codeの識別情報を含める必要があります
if (isOAuthToken) {
params.system = [{
type: "text",
text: "You are Claude Code, Anthropic's official CLI for Claude.",
}];
}
この1行をプロキシに追加したところ、Sonnetのレート制限エラーは即座に解消されました。
仕組み
APIは、システムプロンプトがClaude Codeとして識別されるかどうかに基づいて、リクエストをClaude Codeのレート制限プール(通常のAPIプールとは別で、上限も高い)にルーティングします。この動作は、SDKのドキュメントやAPIドキュメントには記載されていません。
実用的な修正方法
AnthropicのOAuthトークンを使用していて、不可解な429エラーが発生する場合は、システムプロンプトに「You are Claude Code, Anthropic's official CLI for Claude.」を追加してください。
📖 完全なソースを読む: r/ClaudeAI
👀 See Also

AIエージェントワークフローで見落とされがちな3つのボトルネック:取り込み、コンテキスト管理、モデルルーティング
AIエージェントを最適化する際にしばしば見落とされる3つのレイヤー(クリーンな入力取り込み、ステップ間のコンテキストウィンドウ管理、タスクに適したモデルルーティング)を深掘りします。実用的な修正には、構造化パース、要約されたステップ出力、型付きスキーマ、タスク複雑度に応じたモデル選択が含まれます。

AIエージェントのコンプライアンス強化:ブートストラップ言語とツールベースのアプローチ
ある開発者が、AIエージェントの遵守率向上のための実践的な方法を共有しています。これには、ブートストラップでの否定的な言語の使用や、必要に応じてソフトなルールからハードコーディングされたツールへの切り替えなどが含まれます。

信頼性の高いAIスキル実行のためのプロンプト構造改善
ある開発者が、市場分析スキルを手動介入なしでエンドツーエンドで実行できるようにした2つの重要なプロンプト修正を共有しました:スキルが返すべきものと行うべきものを明確に分離すること、および即興を防ぐための明示的な失敗条件の定義です。

節約最大化:予算内でOpenClawボットを運用する方法
OpenClaw/ClawdBot/MoltBotを無料または低予算で実行する方法を探り、r/openclawで共有されているコミュニティのヒントと工夫に富んだ戦略を活用しましょう。