Stop paging on every kubelet Event: Incidents + confidence gates Kprompt's Observe agent for Kubernetes correlates raw kubelet Events into durable Incidents and gates notifications by severity and confidence, rather than spamming Slack per Event. The agent watches Pods and Events in one namespace, optionally analyzes with a BYOK LLM, and notifies Discord, Slack, or webhook only after passing a severity and confidence gate, with defaults set to medium severity and 0.7 confidence. It never applies, patches, or deletes by default, and offers heuristic mode for zero token spend. Always-on Kubernetes watch only helps if you correlate into Incidents and gate by severity and confidence — not one Slack message per BackOff. Originally published at https://kprompt.ai/blog/observe-agent-alert-fatigue. Wiring kubectl get events into Slack feels productive for about a day. Then CrashLoop storms reopen the same fingerprint every few seconds, ImagePull retries spam the channel, and nobody trusts the bot. Always-on watch is only useful if the product artifact is a correlated Incident — not a raw Event dump. kprompt’s optional Observe agent https://kprompt.ai/docs/agent watches Pods/Events and optional workloads in one namespace , correlates into durable Incidents, optionally analyzes with your BYOK LLM, then notifies Discord, Slack, or a webhook only after a severity + confidence gate . Default Observe never applies, patches, or deletes ADR-0013 https://github.com/kprompt/kprompt-architecture/blob/main/decisions/ADR-0013-in-cluster-agent.md . kprompt agent run -n payments \ --emit-initial --analyze --fetch-logs --health \ --min-severity medium --min-confidence 0.7 | Lever | What it does | |---|---| --heuristic | Zero token spend; deterministic detectors for demos and many day-2 signals | --min-severity / --min-confidence | Defaults medium / 0.7 — raise both to cut noise and LLM burn | | Incident batching | One analysis per evidence fingerprint, not per raw Event | --memory / --patterns | Namespace facts + “seen before” bias confidence — never sole proof of root cause | | Slack threads | Prefer bot + channel update-in-thread over a new webhook post per pulse | Rough expectation from the ops runbook https://github.com/kprompt/kprompt/blob/main/docs/agent-ops.md : busy namespace with LLM on and gate at medium/0.7 → a handful of completions per real incident, not hundreds per hour. If spend spikes, check the gate and whether CrashLoop storms reopen fingerprints. Namespace memory and pattern learning can boost confidence when a signature looks familiar, and Slack false-positive feedback can dampen repeat noise. They must not invent root cause alone. If Prom, OTel, or GitOps evidence is missing, Observe degrades honestly — it does not fabricate metrics. More on the memory bet: cluster memory https://kprompt.ai/blog/building-ai-sre-08-cluster-memory . Optional --autopilot-propose emits PlanResult-shaped remediations with Applied false. Silent heal is not the goal. Apply remains policy + allowlist + explicit approve under ADR-0015 https://github.com/kprompt/kprompt-architecture/blob/main/decisions/ADR-0015-autopilot-mode.md . See also Autonomous not yet https://kprompt.ai/blog/building-ai-sre-10-autonomous-not-yet . git clone https://github.com/kprompt/kprompt-examples.git cd kprompt-examples make walkthrough Heuristic mode needs no API key. For a Slack path, add --slack or Discord webhook only after the gate settings match your tolerance. Walkthrough details: Break a kind cluster on purpose https://kprompt.ai/blog/observe-agent-kind-demo . Experimental — prefer kind / non-prod first. Try: kprompt.ai https://kprompt.ai · GitHub https://github.com/kprompt/kprompt · brew install kprompt/tap/kprompt Muhtalip