all posts

Conversation analytics for AI agents: the task and intent model

See what people ask your agent, which step loses them, and the exact turn where the task broke.

Dialogue diagnostics 9 min read Updated
Shallow chat metrics versus turn-level conversation forensics. SHALLOW SENTIMENT t9: “Where are the rest? Can you try that again?” Tone score: +0.42 (Polite) Thumbs rating: None Reported: Satisfied user DECIDING TURN FORENSICS t7: 6 of 9 emails unmatched Agent updates other 3 anyway t9: Dissatisfaction signal Stopped on update them (22.9%) ✗ Failed contact update THE CORE SHIFT Sentiment scores tone. Turn forensics finds where the task broke.

What is conversation analytics for AI agents?

Conversation analytics for AI agents is the practice of reading multi-turn natural language dialogues to see what people asked for, what worked, and what broke. Also called agent conversation analytics, it classifies every conversation into topics, tasks, sequential intents, and turn-level signals.

In graphical software, interface controls are fixed: menus, form fields, radio buttons, and submit handlers. When an action fails, it leaves a clear mark: an unhandled runtime error, an HTTP 500 status code, or a drop-off at a known screen.

Inside an AI agent, the natural language dialogue is the interface. People do not click through a fixed menu. They bring an open-ended job in their own words, and the agent plans steps, calls tools, and replies across several turns.

When an agent fails, it rarely crashes the server or throws an HTTP exception. It fails inside the conversation: dropping a user constraint, sending partial output after a tool skips items, or stalling in a clarification loop. Performing AI agent conversation analysis means moving past keyword clouds and thumbs ratings to turn-level diagnostics: classifying the task, measuring where attempts stop across each intent, and reading the exact turn where the job went wrong.

The core shift

  • From fixed clicks to open dialogue: Every person phrases their job in their own words across multiple turns.
  • From runtime errors to task failure: An agent can return HTTP 200 in 350ms while sending incomplete output that forces the person to start over.
  • From sampled anecdotes to turn forensics: Turn-level classification connects cohort completion rates directly to the verbatim words and tool payloads behind them.

Why shallow chat metrics fail AI agents

Teams shipping AI agents often start with legacy chatbot metrics: sentiment polarity scores, keyword word-clouds, and post-chat thumbs ratings. In production, these message-count metrics miss how tasks actually fail:

signal 1
Sentiment scores miss polite failure

Sentiment models look for anger, insults, or negative adjectives. People using an AI assistant inside a work tool almost never swear. When an agent inside a CRM takes 9 contacts, finds on turn 7 that 6 of the emails don’t match, and updates the other 3 anyway, the user replies on turn 9: “Where are the rest? Can you try that again?” Sentiment classifiers score those polite words as neutral or positive (+0.42). Across production conversations, only 3.2% of turns carry an overt dissatisfaction signal even when 36% of contact-update attempts fail to finish.

signal 2
Single-intent tags assume a static menu

Legacy chatbots mapped each utterance to a single label from a fixed list (such as #check_balance). Agent tasks span multiple steps. A person asking “Update these contacts from the trade-show list.” under the managing contacts topic is starting a task that moves through 3 sequential intents: find the contacts (2,400 attempts reaching it), update them (2,308 reaching it, 528 stopping), and log the activity (1,780 reaching it, 244 stopping).

signal 3
Transcript sampling produces anecdotes, not priorities

When dashboards cannot explain why users stop, product managers read 30 raw transcripts in a spreadsheet. Reading a handful of chats gives you anecdotes without counts. You cannot see that 528 of 864 stopped attempts happen on update them (22.9%), or that task completion has a 19-point spread between self-serve users (71%) and enterprise EMEA users (52%, 986 people).

Treating conversations as flat text blobs or sentiment averages hides the sequence of steps inside the job. A conversation is an execution path with a beginning, middle, and outcome.

Four telemetry layers: where conversation analytics sits

Each layer of your stack answers a different question about how the agent is running:

swipe to inspect telemetry comparisons
Layer Primary tooling What it measures Definition of success The critical blindspot
Clickstream analytics Web event loggers, product analytics Pageviews, button clicks, widget loads, session length High session duration, frequent app visits Mistakes a 9-turn recovery struggle for “high user engagement.”
APM & trace telemetry OpenTelemetry, LangSmith, Langfuse Execution spans, token costs, model latency, HTTP exceptions HTTP 200 OK, 0 unhandled exceptions, fast p95 latency The trace runs cleanly, while 6 of 9 contacts are skipped for unmatched emails.
Pre-deployment evals Braintrust, Promptfoo, eval rubrics Scoring model outputs against labelled test datasets High benchmark score against static regression suites Scores synthetic pre-release sets; does not read live user tasks.
Conversation analytics Abracadabra Topics, tasks, sequential intents, signals, users, cohorts High task completion rate (64% lifting to 75%), low turn friction Does not replace traces for runtime crashes or evals for CI release gates.

Traces tell you the run finished. Evals tell you the model passed a benchmark before release. Clickstreams tell you the person opened the chat. Abracadabra tells you whether the person finished their task.

The 6-object model for multi-turn dialogue

Unstructured conversations become queryable once each turn is classified into a shared structure. In AI agent analytics, every conversation is modelled across 6 connected objects:

Topic

What broad area users are asking about (for example, managing contacts, alongside deals and pipeline, reports, email sequences, account settings, integrations, and billing).

Task

What the person is trying to complete, and whether it succeeded or failed (“update these contacts from the trade-show list”: 2,400 attempts, 1,536 finished / 64%).

Intent

What smaller sequential goals make up that task (find the contacts → update them → log the activity).

Signal

What happened at each turn: progress, clarification, repetition, tool failure (skipped contacts on turn 7), or dissatisfaction (turn 9).

Person

What this user has asked across every conversation, and how often their tasks succeed.

Cohort

Which groups perform differently by plan, region, or returning behaviour (self-serve at 71% versus enterprise EMEA at 52%, a 19-point spread across 986 users).

In live traffic, conversations do not all follow a 3-turn happy path. Out of 2,400 attempts to update contacts from a trade-show list, 92 stop at find the contacts (3.8%), 528 stop at update them (22.9%), and 244 stop at log the activity (13.7%), leaving 1,536 finished attempts (64%):

THE 3 SEQUENTIAL INTENTS (2,400 ATTEMPTS) 1. find the contacts (2,400) 2. update them (2,308) 3. log the activity (1,780) ✓ 1,536 (64%) INSIDE A FAILED ATTEMPT (STOPPED ON UPDATE THEM · 528 STOPS / 22.9%) t1–t4: Found 9 contacts t5–t6: Updating 9 now t7: 6 of 9 emails didn’t match t8: “3 contacts updated” t9: “Where are the rest? Try again?” ✗ Task failed · incomplete

Turns t1 to t4 finish find the contacts, t5 to t7 fail on update them when 6 of 9 emails don’t match, and t8 to t9 leave log the activity incomplete.

Anatomy of the deciding turn

When a task fails, the failure narrows down to one moment: the deciding turn. That is the turn where the attempt stops progressing toward a finished deliverable.

In the contact-update conversation inside a CRM, the user asks in turn 1: “Update these contacts from the trade-show list.” In turn 2 the agent asks, “Just the new leads, or existing customers too?” In turn 3 the user says, “Just the new leads.” In turn 4 the agent replies, “Found 9 contacts.” In turn 5 the user says, “Great, go ahead.” In turn 6 the agent starts updating the 9 contacts. Then turn 7 decides the outcome:

SENTIMENT SCORE LENS User message on turn 9: “Where are the rest? Can you try that again?” Tone polarity: +0.42 (Polite) · Profanity: 0 · Thumbs rating: None ✓ VERDICT: NEUTRAL TONE (NO ALERT FIRED) CONVERSATION FORENSICS LENS Turn 7 deciding turn: “6 of the 9 emails didn’t match. Updating the other 3.” (signal: skipped contacts) Turn 8 & 9 outcome: Agent logs 3 contacts; user asks “Where are the rest? Can you try that again?” ✗ VERDICT: STOPPED ON UPDATE THEM (528 STOPS / 22.9%)

Turn 7 logs the skipped contacts signal under update them, and turn 9 logs dissatisfaction under log the activity.

On turn 7, the agent says: “6 of the 9 emails didn’t match. Updating the other 3.” On turn 8, it logs only 3: “Done. 3 contacts updated and logged.” On turn 9, the person asks: “Where are the rest? Can you try that again?” Sentiment classifiers score the phrasing as polite. Turn-level classification flags the skipped contacts signal at turn 7, the dissatisfaction signal at turn 9, and the stop on update them.

Four friction markers in multi-turn conversations

Instead of relying on tone polarity, conversation analytics tracks concrete turn-level failure signals across every attempt:

Friction marker Dialogue pattern Diagnostic root cause
Skipped or partial tool output “6 of the 9 emails didn’t match. Updating the other 3.” (turn 7) The update tool skipped 6 contacts whose emails didn’t match, and the agent proceeded with 3 anyway.
Retry and dissatisfaction “Where are the rest? Can you try that again?” (turn 9) The user received an incomplete update and had to ask the agent to redo the step.
Step-level drop-off 528 of 2,308 attempts stop on update them (22.9%) The middle intent is both the largest volume of stops and the highest failure rate.
Cohort disparity Self-serve finishes at 71%; enterprise EMEA finishes at 52% A 19-point spread exposes an environment or template failure hitting 986 users in the worst cohort.
FOUR PRODUCTION SIGNALS IN THE CONTACT-UPDATE DATASET 1. SKIPPED CONTACTS Turn 7 · update them Agent says: “6 of the 9 emails didn’t match.” 528 stops (22.9%) Of 2,308 at update them 2. DISSATISFACTION Turn 9 · 3.2% of turns Person says: “Where are the rest? Can you try again?” 3.2% signal rate −1.4 pts period change 3. INCOMPLETE LOG Turn 8 · 3 of 9 logged Agent says: “Done. 3 contacts updated and logged.” 244 stops (13.7%) Of 1,780 at logging 4. COHORT SPREAD Enterprise EMEA: 52% Comparison: Self-serve: 71% Baseline: 64% 19-point spread 986 users in cohort

Four signals and funnel cuts from the 2,400-attempt contact-update dataset.

In the 2,400-attempt contact-update dataset, 528 attempts stop on update them (22.9%), 3.2% of turns carry a dissatisfaction signal, and completion spans a 19-point spread between self-serve users (71%) and enterprise EMEA users (52%, 986 people). Teams use structured signal rubrics and evaluation rubrics to score tool failures, repetitions, and unresolved stops across every conversation.

From raw chat logs to engineering fixes

Without conversation analytics, product teams swing between aggregate averages that hide failure and raw chat logs that lack counts.

A 4-step workflow connects the top-level completion rate to the exact code fix:

Step 1 Find the step with the most stops

Read the intent funnel for the task: 92 stop at find the contacts (3.8%), 528 stop at update them (22.9%), and 244 stop at log the activity (13.7%).

Step 2 Open the deciding turn

Filter the 528 failed attempts on update them to turn 7, where 6 of the 9 emails don’t match.

Step 3 Inspect the turn and tool payload

Read turn 7 alongside the tool output and turn 9 (“Where are the rest? Can you try that again?”), and check why enterprise EMEA sits at 52%.

Step 4 Ship the fix and watch the trend

Halve the 528 stops on update them so 264 more attempts finish, lifting task completion from 64% to 75%.

1. DETECT DROP-OFF Task completion: 64% Update contacts: 2,400 update them: 22.9% stop 2. ISOLATE TURN 528 stops on step Intent: update them Turn 7 deciding turn 3. INSPECT TURN Turn & tool payload 6 of 9 emails unmatched Updates other 3 anyway 4. DEPLOY FIX Halve update them stops 264 more finish 64% lifts to 75%

The 4-step investigation loop connecting task completion rates to code fixes and CI regression evals built from eval rubrics.

When conversation analytics is the wrong lens

Conversation analytics reads what people asked for and whether their task finished. It is not the tool for debugging infrastructure or gating a pull request before release:

  • Runtime crashes and latency spikes: When an endpoint throws an HTTP 500, a container runs out of memory, or p95 latency jumps to 12 seconds, open your span traces in OpenTelemetry, LangSmith, or Langfuse. Traces show the execution graph of the run.
  • Pre-release regression gates: Before shipping a new prompt or switching models, run offline evals against a labelled golden set using eval rubrics. Conversation analytics reads live production traffic after deployment.
  • Model API unit pricing: When comparing per-million token rates across providers before routing traffic, check the AI model pricing tables.

Conversation analytics FAQ

What is conversation analytics for AI agents?

Conversation analytics for AI agents is the practice of classifying multi-turn dialogues into topics, tasks, sequential intents, and turn-level signals. It measures whether people finished the job they came to do and identifies the exact turn where failed attempts stopped.

Why does sentiment analysis fail for AI agents?

In production software, people talking to an in-product agent rarely swear or express overt hostility. When an agent updates 3 contacts after 6 of the 9 emails don’t match, the user asks, “Where are the rest? Can you try that again?” Sentiment classifiers score those polite words as neutral or positive, leaving the failed task invisible.

How does conversation analytics differ from developer tracing tools like LangSmith or Langfuse?

Developer tracing tools monitor software execution: individual model spans, token expenditure, function parameters, and HTTP error codes. They tell you whether the code ran properly. Conversation analytics reads user dialogue semantics to determine whether the customer succeeded. An agent can log 0 technical errors and return HTTP 200 in 400ms while failing the user’s task.

What is a deciding turn in an AI agent conversation?

A deciding turn is the specific conversational turn where a dialogue diverges from completion towards an unresolved stop. In the contact-update task, turn 7 is the deciding turn: 6 of the 9 emails don’t match, the agent updates the other 3 anyway, and the attempt ends on turn 9 with the user asking for the rest.

How do product teams detect swallowed tool failures?

Swallowed tool failures happen when a tool call skips work or returns incomplete output, such as 6 of 9 contacts skipped because their emails didn’t match, and the agent logs the remaining 3 anyway without fixing the gap. Conversation analytics flags these by pairing tool payloads with turn-level signals and task completion outcomes.

What tools support conversation analytics including intent detection drop-off rates and resolution scoring?

Tools supporting full agent conversation analytics must evaluate 3 core layers: dynamic intent detection (parsing user objectives from raw dialogue without static regexes), multi-turn drop-off tracking (pinpointing the exact deciding turn where users stop), and verifiable resolution scoring (measuring task completion against tool payloads and user confirmation). Developer tracing tools like LangSmith or Langfuse focus on code spans and latency, while traditional tools like Amplitude track flat events. Abracadabra provides end-to-end intent classification, funnel drop-off diagnostics, and task resolution scoring directly on production agent conversations.

Does conversation analytics require manual human labelling?

No. Modern conversation analytics uses semantic clustering and turn classification to identify tasks, intent progression, and failure signals directly from production logs. Teams do not need to design a rigid taxonomy upfront or tag transcripts by hand.

all posts

The task, the intent, and the turn.

A live agent is a product. The numbers that matter name the job the user came to finish, the sequential intent that lost them, and the transcript turn that proves it.

Start free. No card required.