変更要約: 初版: ドメイン5(テスト・検証・トラブルシュート)の2節を作成
5.2GenAI アプリケーションのトラブルシューティング
GenAI 固有の不具合の切り分けを学びます。コンテキストウィンドウ超過、FM API 統合の問題、プロンプトの不具合、検索(埋め込み品質/ドリフト)の問題、スキーマ検証・CloudWatch Logs/X-Ray でのプロンプト保守を扱います。
GenAI の不具合は「入力(コンテキスト)・検索・プロンプト・API」のどこかに起因します。症状から原因の層を切り分け、再現・修正・回帰防止までを体系的に行います。
5.2.1症状から原因を切り分ける
- コンテキスト超過:応答が途中で切れる/情報が欠落=コンテキストウィンドウ超過。動的チャンキング・プロンプト設計・切り捨てエラー分析で対処。
- API 統合の問題:エラーログ・リクエスト検証・レスポンス解析で GenAI サービス固有の統合エラーを特定する。
- 検索の問題:関連性低下=埋め込み品質/ドリフト/ベクトル化/チャンキングを診断し、ベクトル検索性能を最適化する。
- プロンプト保守:テンプレートテスト・版比較・スキーマ検証で形式不整合を検出、CloudWatch Logs/X-Ray でプロンプトのオブザーバビリティを確保。
「応答が途中で切れる/情報欠落=コンテキストウィンドウ超過(動的チャンキング/切り捨て分析)」「検索が外れる=埋め込み品質/ドリフト/チャンキングを診断」「出力形式が崩れる=スキーマ検証」「プロンプトの可観測性=CloudWatch Logs/X-Ray」 は頻出です。
トラブルシュートは「症状→層の切り分け→修正→回帰防止」で進めます。回答が途中で切れる/必要情報が落ちるのは コンテキストウィンドウ 超過が典型で、動的チャンキング・プロンプト設計の見直し・切り捨てエラー分析で対処します。回答が的外れなら検索層を疑い、埋め込み品質・埋め込みドリフト・ベクトル化・チャンキング・前処理を順に診断(前章の「チャンク→埋め込み→ハイブリッド/reranker→クエリ前処理」の切り分けと整合)。API 統合の不具合は CloudWatch Logs のエラーログ・リクエスト検証・レスポンス解析、サービス境界は X-Ray でトレース。出力形式の崩れは JSON Schema によるスキーマ検証で検出し、プロンプトの混乱はテンプレートテスト・版比較・体系的なリファインメントで解消します。再発防止には回帰テストと品質ゲート(前節)を CI に組み込み、プロンプトのオブザーバビリティ(CloudWatch Logs/X-Ray)で継続的に監視します。
| 症状 | 疑う層 | 対処 |
|---|---|---|
| 回答が途中で切れる | コンテキスト超過 | 動的チャンキング/切り捨て分析 |
| 回答が的外れ | 検索(埋め込み) | 埋め込み品質/ドリフト診断 |
| 出力形式が崩れる | プロンプト/出力 | JSON Schema 検証 |
| 原因区間が不明 | 統合/分散 | CloudWatch Logs/X-Ray |
ひっかけ: 「回答が途中で切れるのは必ずモデルの性能不足」は誤りです。多くはコンテキストウィンドウ超過や応答長制限が原因で、動的チャンキング/プロンプト設計で解決します。また「検索が外れる=モデルを大型化すれば直る」も誤り(埋め込み品質・チャンキング・検索方式を先に診断)。
5.2.2この節のまとめ
- 途中で切れる=コンテキスト超過/的外れ=埋め込み/検索診断/形式崩れ=スキーマ検証
- 可観測性=CloudWatch Logs/X-Ray/再発防止=回帰テスト+品質ゲート
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 長い文書を扱う RAG で、回答が途中で切れたり必要な情報が欠落したりする。最も可能性の高い原因と対処は?
Q2. 後続処理が期待する JSON の形式に、FM の出力が時々合致せずパースに失敗する。形式不整合を検出する最適な対策は?
Q3. RAG の回答の関連性が以前より低下している。原因を切り分ける際、検索層で最初に診断すべき要素は?

