Three characters in a config file decide where your team will do its debugging.
Look at the dev block on that card. Observability off. Optional. Reasonable-sounding — it's dev, why pay for tracing, why add latency to a local loop.
Here's what that toggle actually buys you. Every agent your team builds gets validated on its output. Did it answer? Did it book the thing? Looks right, ship it. Nobody sees the path: which tool got called, what context the model had at that moment, how many turns it burned, where it quietly retried, why it chose that branch instead of the other one. With deterministic software you can mostly infer the path from the result. With an agent, the same input can take four different routes and land in the same place — three of them fragile.
So the first environment where anyone can actually see how the system reasons is production. That's the inversion. You've made your customers the test harness and your incident channel the trace viewer.
And it gets more expensive than it looks. Teams that instrument later don't just add a library — they discover the code has no seams to instrument. State is implicit. Steps aren't spans. Nothing carries a session ID. Weeks of rework to see something they could have seen from the first commit.
The fix isn't dev/prod parity in infrastructure. You don't need a managed tracing platform on a laptop. You need the instrumentation to be structural — always emitting, provider and destination swapped by config, so console in dev and a real backend in prod are the same code path with a different sink.
The point isn't the vendor line further down that file. Turning on a tracing backend in production doesn't make an agent production-ready. Building where you can see it does.
If your team can't reconstruct why an agent did what it did on their own machine, they can't do it at 2am either.
Discover more from Leverage AI for your business
Subscribe to get the latest posts sent to your email.
Previous Post
The Price Is Agreed Before Anyone Has Seen the Estate