ローカルで動作する大規模言語モデルの配信基盤に、通信の健全性を見極める小さな変更が加わった。サーバーは1秒ごとに無音のpingを送り、切断判断を3秒に延ばす。これにより、返答を生成し始める前の重い処理で生じる“沈黙”が、正常な接続を切断しにくくなる。地味な閾値調整が、ユーザー体験とインフラ設計の距離を縮めている。

無音pingと3秒の猶予が生まれた背景

今回の変更は、サーバー側とUI側を横断するSSE(Server-Sent Events)の制御に関するものだ。従来は、応答のないストリームを一定時間で切断する仕組みが、遅いプリフィル(応答前のモデル内部計算)をタイムアウトと誤認する問題を抱えていた。新しい設計では、サーバー側から1秒ごとに無音のpingを送信し、UI側は連続して3秒間pingが途絶えた場合にのみ切断と判断する。この分離により、応答前の重い計算が続いても接続が維持される確度が高まった。現在の仕様では、APIクライアント向けのグローバル既定値は30秒のままだが、WebUIはリクエストボディにsse_ping_interval:1を明示的に指定する。サーバー側の実装変更は、単なるタイマー調整ではなく、通信状態と計算状態を別の層として扱う発想の転換を示している。

WebUIが持ち込んだ「可変ping契約」の考え方

注目すべきは、ping間隔がグローバル固定値からリクエストごとのフィールドに変更された点だ。レビューでは「3秒の可視性を持つのはWebUIの側」という整理が行われ、クライアントが必要な間隔を宣言する形に変わった。サーバー側は、フィールドの値を型付きのtask_paramsとして受け取り、硬直した範囲外の値は型と範囲の検証で自動的に弾かれる。値が正の場合は既存のping動作、-1の場合は機能が無効化される。既定値はCLIパラメータから継承され、APIクライアントには従来通りの振る舞いが維持される。この設計は、ユーザーインターフェースが自分自身の可視性要件をもとにサーバーと契約を結ぶモデルであり、単一のシステム設定を共有する従来のWebアプリケーションとは一線を画す。

多様なハードウェア環境が求める通信の寛容性

同じ変更のリリースノートには、macOS Apple SiliconやiOS、LinuxのVulkan・ROCm・OpenVINO、WindowsのCUDA 12/13やHIP、Android arm64など、非常に広範なプラットフォーム対応が記載されている。これは、推論のパフォーマンスがデバイスごとに大きく異なる現実を示唆する。プリフィルが遅延しやすい特定のGPUや、Kleidi AIが有効化されたApple Silicon上の最適化パスなど、多様な環境で同様の切断誤認が発生する可能性があったと推測できる。3秒という“切断猶予”は、こうしたヘテロジニアスな実行環境全体に対して、一律のタイムアウトではなく、処理の遅延とネットワーク障害を識別するための緩衝域として機能する。

ストリーミングAI基盤に忍び込む「時間設計」の競争

一見すると小さなHTTPストリームの改良は、実のところリアルタイムAIサービスの信頼性を左右する分水嶺になりつつある。応答を逐次表示するストリーミングUIが一般的になった現在、ネットワークの揺らぎとモデル計算の遅延を見分ける精度は、ユーザーが感じる応答性そのものである。ping間隔を短くとりつつも切断判断を遅らせる手法は、計算完了前に本質的でないタイムアウトを起こさないための工学的な折り合いだ。この種の時間設計は、クラウドAPIを提供する事業者にとっては冗長化や分散推論と組み合わせる際の基盤技術になりうるし、エッジデバイス上で動くローカルLLMにとっては限られたリソースを効率的に活かす鍵となる。接続維持と切断判断の間にある空白地帯が、今後のAI配信インフラの差別化領域に浮上している。