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. When auto-apply is enabled, the apply phase runs without user approval; see Automated tuning (auto-apply).

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 typeWhat the agent can tune
Metric monitorsSensitivity, schedule (fixed interval or dynamic), filter conditions, segmentation, time bucketing, audiences, tags
Custom SQL monitorsSensitivity, 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 monitorsSimilar to metric monitors (no ML threshold reset concerns)
Table monitorsPer-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 explicit freshness_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>"

Automated tuning (auto-apply)

With auto-apply enabled, the agent runs on a schedule and applies its recommendations without user approval.

How often the agent runs

  • Monte Carlo scans every account for tuning candidates once per hour.
  • Each monitor is analyzed at most once every 7 days. A scan that finds nothing to change still counts, so a healthy monitor is re-checked weekly at most.
  • Ignoring a suggestion pushes the next analysis out to 30 days, and after 2 ignored suggestions the agent stops proposing changes for that monitor.
  • Dismissing a suggestion stops automated tuning for the monitor until you edit the monitor or apply a change.
  • Editing the monitor by hand restarts the 7-day cooldown from the time of the edit.

When applied changes take effect

Changes are applied by a sweep that runs every hour, so an auto-applied change typically takes effect within an hour of the recommendation. Guardrails apply:

  • Suggestions older than 24 hours are discarded rather than applied.
  • At most 5 changes are applied per account per hour, and 25 per account per day.
  • A change is skipped if the monitor was edited after the suggestion was produced, or if applying it would reset the monitor's learned ML thresholds.

Notifications

Auto-applied changes do not send a notification. They are recorded in the monitor's change log, where you can review and undo each change, and in the account audit log.

When auto-apply is off, the agent instead notifies each monitor's creator through the in-product inbox: one message per scan round summarizing all of that user's noisy monitors. Tuning notifications are never sent by email or Slack.

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_tuning field (true or false) 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.


Did this page help you?