Skip to main content

Anthropic ネイティブモードを選ぶ理由

OpenClaw は Claude モデルを呼び出す方法を 2 つサポートしています。tool 呼び出し (tool_use) やその他の高度な機能が必要な場合は、Anthropic ネイティブモード (anthropic-messages) を強く推奨します:
openai-completions では、基本チャットは問題なく動作しますが、マルチターンのツール呼び出し (tool_calls → tool_result → tool loop) は 400 エラーで拒否される場合があります。anthropic-messages に切り替えると、tool_use + tool_result 形式が正しく動作します。

推奨構成

~/.openclaw/openclaw.json を編集し、次のプロバイダー設定を追加してください:

重要な設定上の注意

次の3点は必ず正しく設定してください。そうしないと、400エラーが発生します:
  1. baseUrl/v1 なし: https://api.apiyi.com にする必要があります。/v1 を追加すると .../v1/v1/messages となり、リクエストが失敗します
  2. headersanthropic-version を含める必要があります: 2023-06-01 に設定します
  3. anthropic-beta を空文字列に設定: ベータ機能のヘッダーを無効にし、未対応の機能をトリガーしないようにします

reasoning: falseについて

APIYI の Claude モデルは、リクエストに thinking 関連フィールド(thinking / output_config)が含まれていると 400エラーを返しますモデルエントリで "reasoning": false を設定すると、OpenClaw が thinking フィールドを送信しなくなり、この問題を回避できます。

モデルの許可リスト設定

モデルをagents.defaults.modelsに追加してください。そうしないと、OpenClaw がモデルを「未登録」と報告し、別のモデルへ黙ってフォールバックする場合があります:

OpenAI Compatible Mode との比較

Claude モデル ID 一覧

混合設定(推奨)

OpenAI互換とAnthropicネイティブの両方のプロバイダーを設定し、必要に応じて切り替えます:
チャットでは /model apiyi/gpt-5.4 または /model apiyi-claude/claude-sonnet-4-6 を使ってモデルを切り替えます。

設定を確認する

セットアップ後、設定が正しく動作していることを確認します。
返された JSON で、meta.agentMeta.providermeta.agentMeta.model が設定と一致していることを確認してください。

トラブルシューティング

これは通常、リクエスト内の推論関連フィールドが原因です。次を確認してください:
  • モデルエントリに "reasoning": false が設定されている
  • ヘッダーに "anthropic-beta": "" が正しく設定されている
既存のチャットセッションが古いモデル設定をキャッシュしている可能性があります。対処法は 2 つあります:セッションのモデルをパッチする:
または、セッションをリセットする:
モデルが agents.defaults.models の許可リストに追加されているか確認してください。未登録のモデルは OpenClaw によって自動的にフォールバックされます。
Anthropic のネイティブモード baseUrl には /v1 を含めてはいけません。https://api.apiyi.com/v1 を使用すると .../v1/v1/messages となり、404 エラーの原因になります。