# instinct: LLMクライアントのリトライは用途別に系統A(固定2秒)と系統B(指数バックオフ)を分ける
## 根本原因
`lib/llm_client.py` のretryループが待機なしで別モデルへ即連打していた。
レート制限中の相手サービスへの追い討ちとなり、一時的な障害が長期化する。
## ポイント
- **系統A(continuation)**: 固定2秒。TCP切断・タイムアウト等の軽微な問題向け
- **系統B(failure)**: `10s → 20s → 40s → 80s → 160s → max 300s` + ジッター±20%。API失敗・レート制限向け
- sync(バッチ系)はデフォルト `failure`、async(FastAPI等)はデフォルト `continuation` に設定する
- 環境変数で上書き可能にしておく: `LLM_RETRY_BASE_SEC` / `LLM_RETRY_CAP_SEC` / `LLM_RETRY_JITTER_PCT`
- Ollamaフォールバックの直前にも待機を挿入する
## 関連Issue
- vvv-bots PR#170 / infra#444
instinct: LLMクライアントのリトライは用途別に系統A(固定2秒)と系統B(指数バックオフ)を分ける