AI API Latency: TTFT, Streaming and Why First Token Matters
一次串流請求的時間線:DNS 解析 → TCP 握手 → TLS 握手 → 閘道驗證與路由 → 上游連線 → 模型排隊與首字 → 逐 token 輸出。前三段是網路常數(台灣到香港 RTT 19ms,3×RTT ≈ 57ms 屬正常),後三段才是服務商能優化的。
所以別把 60ms 的 TTFT 當故障——那是物理極限附近;該追的是 P95 突然變長(代表某上游排隊或故障轉移在發生)。
①閘道必須關閉 SSE 緩衝(flush_interval -1),逐 chunk 轉發;②HTTP/3(QUIC)在部分網路會卡到逾時,服務端應只開 h1/h2;③上游長連接複用省掉每次請求的握手(實測可省 25ms+);④客戶端 SDK 也要關緩衝(部分代理層的 gzip 會把 SSE 攒成一坨)。
①在控制台看 TTFT P50/P95 分佈,定位是全面變慢還是長尾;②若是長尾——大概率是某上游故障正在觸發換家(每次失敗嘗試吃掉一個逾時週期);③檢查該時段是否正好有上游故障,服務商有沒有自動切走;④自己網路層:換備援端點(例如香港↔日本通道)對比。
推理型模型(帶 thinking)首字必然較慢——模型要先生成內部推理。旗艦模型在尖峰時段也可能排隊。對延遲敏感的場景:選 flash/mini 等快速檔位+穩定分組;OlithmRouter 的用量日誌同時記錄 first_token_ms 與總延遲,模型間可直接對比。