会話やドキュメントのコンテキストが長すぎる場合

簡潔な回答

Whiziはコンテキスト上限のエラーを表示しません。モデルの許容量を超えた会話は、リクエスト送信前に収まるように黙ってトリミングされます。実際にメッセージを拒否する上限は4つあり、1メッセージ100,000文字、1リクエスト100メッセージ、ルートのリクエストボディ上限、そして32,000文字のシステムプロンプトです。

簡単な回答

Whiziはコンテキスト上限のエラーを表示しません。製品内のどの文言もコンテキストウィンドウやトークン上限について言及することはなく、モデルの許容量を超えた会話は拒否されるのではなく、リクエスト送信前に収まるように自動でトリミングされるためです。それが起きたことを知らせる仕組みはありません。長い会話の途中をモデルが忘れてしまったように見えるなら、それがまさにこの現象です。

実際に拒否される4つのケースがあり、それぞれ固有のメッセージ名を持っています。

メッセージHTTPコード発生条件
This message is {count} characters, over the 100,000 character limit. Attach a shorter file, or ask about one section at a time.400 message_too_long1件のメッセージ(添付ファイルから抽出したテキストを含む)が100,000文字を超えている
This conversation has {count} messages, over the 100 message limit.400 too_many_messages1回のリクエストに100件を超えるメッセージの履歴が含まれていた
Request is too large.413 request_too_largeJSONリクエストボディ全体がルートのバイト上限を超えた
That system prompt is missing or over the 32,000 character limit.400 invalid_system_promptシステムプロンプトが32,000文字を超えている

文字数上限のメッセージ内にある{count}には、桁区切りでフォーマットされた実際の文字数が入ります。画面上には文章しか表示されない場合でも、各メッセージの横にあるコードはネットワークトレースで確認できます。

コンテキスト長やトークン数を示すメッセージを見た場合、それはWhiziから出たものではありません。最後のセクションに進んでください。

すべてのモデルに割り当てられる予算と、それを超えたときに起きること

カタログ内のすべてのモデルは、1ターンあたり入力40,000トークン、出力20,000トークンという同じ予算を与えられています。唯一の例外はCanadian CPA agentで、入力55,000トークン、出力40,000トークンです。

会話がその予算を超えると、バックエンドは拒否するのではなく、モデルのトークン予算に合わせて履歴を黙って切り詰めます。トースト通知もバナーもエラーコードも表示されません。

Whiziがトリミングの基準にしているトークン数は、実際のトークナイザーではなく推定値です。JSONに対しては実際のトークナイザーより最大1.66倍少なくカウントされることがあるため、最悪のケースをカバーするために入力には1.8倍の余裕が適用されています。

より大きなコンテキストのモデルに切り替えても送信量は増えない

これは最もよくある誤った対処法です。40,000トークンの入力予算は一律で、100万トークンのウィンドウを持つモデルでも、200,000トークンのウィンドウを持つモデルでも変わりません。長い会話を大きなウィンドウを持つモデル同士で移動しても、送信される量は何も変わりません。

コンテキストウィンドウのサイズが予算を変えるのは下方向のみです。ウィンドウが93,000トークンを下回るモデルは、一律の予算の代わりに比例した小さい予算が割り当てられ、出力はウィンドウの40パーセントに制限され、1,000トークンの安全マージンが確保されます。カタログ内では31のモデルがこのように制限されており、その中で最小のウィンドウは6,144トークンです。

実際に効果があるのは、多くの人が試すのとは逆の切り替えです。制限された小さいモデルから通常のモデルへ移ることです。大きなウィンドウを持つモデル同士を移動しても、長さに関しては何の効果もありません。会話の途中でモデルを切り替えたときの挙動は会話の途中でモデルを切り替えるで説明しています。

なぜ小さな内容がモデルに拒否されたのかを考える際に知っておく価値がある、93,000という数字の背景にある詳細があります。OpenRouterはモデルのウィンドウに対して、入力単体ではなく、入力に要求された最大出力を加えた値をカウントします。

長いアップロードは切り詰められ、その旨が通知される

1件のメッセージが100,000文字を超える主な原因はアップロードです。PDF、Word、スプレッドシートのファイルはブラウザ内でテキストに抽出され、そのテキストは自分で入力した文字と同じ上限に対してカウントされるためです。

抽出したテキストが収まらない場合、拒否ではなく切り詰めが行われ、2つの文言が表示されます。トースト通知にはYour upload was too large, so only the first part of it was sent. Ask about a smaller section for full coverage.と表示されます。メッセージ自体には、切れた箇所に[Attachment truncated: the upload was larger than one message can carry, so the content past this point was not included.]というマーカーが付き、モデルが自分のコピーがどこで途切れているかを把握できるようになっています。

切り詰められる代わりにメッセージが拒否された場合は、最初の表にあるmessage_too_longの文言が表示されます。対処法はエラー自体が示している通りです。より短いファイルを添付するか、一度に1つのセクションずつ質問してください。

「忘れられた」ように見えるもう一つの挙動があります。添付ファイルを含む直近のユーザーメッセージのみ、その添付ファイルがモデルに転送されます。10ターン前に添付した画像やPDFは、それ以降の各ターンで再送信されることはありません。モデルに再度確認してほしい場合は、もう一度添付し直してください。Whiziが対応しているファイル形式と抽出の仕組みについては対応ファイル形式をご覧ください。

長さによって1ターンの価値が変わるため、コストについても触れておきます。Autoでは、約6,000文字を超えるメッセージは、それだけ長い内容は質問ではなく貼り付けられた文書だという判断のもとで、4クレジットの長文用ランクに振り分けられます。短い質問は1クレジットのクイックランクに振り分けられます。クレジットの体系についてはクレジットの仕組みをご覧ください。

ピン留めしたプロジェクトファイルは毎ターン、プロンプトに計上される

ピン留めされたプロジェクトファイルは、1回だけでなく、そのプロジェクトのすべてのターンでプロンプトのテキストとして一緒に送られます。これが、画像がピン留め可能なファイル形式から意図的に除外されている理由です。

この上限は独自のものです。ピン留めされた各ファイルが提供する抽出テキストは最大32,000文字までで、プロジェクト全体のブロックは、最大10ファイルまでで合計120,000文字までに制限されます。プロジェクトのカスタム指示は最大32,000文字まで設定できます。

ピン留めされたファイルと指示は、そのプロジェクトのすべてのターンで、会話と同じ入力予算の中でプロンプトに再構築されます。プロジェクトのチャットが通常のチャットより早く話の流れを見失っているように感じたら、質問していないファイルのピン留めを外してください。

実際にコンテキスト長のエラーを見た場合

それはWhiziではなく、モデルプロバイダーから届いたもので、パススルーを通じて表示されています。レート制限以外の上流の失敗はすべて、provider_errorというコードとともにHTTP 502として返され、プロバイダーのメッセージが300文字に切り詰められて含まれます。プロバイダーのエラー本文がまったく解析できない場合は、代わりにThe model provider rejected the request.と表示されます。

プロバイダーが長さを理由に拒否する場合、コンテキスト長とトークン数が明示されます。これらの数字は、Whiziが送った予算よりも小さいウィンドウに対してプロバイダーがリクエストをカウントしていることを示しており、サポートが調査する際にまさに必要な情報です。

インターフェースのどの設定を変えてもこれは変わりません。回答を得るには別のモデルに切り替え、数字を含む正確なメッセージをサポートに送ってください。

長さの問題と誤解されやすい文言がさらに2つあります。Generation failed mid-stream.The model stream was interrupted.は、回答の途中での接続エラーであり、長さによる拒否ではありません。これらは再試行してください。Too many requests. Please wait and try again.は1分あたり10メッセージのレート制限によるもので、これも長さとは関係ありません。

チェックリスト
  • Whiziにはコンテキスト上限のエラーがなく、会話を黙って切り詰める
  • すべてのモデルは1ターンあたり入力40,000、出力20,000トークンという一律の予算を持つ
  • 唯一の例外はCanadian CPA agentで、入力55,000、出力40,000
  • 93,000トークン未満のウィンドウはその予算を下げるだけで、上げることはない
  • 1メッセージは100,000文字が上限で、ファイルから抽出したテキストも含まれる
  • 1リクエストが運べる履歴は最大100メッセージまで
  • 添付ファイルを転送するのは、直近の添付ファイル付きメッセージのみ
  • ピン留めされたプロジェクトファイルは、そのプロジェクトの毎ターン、プロンプトのテキストとして一緒に送られる
  • Autoでは、約6,000文字を超えるメッセージは4クレジットの長文用ランクに振り分けられる
  • コンテキスト長を示すメッセージはプロバイダーから届いたものなので、モデルを切り替えてサポートに伝える

よくある質問

Whiziにはコンテキスト上限のエラーがありますか?

コンテキストとしてのエラーはありません。Whiziが実際に表示する長さに関するメッセージは、ウィンドウではなく件数についてのものです。1メッセージにつき100,000文字、1リクエストにつき100メッセージ、システムプロンプトにつき32,000文字、そしてリクエストボディ全体に対する413 Request is too large.です。目の前のメッセージがトークン数やコンテキスト長を示している場合、それは502のプロバイダーパススルーを通じて届いたものであり、モデルプロバイダーによるものです。

なぜモデルはチャットの前半で言ったことを忘れたのですか?

リクエストが送信される前に、その内容がリクエストから切り詰められたためです。バックエンドは拒否するのではなく、モデルのトークン予算に合わせて履歴を黙って切り詰めるため、確認できるエラーもなく、オフにする設定もありません。話題が変わったら新しい会話を始めるのが現実的な対処法です。

より大きなコンテキストウィンドウを持つモデルに切り替えれば、もっと多く送れますか?

いいえ。入力予算はカタログ内のすべてのモデルで一律40,000トークンなので、100万トークンのウィンドウでも200,000トークンのウィンドウでも、会話が送られる量は同じです。

「over the 100,000 character limit」とはどういう意味ですか?

1件のメッセージが100,000文字というメッセージごとの上限を超え、HTTP 400とmessage_too_longというコードで拒否されたことを意味します。添付したPDF、Wordファイル、スプレッドシートから抽出したテキストも同じ上限にカウントされるため、入力ではなくアップロードが原因であることが多いです。対処法はメッセージ自体に書かれています。より短いファイルを添付するか、同じ会話の中で一度に1つのセクションずつ質問してください。

「over the 100 message limit」とはどういう意味ですか?

1件のリクエストが100件を超えるメッセージの履歴を運んでおり、HTTP 400とtoo_many_messagesというコードで拒否されたことを意味します。これは会話がどれだけ長くなれるかではなく、1件のリクエストが運べる量に対する上限です。次の話題では新しい会話を始めるのが現実的な対処法であり、モデルにも質問内容をより明確に伝えられます。

上限より長い文書を要約するにはどうすればよいですか?

文書を分割し、1つの会話の中でセクションごとに進めてください。これはmessage_too_longの文言自体が推奨している方法です。各セクションの要約を依頼し、そのあとでそれらの要約をまとめて要約してもらいます。ファイルのテキストを抽出した後、1つのセクションだけでも100,000文字を超える場合は、そのセクションをさらに分割してください。

より大きなコンテキスト予算を購入できますか?

いいえ。この予算はプランではなく、カタログ内のモデル自体の性質であり、それを引き上げる設定はどこにもありません。上位プランで得られるのは、より多くのモデルへのアクセスと月間の利用枠の増加であり、1ターンあたりの余裕ではありません。プランとモデルの対応関係はモデルリファレンスをご覧ください。