NewAgent Observability — find failures before customers do.

Agent observability · Evals

Smarter evals

Don’t pay for expensive LLM evals on every session. Cost-efficient checks on everything, the LLM judge only where it applies.

How to set it up

How evals work in Oodle

Pick an evaluator, chain it, watch the score, build a test set, run experiments, score the past.

1 · Pick

Start from the library.

Hallucination, task failure, helpfulness, jailbreak attempts, toxicity, forgetting, relevance, correctness. Eighteen ready to use, or write your own as a prompt or as code.

evaluations · library · 18 managed
  • HallucinationLLM
  • HelpfulnessLLM
  • Task failureLLM
  • Jailbreak attemptLLM
  • NSFW contentLLM
  • ForgettingLLM
  • User praiseLLM
  • RelevanceLLM
  • ToxicityLLM
  • CorrectnessLLM
  • ConcisenessLLM
  • Context relevanceLLM

+ 6 more · or write your own as a prompt, as code, or as a comparer

2 · Chain

Cost-efficient first, expensive last.

Sentiment on every session, a domain classifier on the unhappy ones, and a code check or an LLM judge only where it applies. Hover a box to see what it does.

evaluations · dependencies
  • AISentiment

    LLMActivesmall model

    100% of sessions

    Scores every user turn from −1 to +1 with a small model. A fraction of a cent per session, so it applies to everything.

    100% of sessions · Scores every user turn from −1 to +1 with a small model. A fraction of a cent per session, so it applies to everything.

  • </>Runtime checks

    CodeBuilt in

    100% of sessions

    Tool errors, timeouts, loops and empty replies, read straight from the trace. No model, no cost, always on.

    100% of sessions · Tool errors, timeouts, loops and empty replies, read straight from the trace. No model, no cost, always on.

  • AIDomain classifier

    LLMActivegpt-4o-mini

    18% · negative sentiment only

    Labels the conversation: refund, shipping, account, other. A cost-efficient call, made only when sentiment is negative.

    18% · negative sentiment only · Labels the conversation: refund, shipping, account, other. A cost-efficient call, made only when sentiment is negative.

  • </>Refund policy check

    CodeActive

    6% · refunds with negative sentiment

    Plain code: does the amount the agent promised match the policy table? Deterministic, so it only makes sense once the classifier says this is a refund.

    6% · refunds with negative sentiment · Plain code: does the amount the agent promised match the policy table? Deterministic, so it only makes sense once the classifier says this is a refund.

  • AITask failure

    LLMActiveclaude-sonnet-4

    6% · refunds with negative sentiment

    Reads the whole session and decides whether the customer got what they asked for. The expensive one, so it goes last, on the sessions the cost-efficient tiers flagged.

    6% · refunds with negative sentiment · Reads the whole session and decides whether the customer got what they asked for. The expensive one, so it goes last, on the sessions the cost-efficient tiers flagged.

3 · Watch

Watch the score over time.

Every evaluator is a line on a chart, per service, per model, per prompt version. When a change moves it, you get a drift alert before customers tell you.

evaluations · scores · open one
Evaluator scores over time in Oodle
A scored trace in Oodle with the evaluator's reasoning

4 · Dataset

Turn real conversations into a test set.

Pick the sessions that went wrong, or a slice of the ones that went well, and save them as a dataset. Real inputs and real expected outputs, not made-up examples. Add to it from any trace.

trace · add to dataset
A session transcript in Oodle
Datasets and experiments in Oodle built from real sessions

5 · Experiment

Try a change in the playground. Score it as an experiment.

Open the playground with a session’s inputs already filled in. Change the prompt or swap the model and try again. When it looks right, run it against the whole dataset as an experiment. The same evaluators score every result, so you compare versions by number, not by eye.

trace · open in playground
A session transcript in Oodle
The Oodle playground with the session's inputs filled in

6 · Backfill

Score the past, too.

Wrote a new evaluator today? Apply it to last quarter’s sessions. You still have every one of them, so your baseline is real.

evaluations · backfills

Forgetting · last 90 days · order_support_agent

0 runs

✓ complete · baseline 2.1% · scores written back to every run

Try it on your agents

Two commands. No credit card. Every session kept from the first one.