CloudWatch Omni is AWS's observability experience purpose-built for generative AI and agentic workloads. Traditional request-response observability doesn't explain why an agent produced an incorrect answer: agents make multiple decisions per invocation — choosing tools, composing prompts, chaining sub-calls. Omni records every step in a structured timeline so you can pinpoint exactly where behavior diverged.
Omni offers two entry points: an IDE extension (VS Code, Kiro) or directly through the cloud experience. From the VS Code extension you can load a sample project with pre-configured agent trace data, or create an agent from scratch via an interactive chat where you define the agent's purpose, select a model provider, and configure tools.
The getting-started experience guides you through adding OpenTelemetry instrumentation step by step — and here's the nice part: Omni integrates with AI code assistants such as Kiro, Claude Code, and Codex that configure the dev server, install dependencies, and set up instrumentation on your behalf. Installation to running your first traced agent session in minutes, without manual configuration.
All data is stored locally by default; you can optionally connect to AWS and send data to CloudWatch. After verifying configuration and starting the dev server, you send a question to the agent — and instead of a chatbot answer you get View Trace: exactly how the agent processed the request, as a structured timeline.
Agents are fundamentally harder to observe than request/response services. Without full trace visibility — which tool was chosen, which prompt was composed, which sub-calls were chained — diagnosing a wrong answer or an unexpected path is guesswork. The Trace Explorer surfaces that structure directly.
Agentic observability is a real category with real failures behind it, and Omni's answer is pragmatic: standard OpenTelemetry traces (so your existing telemetry shows up with nothing to reconfigure), IDE-first development flow, and a trace model that renders agent decisions rather than just HTTP calls. If you're building agents and debugging them with vibes today, this is a concrete improvement.