Executive Summary
AIシステムで最も重要な運用能力の一つはEvalです。
従来のソフトウェアテストに加えて、
Output Quality / Retrieval Quality / Tool Selection / Agent Trajectory / Safety / Cost
を継続的に評価します。
AI ObservabilityとはPromptを記録することではなく、「どのModel・Prompt・Retriever・Toolが、どの経路で、どの品質の結果を作ったか」を追跡可能にすることです。
最終確認日: 2026-10-08
背景と重要性
通常のシステムなら、
Input
→ deterministic code
→ Output
ですが、AIでは、
同じようなInput
→ Model
→ 異なるOutput
が起こります。
さらにAgentでは、
Input
→ Model
→ Tool A
→ Model
→ Tool B
→ Model
→ Result
となります。
したがって「最終回答」だけでは不具合解析できません。
評価レイヤー
Component Eval
Retriever
Tool
Prompt
Model
Classifier
を個別に評価します。
End-to-End Eval
最終的なTaskが完了したかを評価します。
Production Eval
本番Trafficからサンプリングして継続評価します。
主要トピックと最新動向
Evals as Code
PromptやModelと同じようにEvaluation DefinitionをVersion管理します。
evals/
support-answer/
dataset.jsonl
grader.yaml
thresholds.yaml
OpenAIにもEval DefinitionやRun、Grader等を扱うEvals APIがあります。
LLM-as-a-Judgeだけに頼らない
LLM Judgeは大量評価に便利ですが、評価Model自体も誤ります。
そのため、
Human-reviewed Dataset
↓
Judge Calibration
↓
Large-scale Automatic Eval
という構成にします。
高リスクCaseはHuman Reviewへ回します。
RetrievalとGenerationを分離評価する
RAGで回答が間違った場合、
必要文書を取得できなかった
のか、
文書はあったがモデルが誤った
のかを分離します。
指標例:
Retrieval
- Recall@K
- Precision@K
- ACL correctness
Generation
- correctness
- groundedness
- citation correctness
AgentはTrajectoryを評価する
最終回答が正しくても、
本番DBを無駄に10回検索
していたら良いAgentとは言えません。
評価対象:
Task Success
Tool Selection
Tool Arguments
Number of Steps
Latency
Cost
Safety Violations
OpenTelemetry GenAI
OpenTelemetryではGenAI Client、Agent、MCP、Provider固有規約などを扱うGenAI Semantic Conventionsが整備されています。
OpenTelemetry GenAI Semantic Conventions
これにより既存のObservability StackとAI Traceを統合しやすくなります。
推奨Observability Model
Trace Attributes例
ai.model.id
ai.prompt.version
ai.agent.version
ai.retriever.version
ai.tool.name
ai.tool.version
ai.input_tokens
ai.output_tokens
ai.latency
ai.cost
ai.eval.task_success
実際のAttribute名については利用するTelemetry仕様の最新Versionへ合わせます。
実務での活用例
Model Upgrade Gate
Threshold例:
Task success >= current - 0.5%
Critical errors <= current
P95 latency <= 5 sec
Cost / task <= budget
Safety violations = 0 critical
Prompt Change Gate
Promptもコード変更と同様に、
Pull Request
→ Eval
→ Review
→ Deploy
へ載せます。
実務チェックリスト
Dataset
- 実ユーザーTaskを反映した
- Easy / Hard / Edge Caseを入れた
- Security Caseを含めた
- Human-reviewed Ground Truthがある
- DatasetをVersion管理する
Offline Evaluation
- Model変更時に実行する
- Prompt変更時に実行する
- Retrieval変更時に実行する
- Tool変更時に実行する
- Agent Policy変更時に実行する
Production
- Trace IDで全工程を追える
- Model IDを記録する
- Prompt Versionを記録する
- Tool Callを記録する
- PIIをRedactする
- CostをTenant/Feature単位で把握する
Incident
- AI Quality Incidentの定義がある
- Model rollback手順がある
- Prompt rollback手順がある
- Feature Kill Switchがある
- Provider outage Runbookがある
導入時の注意点とリスク
Averageだけを見ない
平均Accuracy 95%でも、
金融処理では50%
なら使えません。
Slice単位で評価します。
language
customer tier
document type
risk level
task category
などで分解します。
Eval Setへの過学習
同じEvaluation Datasetを延々と最適化すると、Datasetに特化します。
Holdout Setを持ちます。
Production TraceのPrivacy
Prompt/Responseをすべて保存すればデバッグしやすくなりますが、Privacy Riskも高まります。
必要性に応じて、
- redaction
- sampling
- retention
- access control
を設計します。
推奨情報源
- OpenAI Evals API
- OpenAI Deployment Safety Hub
- OpenTelemetry GenAI Semantic Conventions
- AWS AgentCore
- NIST AI RMF
- SWE-bench