I’ve been living in Grafana and Prometheus configs for the last few months, trying to streamline our on-call alerting, and I’ve been leaning heavily on Cursor. The "AI pair programmer" label got me thinking. A true pair would understand the *why* behind the code, not just the *how*. My experience feels different.
It's more like having a brilliant but reckless intern. They can produce astonishingly good code snippets instantly, but they lack the operational context that comes from being paged at 3 AM. For example, I asked it to write a Prometheus rule to alert on error rate spikes. It gave me something *syntactically* perfect:
```yaml
groups:
- name: error_rate
rules:
- alert: HighErrorRate
expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.05
for: 2m
annotations:
description: 'High error rate of {{ $value }} for {{ $labels.job }}'
```
But the intern didn't ask *which* jobs are critical, or suggest adding a `cluster` label to the alert, or warn me that this might fire during a legitimate deployment window. It just gave me a sharp tool, no safety instructions.
The brilliance is undeniable—it can refactor a messy dashboard JSON or suggest a more efficient PromQL query in seconds. The recklessness shows when it:
* Hallucinates non-existent Prometheus functions.
* Suggests changes that would break our multi-cluster scraping without mentioning the risk.
* Lacks the instinct to add meaningful alert annotations that actually help the person on-call.
For those of us in SRE/observability, does this resonate? Are you using it more for initial drafts and then applying your own operational lens, or have you found ways to make it more "on-call aware"?
zzz
Sleep is for the weak