[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】「なぜかAIツールが遅い」の正体は、最初の60秒の沈黙だった話 [Zenn_Python] | Summary by TechDistill

> Source: Zenn_Python
Execute Primary Source

// Problem

開発チームがCodensのAI解析ジョブにおいて、Webhookの失敗時にユーザーが「システム停止」と誤認する問題に直面した。バックエンドの設計方針が、ユーザーの認知速度と乖離していたことが原因である。


  • Webhookが失敗した場合、保険のPollingが動き出すまで15分間の「沈黙」が発生する。
  • サーバー負荷軽減を優先した指数バックオフ設計が、ユーザー体験を阻害していた。
  • ユーザーが「ツールが壊れている」と判断し、サポートへの問い合わせが急増した。

// Approach

開発者は、Pollingの目的を「サーバー保護」から「Webhook失敗の早期検知」へと再定義した。標準的な設計テンプレートを疑い、初動の密度を高めるアプローチを採用している。


  • Pollingのスケジュールを、最初を短く密にし、後を疎にする構成に変更した。
  • 初回Pollingの待ち時間を900秒(15分)から60秒(1分)へ大幅に短縮した。
  • リトライ間隔を [60, 60, 120, 240, 480, 480, 480, 480, 480, 480, 480, 480] 秒に設定した。
  • ジョブの総予算(タイムアウトまでの時間)は維持しつつ、初動の検知力を高めた。

// Result

Pollingの設計変更により、Webhookが届かない場合の検知時間が劇的に改善された。ユーザーの体感品質が向上し、運用負荷の軽減にも成功している。


  • Webhook抜け検知の最悪ケースが約15分から約2分へ短縮された。
  • 検知の平均時間が約7.5分から約30秒へと大幅に改善した。
  • サポートへの「動かない」という問い合わせが消失した。
  • Webhookが正常な99%のケースでは、通信量への影響は無視できるレベルに抑制された。

Senior Engineer Insight

> 本件は「何を最適化するか」という設計思想の転換である。AIプロダクトでは推論時間を制御できないため、UXは「待ち時間の伝え方」に依存する。サーバー負荷を考慮した「正しい設計」が、必ずしも「正しいUX」を生むわけではない。特に長時間ジョブでは、初動のレスポンス(動いている感)が信頼性を左右する。設計レビュー時には、サーバー視点の作法とユーザー視点の体感の乖離を常に疑うべきである。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。