How to measure AI agent pilots

Every enterprise is running agent pilots — support copilots, HR bots, SQL assistants, coding agents — and almost none of them roll up into a number a steering committee can act on. Demos impress, anecdotes circulate, budgets renew on vibes. This guide is the practical alternative: five metrics, the instrumentation conventions to collect them, and the review cadence that turns pilots into fund-or-kill decisions.

Why pilot measurement fails today

The five metrics that decide fund-or-kill

MetricDefinitionWhat it tells the committee
Task success ratecompleted ÷ (completed + failed)Does the agent actually finish the job it was given?
Escalation rateescalations to a human ÷ conversationsHow often the agent gives up — the honest deflection number
Cost per conversationtotal inference/tool cost ÷ conversationsUnit economics of running the pilot at all
Cost per completed tasktotal cost ÷ completed tasksThe headline number: what a successful outcome actually costs — comparable across pilots and against the human baseline
User sentimentthumbs up/down, ratings, periodic CSAT/NPSWhether the people it serves would keep it

Rank every pilot by cost per completed task next to its success rate and sentiment, and the fund/fix/retire conversation mostly runs itself: fund the leaders, fix the frustrating-but-used, retire the unused and the uneconomic.

Instrumentation conventions (portable to any stack)

You need exactly four event types from the agent's backend, regardless of framework:

  1. Conversation started — one event per session, tagged with the entry surface (/slack, /web-chat, /vscode).
  2. Capability used — one event per tool call or skill invocation, carrying its cost in USD (tokens, API fees). Name capabilities with stable, kebab-case identifiers.
  3. Outcome — exactly one of task-completed, task-failed, or escalated-to-human per task. Reserved, unambiguous names are what make pilots comparable.
  4. User verdict — thumbs or a rating at conversation end; a periodic 0–10 CSAT for regulars.

Two rules that keep the data honest and the lawyers calm:

Hook these four events wherever your framework exposes "run started / tool called / run ended" — Claude Agent SDK loops, LangChain callbacks, OpenAI Agents run hooks all fit the shape. Concrete adapters: docs → Track AI agent pilots.

Run the review like a portfolio, not a science fair

Where Morvero fits: Morvero treats each agent pilot as a product. Three REST calls from the pilot's backend produce the scorecard automatically — task success rate, escalation rate, cost per conversation, cost per completed task — plus thumbs feedback flowing into the same triage and AI-backlog loop as your web apps, and a steering-committee report that ranks every pilot side by side. It sits above your tracing tool, not instead of it. And since your coding agent can wire the telemetry itself via Morvero's MCP server (and verify data is arriving with verify_install), instrumenting a pilot is an afternoon, not a sprint.

What this approach does not cover