AIエージェントをエンタープライズシステムに組み込むプラクティス
【オブザーバビリティ / トレース+プロベナンス】
💡 「なぜその回答になったか」を説明できないエージェントは、本番に出してはいけません。構造化トレースとプロベナンスで、確率的な挙動を追跡可能にしましょう。
🔥 解決する課題
- 「なぜこの回答になったか」を再現・分析できない
- 部署・プロジェクト・エージェント単位のコストを把握できない
- モデル変更やプロンプト変更による品質劣化をサイレントに見逃す
- 規制下の意思決定で「なぜこの判断になったか」を後から説明できない
🏗️ 提案パターン
推論ステップ・ツール呼び出し・トークン数・コスト・レイテンシ・評価スコアをOpenTelemetry準拠の構造化トレースで記録します。ログ基盤にはメタデータを、オブジェクトストレージにはプロンプト本文や生出力を格納し、トレースIDで紐付けます。正常系はサンプリング(1〜10%が起点)、エラーや低評価は全量記録します。規制下の重要な意思決定には、参照データ・推論経路・使用モデル・承認者まで遡れるプロベナンス(来歴)を追加します。
✅ 選定条件
- 向き:本番運用するすべてのエージェント(例外なし)
- 不向き:特になし(本番では必須パターン)
⚠️ 落とし穴
- 全プロンプト本文をログ基盤に入れると容量・コストが非現実的になる
- PIIのマスキングを怠るとトレースログ自体がセキュリティリスクになる
- プロベナンスの粒度を決める設計判断は、必ず人間のレビューを通すべき
🛠️ 実装方針
1. OpenTelemetry GenAI semantic conventions 準拠のスパンを全エージェントに組み込み、推論・ツール呼び出し・検索の各ステップをトレースIDで一貫して記録します
2. Langfuse / LangSmith / Arize 等のLLMオブザーバビリティ基盤にメタデータ(モデル名・トークン数・レイテンシ・コスト・評価スコア)を送信し、ダッシュボードで部署別コスト・品質推移を監視します
3. プロンプト本文・コンテキスト・生出力はオブジェクトストレージ(S3等)に格納し、ログ基盤のメタデータとIDで紐付けます
4. tail-based sampling を導入し、正常系は1〜10%サンプリング、エラー・低評価・高コストのリクエストは全量記録します
5. 規制対応が必要な場合は、決定ログをappend-onlyの不変監査ログとして保持し、参照データ・使用モデル・プロンプトバージョン・承認者まで逆引き可能なプロベナンスを構築します
#
AIエージェント# #
エンタープライズアーキテクチャ#