all answers

Tessary

Tessary frustration

Frustration is one of Tessary's built-in classifiers. It detects conversations where users are unhappy with your agent, cheaply and in real time.

Product and engineering teams want to find the conversations where a user was unhappy with the agent, understand what went wrong, and fix it. Those conversations are hard to find at scale. Complaints and negative ratings capture a small share of them, and reviewing every conversation by hand is impractical.

The classifier extracts the context relevant to the user's reaction and uses TypeSafe's Jev decision model to score how unhappy the user is, cheaply enough to run on every conversation.

10 questions

Answered, plainly.

Can the frustration classifier tell why a user is upset, or just that they are?The classifier only says that a user is unhappy with the assistant. Root cause analysis on the case says why, grouping the frustrated conversations by what the agent did.answer →Does a calm bug report count as frustration?Usually not. A matter-of-fact bug report reads as neutral. What counts is a user unhappy with the assistant, in their own words or in re-asking after a clear failure.answer →Does one frustrated message trigger an alert?No. One flagged message writes a detection, not an alert. A case opens only when a call site's rate of frustrated conversations rises above the rate it learned as normal.answer →What is Tessary's frustration classifier?A built-in classifier that finds conversations where users are unhappy with your agent, scored cheaply and in real time by TypeSafe's Jev decision model.answer →Why do users who are having a bad time never file a ticket?Most people just retry, work around the problem, or leave; only a self-selected few write it up, so a support queue misses most of the frustration.answer →Does Tessary's frustration classifier see the whole conversation, or just the last few turns?It reads the two turns right before the one it's scoring, not the whole conversation, so frustration that hasn't recurred in a few turns won't factor in.answer →How long before Tessary's frustration classifier starts judging a call site?It starts once its reference holds 100 scored conversations, down from 200, and keeps learning until 1,000 instead of freezing right away.answer →What happens if the key powering frustration runs out of credit?It pauses rather than erroring: Tessary marks the classifier no_credit, stops sending scoring calls, and resumes once the key is topped up or replaced.answer →Can I test a self-hosted decision model against Tessary's frustration classifier before switching?Yes: a self-hosted model can run in shadow beside the frustration classifier's live provider on real traffic, scored side by side with nothing customers seeing a change.answer →Does Tessary's frustration classifier ever read another call site's messages as context?No. Prior-turn context comes only from earlier turns on the same call site; a turn that only ran a router or a memory pass never counts as one of them.answer →

Two ways to run Tessary.

Tessary is an open-source agent reliability platform. Cloud and self-hosted run the same workflow on the OpenTelemetry traces your agent already emits.

Tessary Cloud

We host it for you. Send your first trace with nothing to deploy and no model key.

what's includedper organization
traces
10,000 per calendar month
stored trace data
1 GB
retention
30 days
model credit
$10, one-time, for triage and root-cause analysis
credit card
not required

Self-hosted Tessary

Run the open-source code on your own infrastructure with one command. Add your own model key for triage and root-cause analysis.

Self-host Tessary for me by following https://github.com/tessaryai/tessary/blob/main/setup.md

docker compose -f oci://docker.io/tessaryai/tessary:compose up -d -y