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

クロードコードは、曖昧な指示ではなく、具体的なプロンプトを必要とします。
開発者が報告したところによると、Claude Codeは曖昧な指示よりも詳細なプロンプトでより良い結果を生み出すとのことで、5ヶ月間にわたる40億トークンの経験を引用しています。

クロードはコーディングが苦手ではない ― あなたのコンテキスト設定が問題なのだ
Claudeを数ヶ月使った後、ある開発者は失敗の原因はモデル自体ではなく、コンテキストの構造化の仕方にあると主張する。主な改善点:指示とロジックを分離し、コンテキストのノイズを削減し、安定したパターンを使用する。

OpenClaw コスト最適化:月額200ドルから1ドルへ
適切な設定により、基本的な使用ケースではAPIコストを数百ドルから月額1ドル未満に削減できます。その方法をご紹介します。

3ヶ月にわたる160件のClaudeプロンプトコードのA/Bテストを経て:地味な結論
Samarth氏は制御されたテスト用リグを構築し、160のプロンプトコードを実行した結果、大半はプラセボで、7つが一貫して推論を変え、3つ以上のコードの重ねがけはモデルを混乱させることが判明した。Claude Codeでは、プロンプトコードよりもスキルファイルの方が優れている。