コンテンツへスキップ
ガイド

OpenClawでLLMリクエストがタイムアウトするとき

コールド状態のローカルモデル、プロバイダーの制限、そしてよくあるほかの4つの原因

6分で読めます

モデルへのリクエストのタイムアウトは、OpenClawをローカルモデルに切り替えた後に最初に遭遇するエラーの1つで、ドキュメントのトラブルシューティングページには原因の短いリストがあります。その大半はローカルのバックエンドに関するものです。大きなモデルのコールドロード、ハードウェアが扱えないコンテキストウィンドウ、curlには応答するのにGatewayには応答しないホストなどです。2つはホスト型のプロバイダーに関するもので、429の姿をしたレート制限と、403の姿をした上流でのブロックです。ここでは、それぞれの原因と修正方法を、ドキュメントが勧める順に紹介します。

ローカルの原因

  • コールド状態のモデル:大きなローカルモデルは、最初の読み込みに長い時間がかかることがあります。Ollamaプロバイダーに限定して長めのタイムアウトを設定し(ドキュメントの例では300秒)、モデルのエントリーにkeep-aliveパラメーターを指定して、ターンの間もモデルを読み込んだままにします。同じ設定で、ホストが接続の受け付けに時間がかかる場合の接続タイムアウトも延長されます。
  • 大きすぎるコンテキストウィンドウ:多くのモデルは、ハードウェアでは快適に動かせないコンテキストを公称しています。最初のトークンまでのレイテンシを予測可能にするため、モデルのエントリーでOpenClawのトークン予算とリクエストのコンテキストの両方に上限を設定します。
  • curlでは動くのにOpenClawでは動かないホスト:Gatewayを実行しているマシンとランタイムから確認してください。localhostと書かれたベースURLはDockerコンテナからはどこも指さないこと、URLに動作を変えるOpenAI互換の接尾辞が付いている可能性があること、リモートホストでファイアウォールやバインドの変更が必要な場合があること、そしてモデルがリモートのデーモンではなくノートPCのデーモンにある可能性があることが理由です。
大きなローカルモデルは、最初の読み込みに長い時間がかかることがあります。

プローブは通るのに失敗し続けるバックエンド

プロバイダーのトラブルシューティングページには、直接の小さなリクエストには応答するのにエージェントの実行では失敗する、ローカルのOpenAI互換バックエンドのケースが載っています。トランスポートはおそらく正しく、バックエンドがエージェントランタイムのより大きなプロンプトの形で失敗しているのです。ドキュメントの例は、一部のllama-serverビルドでのGemmaです。ペイロードのないincomplete-turnメッセージは、バックエンドがリクエストを完了したものの、表示可能なテキストを返さなかったことを意味します。OpenClawはそのようなターンを1回だけ再試行します。ツールを無効にすると失敗は減るものの消えない場合、ツールのスキーマが負荷の一部であり、残りはバックエンドの処理能力かバグです。

ホスト型の原因

  • 長いコンテキストには追加の使用量が必要だという429:選択したAnthropicモデルがネイティブで100万トークンのウィンドウを持っているか、古い設定に従来の長いコンテキスト用のフラグが残っていて、認証情報がその対象になっていません。標準のウィンドウに切り替えるか、対象となる認証情報またはAPIキーを使い、実行が続くようにフォールバックモデルを設定します。
  • リクエストがブロックされたという汎用的な403:必ずしもOpenClawの問題ではありません。OpenAI互換エンドポイントの前段にあるCDN、WAF、ボット管理ルール、リバースプロキシから返されることもあります。設定を変える前に、status、Gatewayのステータス、ログを確認してください。
  • 間違ったURL:OllamaホストでOpenAI互換の接尾辞を付けるとツール呼び出しが壊れ、モデルがツールのJSONをテキストとして出力することがあります。修正方法は、接尾辞のないネイティブのURLを使うことです。

ローカルモデルの詳細はOllamaでOpenClawを使うガイドに、症状がタイムアウトではなく無反応の場合の段階的な確認手順はOpenClawが応答しないときのガイドにあります。

確認の方法

どの原因の調査も、ドキュメントが繰り返し示す同じ3つのコマンドから始まります。ログを追いかけ、モデルのステータスを確認し、モデルの設定を読むことです。ファイルの場所とtailの方法についてはOpenClawのログの解説で説明しています。

Dialiでは

Dialiではモデルはホスティングされ、タイムアウトの調整は私たちが行うため、このリストのローカル側の半分は当てはまりません。ホスト型の半分は、返信が失われる前にフォールバックのルーティングで処理されます。アシスタントについてはDialiのマネージドOpenClawホスティングをご覧ください。

  • コールド状態のモデル:プロバイダーのタイムアウトを長くし、keep-aliveを設定します。
  • コンテキストが多すぎる:予算とリクエストのコンテキストに上限を設定します。
  • 429や403はプロバイダーの問題で、Gatewayの問題ではありません。
今すぐ始める

読むだけでなく、作ってみましょう

エージェントを設定してチャネルを選べば、いつも開いているアプリの中でエージェントが働き始めます。