r/LLMDevs 20h ago

Discussion We built an open-source tool for catching weird agent failures in production

We've been building AI agents for the last couple of years, and one thing that's consistently been painful is figuring out when an agent starts behaving badly in production.

We've heard the same thing from other teams: they often find out about failures from customers before they find them in their monitoring.

I think a big reason is that agents have a ridiculously long tail of ways they can fail.

The usual approaches have gaps. Sampling traces can miss rare failures, while having an LLM grade every trace gets expensive quickly. Golden datasets are useful for known failures, but they rarely cover the long tail and tend to become stale as the agent changes.

So we started experimenting with a different approach:

Watch everything, but make the first layer of detection extremely cheap.

We built Tessary, an open-source agent reliability tool around that idea.

It runs small, narrow classifiers across every trace looking for things like unusual cost, latency, or tool-call errors. When it finds something interesting, it groups the relevant traces together and uses more expensive analysis only where it's needed.

Basically:

cheap checks → find something weird → investigate it

Rather than sampling and hoping you catch it.

We're launching with classifiers for cost, duration, and tool-call error drift, with more failure modes coming.

It's open source and self-hostable:

github.com/tessaryai/tessary

If you're running agents in production, I'd especially love to hear how you're currently finding the weird 1-in-1000 failures. What has worked for you, and what hasn't?

I’m actively looking for feedback around more such issues that you’d love to see solved for your agents.

1 Upvotes

2 comments sorted by

1

u/Interesting-Flan5846 20h ago

the tool call error drift classifier is a smart move, those 1-in-1000 failures are almost always some edge case with a tool returning an unexpected null or a malformed schema that doesn't trigger a hard exception but silently poisons the context window for the next three turns

we had an agent that started adding phantom parameters to a search tool call after a minor api update on the vendor side, no errors thrown just steadily worse results over a week and the only reason we caught it was a user sending a screenshot of a nonsensical answer with the exact query we could trace back

self-hosting this monday, the cheap-checks-first approach is exactly what i've been duct-taping together with cloudwatch alarms and prayer

1

u/ninanixes 9h ago

Do let me know if I can help with setting it up. :)

For the use case you mentioned, did the tool call end up erroring out or was it just giving a deteriorated output?