AI APIリクエストの全試行を追跡する
本番実践ガイド:AI APIリクエストの全試行を追跡する。決定的な成果物、失敗境界、段階的展開の確認、根拠付きの制約を示します。

本番実践ガイド:AI APIリクエストの全試行を追跡する。決定的な成果物、失敗境界、段階的展開の確認、根拠付きの制約を示します。
先に結論
AI APIリクエストの全試行を追跡するは単独のコード変更ではなく、明示的な本番契約です。トラフィック移行前に成功条件、最終失敗状態、ロールバック条件を決め、証拠と推測を分離してください。
requestから始め、決定的なケースで attemptを証明し、privacyを公開後の課題ではなくリリース条件にします。
再利用できる技術成果物
各行の証拠が同じリクエスト、テスト期間、または設定バージョンに属する場合だけ合格とします。
| 確認点 | 保存する証拠 | 合格条件 |
|---|---|---|
request |
request_id,tenant_pseudonym,operation,accepted_at |
一つの論理リクエストと具体的試行を結びます。 |
attempt |
attempt_number,route_version,model,channel_pseudonym |
一つの論理リクエストと具体的試行を結びます。 |
timing |
connect,headers,first_event,first_output,idle,total |
ワイヤ境界で値を正確に保存し比較します。 |
terminal |
HTTP,provider_class,cancellation_source,retry_decision |
owner、情報源、確認日、既知の制限を記録します。 |
usage |
normalized_input/output/cache_categories_and_provenance |
予約、観測、最終値が永続台帳で一致します。 |
privacy |
allowlisted_attributes_only;no_prompt,secret,or_raw_arguments |
上限が明示され、超過時は閉じた失敗になります。 |
具体例
例は合成データによる決定的なものです。レビュー済みの自社値に置き換え、本番秘密情報や顧客データを含めないでください。
trace_id: 7f3a...synthetic
request_id: req_demo_001
operation: responses
attempts:
- attempt: 1
route_version: rv_42
model: model_alias
timings_ms: { headers: 812, first_output: 1240, total: 3100 }
terminal: upstream_503
- attempt: 2
timings_ms: { headers: 620, first_output: 980, total: 2400 }
terminal: success
usage: { input: 1800, output: 220, source: provider_normalized }
実装手順
- 変更前のリクエスト、レスポンス、設定、観測基準を固定します。
- 決定的な正常ケースを実行し、クライアント結果を完全に保存します。
- 対応する異常または上限ケースを実行します。
- 全試行を一つの論理 request ID で結び、機密本文を除いて時間、終端状態、usage を記録します。
- 停止条件を持つ限定コホートで段階的に展開します。
- 永続状態と公開挙動を再読し、不変条件が崩れたら準備済みのロールバックを実行します。
失敗パターン
外側の HTTP が成功して見えても、次の状態では結果は無効です。
- プロンプト、キー、機密引数をテレメトリへ保存します。
- 安定 ID ではなく配列位置で断片を関連付けます。
- 便利な一フィールドだけを読み、型付き出力、tool、拒否、部分結果を失います。
- 負荷、同時実行、失敗、地域、期間なしで percentile を公開します。
Modelflare の境界
Modelflare は OpenAI 互換ルーティング、キー、グループ、usage、失敗処理を集約できますが、設定済みルートは任意機能の対応証明ではありません。モデルとチャネルをネイティブプロトコルで確認し、明示的なゼロ値を保ち、永続的な最終精算だけを課金の正とします。
広い判断境界は親ガイド、現在のクライアント設定はセットアップ文書を参照してください。
公開前チェックリスト
- 背景より先に主質問へ回答する。
- 各フィールド、状態、指標、式の owner を決める。
- 合成識別子だけを使う。
- 全言語で構造、コード、制限、注意を保つ。
- T-1 に契約、対応状況、価格を再確認し、事実が変われば日程を移す。
- 予定時刻前は public API、各言語ルート、sitemap から除外する。
情報源と確認日
情報源は 2026-08-07 に確認しました。未検証ルートの対応を証明するものではありません。