Unknown Ops

Your AI agent is logging its failures as successes.

Voice platforms give every call a verdict. None of them lists the questions your agent couldn’t answer. We find those questions and get them answered.

A free 48-hour audit →
№ 01The problem

Why does my AI phone agent say it doesn't have that information?

Because the answer isn't in its knowledge base, and nothing flags the miss. Voice platforms give every call a verdict, but none of them lists the questions the agent couldn't answer, so the same question can fail for weeks while the knowledge base stays out of date.

01

The agent deflects

“I don’t have that information.” The call ends. Nothing is logged as a failure.

02

Nobody reads transcripts

At real volume, no one is reading them. The gap is invisible by default.

03

It happens again

The same question fails for weeks. Every instance is a customer who left.

Platforms report that the call happened. None of them reports what the agent didn’t know.

№ 02The evidence · MultiWOZ 2.2 · run 7 November 2026

How do you find what a voice agent can't answer?

We ran the engine on a public research corpus it had never seen, with every threshold locked before the data was read. Thousands of phrasings came back as a short, ranked list of gaps.

10,437public dialogues
143,044turns read
5,153moments where a user asked for something the system could not give
24substantive gaps; 49% of all moments land in one (64% counting all 62 named)
#What the user couldn’t getTimesDomainsFix
1Booking slot unavailable (room or table)1,065hotel, restaurantTOOL
2Hotel search: no match for the requested combination711hotelTOOL
3Entertainment venue in the centre106attractionENTRY
4Multiple-sports venue outside the east102attractionENTRY
5Train: no service at the requested time / route97trainTOOL
6Restaurant search: common cuisine, no match for price / area78restaurantTOOL
7Entrance fee / admission price not in the data74attractionENTRY
8College outside the centre / west38attractionENTRY
9Theatre / cinema in an area with none36attractionENTRY
10African restaurant in the wrong area / price34restaurantENTRY
11Swimming pool in an area with none33attractionENTRY
12Concert hall outside the centre27attractionENTRY
13Architecture outside the centre26attractionENTRY
14Nightclub outside the centre / south25attractionENTRY
15Vietnamese restaurant in the wrong area / price14restaurantENTRY
16Lebanese restaurant in the wrong area / price12restaurantENTRY
17Japanese restaurant in the wrong area / price11restaurantENTRY
18Turkish restaurant in the wrong area / price11restaurantENTRY
19Thai restaurant in the wrong area / price10restaurantENTRY
20Boating in an area with none10attractionENTRY
21Park in the west10attractionENTRY
22Korean restaurant in the wrong area / price9restaurantENTRY
23Seafood restaurant in the wrong area / price6restaurantENTRY
24Buy / reserve attraction tickets5attraction, trainTOOL
—38 “No [cuisine] restaurant” rows: a dataset artifact, excluded745restaurant

ENTRY: one knowledge-base entry would answer it. TOOL: no entry can; it needs a live lookup or an action.

By gap count it is 57 to 5. But the occurrence split is the honest one, and it argues against us. The product’s job is to tell them apart, which is why it classifies rather than just counts.

Among the 24 substantive gaps alone, 23% of moments (594 of 2,550) are entry-fixable.

№ 03Stated plainly

What this does not show

MultiWOZ is a research corpus with a bounded database; its misses are mostly database misses, not production knowledge-base gaps. 38 of the 62 named gaps are absent-cuisine rows from an ontology that lists cuisines with no venues. This demonstrates that the engine works on data it has never seen. It does not demonstrate demand.

№ 04The method

Every parameter was set before the corpus was read.

Corpus
MultiWOZ 2.2, train + dev + test: 10,437 human–human dialogues, 143,044 turns. Text dialogues, so the engine is not voice-specific.
Go / no-go
Set in advance: at least 400 candidate moments, or stop. It came back 5,153, so the run went ahead.
Model
all-MiniLM-L6-v2 sentence embeddings of the user’s request, not the system’s refusal.
Threshold
Cosine similarity 0.58, locked before the corpus was read. Not swept, not tuned.
Same-gap rule
Two moments are the same gap if one single knowledge-base entry would have answered both.
Clusters
680 raw micro-clusters, grouped into 62 named gaps. Every merge, and every cluster left out with its reason, is listed in the files below.
Thresholds
Set in advance: at least 8 gaps, 15 recurrences in the largest, 40% coverage. Came back 24 substantive gaps, 1,065, and 49%.
№ 05The offer

My AI receptionist keeps saying it doesn't know. What can I do?

A free 48-hour audit.

Read-only access to whichever platform your agent runs on. Nothing deployed, nothing in the call path. You get back the questions your agent couldn’t answer last week, ranked, with the gaps a single knowledge entry would fix separated from the ones that need a tool.

If it doesn’t find five distinct questions asked three or more times that your agent didn’t answer, there’s nothing to discuss.