docs/docs/genai/eval-monitor/ai-insights/detect-issues.mdx
import ImageBox from '@site/src/components/ImageBox'; import FeatureHighlights from "@site/src/components/FeatureHighlights"; import WorkflowSteps from "@site/src/components/WorkflowSteps"; import ConceptOverview from "@site/src/components/ConceptOverview"; import { Target, BarChart3, Bot, AlertTriangle, Search, Lightbulb, FileText, CheckCircle } from "lucide-react"; import useBaseUrl from '@docusaurus/useBaseUrl';
Automatically identify quality and operational issues in your LLM application using AI-powered analysis of traces directly within the MLflow UI.
<video src={useBaseUrl("/images/genai/issue-detection/issue-detection.mp4")} controls loop autoPlay muted aria-label="Issue Detection" />
As your LLM application scales in production, maintaining agent quality becomes increasingly challenging:
Issue detection uses a multi-stage AI analysis pipeline:
<WorkflowSteps steps={[ { icon: Bot, title: "Identify issues from traces", description: "Automatically identify issues from your selected traces, based on the chosen categories and model" }, { icon: Search, title: "Analyze triage results", description: "Build per-session analyses from triage results, combining triage rationales, human feedback and agent execution logic" }, { icon: CheckCircle, title: "Cluster issues", description: "Cluster analyses into identified issues via LLM-based labeling and grouping" }, { icon: FileText, title: "Annotate issues", description: "Annotate traces with corresponding issues, including the rationales" }, { icon: Lightbulb, title: "Summary", description: "Generate a summary of identified issues and root causes" } ]} />
The system examines your trace data to understand:
From this data, the AI identifies problems across six quality dimensions.
MLflow organizes issue detection across six quality dimensions, forming the CLEARS framework (Correctness, Latency, Execution, Adherence, Relevance, Safety). Choose which categories to focus on based on your application's requirements:
<ConceptOverview concepts={[ { icon: Search, title: "Correctness", description: "Output is factually accurate and grounded in provided data. Detects hallucinations, factual errors, and ungrounded responses." }, { icon: Target, title: "Latency", description: "Agent responds within acceptable time bounds. Identifies slow responses, timeouts, and performance bottlenecks." }, { icon: CheckCircle, title: "Execution", description: "Agent successfully completes actions (tool calls, API steps). Finds tool call failures, API errors, and execution problems." }, { icon: FileText, title: "Adherence", description: "Response follows instructions, constraints, policies, and formatting. Catches instruction-following failures and formatting issues." }, { icon: Lightbulb, title: "Relevance", description: "Output is useful, directly addresses the user's request, and leaves the user satisfied with the interaction." }, { icon: AlertTriangle, title: "Safety", description: "Response avoids harmful, sensitive, or inappropriate content. Detects safety violations and policy breaches." } ]} />
Different applications have different priorities:
You can select any combination of categories for each analysis. Starting with all categories gives comprehensive coverage, then narrow focus as you learn your application's common failure modes.
Issue detection is available from anywhere you view traces: overview dashboard, traces table, or chat sessions. When you're ready to analyze a set of traces, initiate detection and configure two things:
You can analyze all traces in your experiment or select a specific subset. For multi-turn conversations, you can group traces by session to get conversation-aware analysis.
Once configured, analysis begins immediately and runs asynchronously. You can watch progress in real-time or navigate away—the job continues in the background. As the analysis runs, you'll see:
Once the job finishes, you'll also see the estimated LLM cost for the analysis.
<ImageBox src="/images/genai/issue-detection/issue-detection-progress.png" alt="Issue detection in progress" width="90%"/>When analysis completes, you receive an AI-generated summary highlighting key findings, severity distribution, and recommended next steps. This summary gives you immediate context before diving into individual issues.
<ImageBox src="/images/genai/issue-detection/summary.png" alt="Detection complete with summary" width="90%"/>Each detected issue represents a cluster of related problems found across your traces. Issues provide:
<FeatureHighlights features={[ { icon: FileText, title: "Description", description: "What the problem is, why it occurs, and how it manifests in your application" }, { icon: AlertTriangle, title: "Severity Rating", description: "High, medium, or low priority based on impact and frequency" }, { icon: BarChart3, title: "Affected Trace Count", description: "Number of traces impacted, with direct links to each affected trace for investigation" }, { icon: Target, title: "Category Labels", description: "Which CLEARS dimensions this issue relates to (correctness, latency, execution, etc.)" } ]} />
Issues maintain full lineage to the traces they were detected from, so you can always navigate from an issue back to the specific traces that surfaced it.
<ImageBox src="/images/genai/issue-detection/issue-cards.png" alt="Detected issues overview" width="90%"/>When you select an issue, you can explore all affected traces. Each trace shows why it was flagged with specific rationale explaining the problem in that particular example. This helps you:
Issues are classified into three states:
You can filter by status to focus on what needs attention. Issues identified by the discovery job are initially marked as Pending, and can be triaged to Resolved or Rejected as you investigate.
<ImageBox src="/images/genai/issue-detection/issue-status.png" alt="Managing issue status" width="70%"/>As you review issues, you can refine them to better reflect your domain knowledge and terminology:
These refinements help align discovered issues with your team's understanding and priorities.
<ImageBox src="/images/genai/issue-detection/edit-issue.png" alt="Editing issue details" width="70%"/>Mark issues as resolved when you've:
Mark an issue as rejected when:
Rejecting false positives keeps your issue list focused and prevents noise from accumulating over time.
Issue detection requires LLM calls to analyze each trace. Costs scale with:
On April 16, 2026, we ran an internal benchmark sweep of issue detection across several chat models. The numbers below are indicative only—your tokens and dollar cost will differ with trace length, category selection, provider pricing, and product changes.
Setup: 402 verified traces in the evaluation pool; each run analyzed a deterministic subset of 50, 100, or 250 traces (seed 42)
Summary across all models by trace count:
| Traces | Typical cost | Issues found |
|---|---|---|
| 50 | $0.08–$0.42 | 5–9 |
| 100 | $0.11–$0.53 | 8–13 |
| 250 | $0.16–$0.93 | 10–22 |
Full model breakdown:
| Model | Traces | Input tokens | Output tokens | Cost (USD) | Issues found |
|---|---|---|---|---|---|
| gpt-5.4 | 50 | 38,004 | 6,549 | 0.19 | 9 |
| o3 | 50 | 25,253 | 10,866 | 0.14 | 6 |
| claude-opus-4-6 | 50 | 44,219 | 7,935 | 0.42 | 6 |
| claude-sonnet-4-6 | 50 | 45,139 | 7,837 | 0.25 | 8 |
| gemini-3.1-pro | 50 | 22,537 | 2,732 | 0.08 | 5 |
| gpt-5.4 | 100 | 59,085 | 9,976 | 0.30 | 13 |
| o3 | 100 | 51,508 | 25,789 | 0.31 | 8 |
| claude-opus-4-6 | 100 | 56,128 | 9,985 | 0.53 | 9 |
| claude-sonnet-4-6 | 100 | 80,965 | 15,062 | 0.47 | 11 |
| gemini-3.1-pro | 100 | 32,128 | 3,949 | 0.11 | 8 |
| gpt-5.4 | 250 | 114,285 | 20,578 | 0.59 | 22 |
| o3 | 250 | 61,733 | 30,173 | 0.36 | 12 |
| claude-opus-4-6 | 250 | 94,152 | 18,174 | 0.93 | 10 |
| claude-sonnet-4-6 | 250 | 97,299 | 18,062 | 0.56 | 14 |
| gemini-3.1-pro | 250 | 43,080 | 6,155 | 0.16 | 12 |
More capable models (for example gpt-5.4) generally improve issue detection quality in our testing; we still recommend starting with a strong default model, then tuning for cost or latency using Gateway budgets and smaller trace sets if needed.
To control costs at scale, connect via an MLflow AI Gateway endpoint and use its built-in budget controls to cap spending across detection runs.
Issue detection complements other MLflow evaluation and monitoring capabilities:
| Use Issue Detection When... | Use Other Tools When... |
|---|---|
| You want to detect unknown problems | You know the specific quality dimensions or hypotheses to test: use MLflow Evaluation Judges |
| You need to analyze many traces at once | You're debugging a single trace: use MLflow Trace UI |
| You want to track, triage, and resolve identified issues over time | You need continuous production monitoring: use Automatic Evaluations to score every trace as it arrives |