← 学習メニュー
CCDV-F 練習問題 37
CCDV-F
SDK を使えない環境で、Claude API のストリーミング(SSE)を自前で読み取っています。実装は message_start・content_block_delta などの既知のイベントだけを想定しており、想定外のイベントを受け取ると例外で止まります。本番では、ping イベントや、ストリームの途中の error イベント(overloaded_error)で処理が止まっています。最も適切な修正はどれですか。
スポンサーリンク
選択肢を押して回答
正解と解説
正解:A
判断のポイント
SSE を自前で処理するときは、未知のイベントや ping を読み飛ばして処理を続け、ストリームの途中の error イベントは失敗として扱います。
A. 未知のイベントは無視して読み進め、error イベントは失敗として扱う(正解)
ストリームには ping などのイベントが含まれ、今後イベントの種類が追加されることもあります。知らないイベントは無視して処理を続け、途中で届く error イベントは失敗として扱い、必要に応じて再試行します。
B. HTTP のステータスが 200 で始まったストリームは最後まで成功するので、error イベントは無視する(不正解)
ストリームの途中でもエラーは起こり得ます。error を無視すると、欠けた応答を完成したものとして扱います。
C. ping イベントを受け取ったら接続の異常とみなし、接続を切って最初から送り直す(不正解)
ping は接続を保つためのイベントで、異常ではありません。送り直すと費用と遅延が増えます。
D. イベントの種類は将来も変わらないので、想定外のイベントは引き続き例外で止める(不正解)
公式ドキュメントは、イベントの種類が追加され得ることを前提に、未知のイベントを適切に扱うよう求めています。
出題範囲:CCDV-F 分野5「モデル選択と最適化」・項目5.2 技術的な基礎(REST を包む SDK・WebSocket)
参考資料(公式ドキュメント)
公開資料をもとにした独自解説です。本番の問題・難易度・合否を再現するものではありません。
