Tuning agent
The Tuning Agent analyzes Monte Carlo monitors for alert noise and recommends configuration changes to reduce false positives without sacrificing real signal. It operates in a two-phase workflow: first it analyzes a monitor and produces recommendations, then — with user approval — it applies the selected changes. The agent is deliberately conservative — an empty recommendation list ("this monitor looks fine") is a first-class outcome.
How it works
Phase 1: Analyze
When triggered, the agent fetches the monitor's configuration, recent incidents, anomaly patterns, and any troubleshooting analysis history. The agent evaluates:
- Alert volume and frequency patterns
- Anomaly patterns and severity
- Incident triage statuses (how many alerts were marked NO_ACTION_NEEDED vs. FIXED vs. EXPECTED)
- Troubleshooting Agent root cause findings
Based on this analysis, the agent produces structured recommendations — each with a title, reasoning, and a summary of the proposed change. Recommendations are capped at 3 per metric/custom SQL monitor and 10 per table monitor.
The agent also checks whether applying a recommendation would reset the monitor's learned ML thresholds, and flags each recommendation accordingly so you can make an informed decision.
Phase 2: Apply
After reviewing the recommendations, you select which ones to apply. The agent then executes the configuration changes via the appropriate monitor API. For monitors managed through Monitors as Code, the agent can analyze but not apply changes — you'll need to update your MaC configuration instead.
Supported monitor types
| Monitor type | What the agent can tune |
|---|---|
| Metric monitors | Sensitivity, schedule (fixed interval or dynamic), filter conditions, segmentation, time bucketing, audiences, tags |
| Custom SQL monitors | Sensitivity, schedule, filter conditions, segmentation. Can recommend simplifying a custom SQL source to a table source when the SQL is a trivial single-table query |
| Validation monitors | Similar to metric monitors (no ML threshold reset concerns) |
| Table monitors | Per-table, per-metric tuning — freshness thresholds, volume change sensitivity, unchanged size thresholds |
Table monitor tuning details
For table monitors, the agent can tune each metric independently:
- Freshness (
last_updated_on): Adjust sensitivity (low/medium/high) or set an explicitfreshness_threshold_minutes - Volume change (
total_row_count): Switch between AUTO sensitivity and explicit OUTSIDE_RANGE thresholds with lookback - Unchanged size (
total_row_count_last_changed_on): Switch between AUTO sensitivity and explicit greater-than thresholds
Additional capabilities
- Collection remediation — The agent also checks for collection-level issues such as job execution failures, and can recommend timeout bumps or recency filter changes when collection problems are the root cause of noisy alerts.
- Split recommendations — When a single monitor covers too broad a scope, the agent can recommend splitting it into two more focused monitors.
Accessing the Tuning Agent
In the Monte Carlo UI
The Tuning Agent is accessible from multiple surfaces in the Monte Carlo UI:
- From the monitor detail page, click Tune monitor to start an analysis.
- When you mark an alert as No action needed or Expected, Monte Carlo prompts you to tune the monitor that fired it.
- From the alert detail page, where the action is available alongside other alert actions.
Once analysis completes, review the recommendations and select which ones to apply. After tuning, the UI shows whether any alerts have fired since the last tuning was applied, so you can track the effectiveness of the changes.
Via the Agent Toolkit (MCP)
The tune-monitor skill in the Agent Toolkit lets you invoke the Tuning Agent from AI coding agents like Claude Code and Cursor:
- "Tune this monitor to reduce noise"
- "Why is this monitor so noisy?"
- "Recommend sensitivity changes for monitor
<uuid>"
Per-monitor auto-apply override
Whether the Tuning Agent applies its recommendations automatically is normally controlled by an account-wide setting that each domain can override. You can also override it on an individual monitor — useful when you want to carve out a single monitor without changing its domain or account default.
The monitor-level setting is a tri-state:
- On — force auto-apply on for this monitor, even when its domain or account default is off.
- Off — force auto-apply off for this monitor, even when its domain or account default is on.
- Inherit (default) — no monitor-level override; the monitor follows its domain or account default.
Supported monitor types. The override is available on the tuning-eligible types in Supported monitor types above — metric, custom SQL, validation, and table monitors — plus agent monitors.
Permission. Setting a monitor-level override requires both the settings/ai-agents/edit permission (see the Triage Agent's access control) and edit access to the monitor itself.
Setting the override
- In the Monte Carlo UI — open the monitor's settings and use the auto-apply tuning toggle.
- In Monitors as Code — set the monitor's
auto_tuningfield (trueorfalse) on the monitor definition.
The override is replaced in full on every update. An update that omits it clears any previously set override — including a deliberate Off — back to Inherit. Include the field each time you update the monitor if you want to keep the override.
Security & data privacy
For more detail on security and data privacy, see the AI Features and Technical Information documentation.
Updated 11 days ago
