# GenAI オブザーバビリティ — OpenTelemetry セマンティック規約
## 概要
LLM 呼び出しの背後にあるモデル呼び出し・ツール起動・トークン交換の連鎖を可視化するための [[OpenTelemetry]] セマンティック規約。GenAI 操作の記録方法を標準化し、モデル識別、入出力トークン数、プロンプト・補完・ツール呼び出しの全内容(有効化時)を記録する。
## 対応ツール
| ツール | テレメトリ対応状況 |
|---|---|
| VS Code Copilot | トレース・メトリクス・イベントを送出 |
| OpenAI Codex | 構造化ログと OTel メトリクスをエクスポート |
| Claude Code | メトリクスとログイベントを OTel 経由で送出(トレースはベータ) |
既定では機密コンテンツは非公開で、モデル名やトークン数等のメタデータのみが捕捉される。明示的に有効化するとプロンプト・レスポンスの全文が記録される。
## トレース構造
- **`invoke_agent`**(最上位スパン)
- **`chat`** スパン — 個別の LLM 呼び出し
- **`execute_tool`** スパン — ツール起動
主要属性: `gen_ai.request.model`、`gen_ai.usage.input_tokens` / `gen_ai.usage.output_tokens`、`gen_ai.response.finish_reasons`。
コンテンツ属性(有効化時): `gen_ai.system_instructions`、`gen_ai.input.messages`、`gen_ai.output.messages`。
## メトリクス
- **`gen_ai.client.operation.duration`** — LLM レイテンシのヒストグラム(モデル別フィルタ可)
- **`gen_ai.client.token.usage`** — トークン消費のヒストグラム(入力/出力別フィルタ可)
リクエスト単位のコスト推定、トークン集約的なプロンプトの事前特定、レイテンシ変化の検知、モデル/エージェント横断の利用傾向監視が可能。
## 可視化
Aspire Dashboard(Microsoft、OSS、Docker コンテナ)が OTLP データを直接受信し、GenAI テレメトリ専用ビューアでチャット形式のインタフェースを提供する。
## 出典
- [Inside the LLM Call: GenAI Observability with OpenTelemetry](https://opentelemetry.io/blog/2026/genai-observability/)