WritingDigitalOcean (GradientAI)DigitalOcean (GradientAI)published Oct 28, 2026seen 17h

DigitalOcean Signals: Observability for AI Agents and Inference

Open original ↗

Captured source

source ↗

DigitalOcean Signals: Observability for AI Agents and Inference | DigitalOcean

© 2026 DigitalOcean, LLC. Sitemap .

Product updates

DigitalOcean Signals: Observability for AI Agents and Inference

By Ravi Verma

Updated: October 28, 2026 8 min read

--enabled = true

The agent ID is the ID of the Environment Config the agent runs from ( doctl harness-runtime config list shows them). Signals also works with Inference Engine conversations. In this preview, enabling and reading Inference signals is available through the API and doctl only, with the Console experience to follow.

Use your agents as usual . Signals consumes the same conversation stream that Harness Runtime and Inference Engine produce. There is nothing to instrument and nothing to add to your agent’s code . Signals for a session typically appear within 30 minutes of the session going idle.

Read the signals . The Signals view lists recent sessions with their quality rating, signal count, and the concerning flag. Most rows will be unremarkable, because you triage a whole agent at a glance and open only what is flagged. From a session, open its dialogues and jump to the step where a signal fired.

From the command line, list sessions and narrow them to the pattern you care about:

doctl signals session list --agent-id --signal-type ExecutionLoopsRetry doctl signals session dialogues --session-id --output json

The JSON output has one object per dialogue, with the user message, the steps, the run status, and the signals detected in that run:

{ "run_id" : "5b4a3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d" , "sequence" : 2 , "user_message" : "Deploy the latest build to staging." , "steps" : [ { "seq" : 1 , "type" : "agent_reply" , "text" : "I couldn't find a deployment tool." } ] , "run_status" : "completed" , "signals" : [ { "signal_type" : "ExecutionFailureToolNotFound" , "label" : "Tool not found" , "layer" : "execution" , "category" : "failure" , "step_index" : 1 , "confidence" : 0.92 } ] }

Everything in this view is also available through the Signals API .

Export sessions as datasets . Select the sessions you want, or filter by signal type and time window, and create an export. Signals packages the sessions, their signal reports, and their full dialogues into one compressed JSON file, with personal information redacted from free text, plus a presigned download link. When you export, Signals also creates Simulation scenarios from those conversations, so the export is ready for Evaluations without any manual test-data preparation.

Here is the same flow from doctl , filtered to sessions where users corrected the agent:

doctl signals export create --agent-id --signal-type MisalignmentCorrection doctl signals export get doctl signals export download

Exports stay available for seven days. That file is the handoff to the rest of your workflow.

From signals to better agents

Flagged production sessions make better evaluation cases than those that are synthetic, because they are the situations your agent actually struggled with. Export them as datasets into DigitalOcean Evaluations to score a new prompt, tool configuration, or model against the exact conversations that went wrong. Run them as Simulation scenarios to check that a fix holds across the whole conversation, not just one response. And because exemplars are flagged alongside failures, you can build datasets of what good looks like, not only what broke. The same exports can serve as fine-tuning data, or as reward and preference data for reinforcement learning, for teams training their own models.

We are building toward closing that loop further, so that findings from Signals can drive proposed changes to an agent and those changes can be validated against your own evaluations before they ship. Signals is the part of that loop that watches production.

What’s next for Signals

Harness Runtime and Inference Engine are the first two sources for Signals, but not the only ones planned. The pipeline behind the consent gate does not care where a conversation came from. Tool-call telemetry from Action Gateway is next, so that governed tool calls carry their failure cause and policy outcome into the signals. The Console experience for Inference signals follows the API. Scheduled exports are coming, so datasets can refresh automatically rather than on request. The signal taxonomy will keep growing as we learn from Public Preview usage.

DigitalOcean Signals is available today in Public Preview. Enable it for an agent you’re already running, and use the Signals documentation and the doctl signals reference to help with setup.

About the author

Ravi Verma Author

Share

Product Updates

Start building today From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications. Sign up

Related Articles

Product updates Prompt Caching is GA on DigitalOcean Serverless Inference: Up to 90% Off the Context Your Agents Resend

DigitalOcean October 23, 2026 4 min read

Read more

Engineering Building a computer that can pause and resume in milliseconds: Inside the MicroVM architecture behind Managed Agents

Braden Bassingthwaite

October 15, 2026 20 min read

Read more

Product updates DigitalOcean Inference Router Enhancements: Performance Tuned Routing, No Rules to Write

DigitalOcean

October 13, 2026 4 min read

Read more

Excerpt shown — open the source for the full document.

Additional captured pages

Signals: Trajectory Sampling and Triage for Agentic Interactions arXiv is now an independent nonprofit! Learn more× Signals: Trajectory Sampling and Triage for Agentic Interactions Shuguang Chen Adil Hafeez Salman Paracha Affiliation: [0.5ex] DigitalOcean Holdings, Inc....

Notability

notability 6.0/10

Observability product for AI agents, moderate impact.