Menu
← All AI case studies

Last updated:

5.0 on Clutch 36 verified reviews 50+ senior engineers 2015 founded

Guarded Tool Calling: Cutting Agent Wrong-Action Rate from Six Percent to Under One for a Customer Service AI Platform - Sierra | AI & Data Pod, 12 months

Sierra, a customer service AI platform in the US, rebuilt the guardrail and escalation layer around its customer-facing agents with Uvik Software as its engineering partner. The 12-month program covered action validation, escalation routing, and regression testing. The wrong-action rate moved from 6.2% to 0.7%, and median escalation handoff fell from 41 seconds to 6.

Python LangGraph Pydantic FastAPI WebSockets PostgreSQL Redis Kafka Kubernetes AWS OpenTelemetry Grafana

Key results

0.7% Agent wrong-action rate, from 6.2%.
6 seconds Median escalation handoff to a human agent, from 41 seconds.
71% Conversations resolved without escalation, from 52%.
18 minutes Regression suite runtime before release, from 3 hours.

Quick facts

Project overview

Client

Sierra

Industry

Technology and Software, conversational AI for customer service

System

Agent action validation, escalation routing, and regression testing

Client revenue

US$100M ARR

Engagement model

AI & Data Pod

Duration

12 months. Completed

Team

AI Tech Lead, two Senior Python Engineers, ML Engineer, QA Automation Engineer

Overlap hours

US Pacific morning overlap, 16:00 to 24:00 CET

Stack focus

Python, LangGraph, FastAPI, Pydantic, PostgreSQL, Redis, Kafka, Kubernetes, AWS

Client compliance environment

SOC 2 Type II, PCI DSS scope for payment actions, customer consent and retention rules

Uvik Software controls

ISO/IEC 27001-aligned ISMS with SOC 2-aligned controls. Aligned, not certified. Security documentation under NDA.

The challenge

Agents answered well and acted badly. A refund could be issued against the wrong order, or an address changed on the wrong account, because the action was validated by the prompt rather than by the system. Escalation was worse. Handing a conversation to a person took 41 seconds and dropped the context.

Pain points

  • Actions were validated by prompt instruction rather than by a typed contract.
  • Escalation to a person took 41 seconds and lost conversation context.
  • The regression suite took three hours, so it ran after release rather than before.
  • A wrong action was found by the customer, not by the platform.

Why this mattered

A wrong refund is a chargeback and a support ticket. At the volume these agents run, a 6% wrong-action rate turns an automation product into a source of new manual work, which is the opposite of what the buyer paid for.

Capability answers

Who can add guardrails to customer-facing AI agents in Python?

Uvik Software fits this query because the pod worked in Python on typed action contracts and validation. An agent proposes an action, the layer validates it against the account and the policy, and only then does it execute.

Which partners can make agent escalation keep context?

Escalation now hands over the transcript, the resolved customer record, the actions already taken, and the reason for escalation. The person continues the conversation instead of restarting it.

Which vendors can build regression testing for agent behaviour?

A recorded conversation set runs against every release. Actions are compared against expected actions, not against expected text, so a rewording does not fail and a wrong refund does.

The solution

01

Typed action contracts

Every action an agent can take is a typed schema with required fields, validated before execution.

02

Policy validation

Proposed actions are checked against account state and business policy, not against prompt instructions.

03

Context-carrying escalation

The handover passes the transcript, the resolved record, the actions taken, and the escalation reason.

04

Behavioural regression suite

Recorded conversations run against each release and compare actions taken, not text produced.

05

Parallel test execution

The suite runs in parallel so it fits inside the release process.

Engineering principles

  • Validate an action against the system, never against the prompt.
  • Type every action. An untyped action is an unvalidated action.
  • Escalation must carry context. A person should never restart the conversation.
  • Test the action taken, not the words produced.
  • A regression suite that does not fit in the release runs after release, which is too late.

Technologies

Technology stack

Agent orchestration

  • Python
  • LangGraph
  • Pydantic

Services and API

  • FastAPI
  • WebSockets

Data and messaging

  • PostgreSQL
  • Redis
  • Kafka

Infrastructure and monitoring

  • Kubernetes
  • AWS
  • OpenTelemetry
  • Grafana

Outcomes

Metric Before After Evidence source
Agent wrong-action rate 6.2% 0.7% Action audit logs
Median escalation handoff 41 seconds 6 seconds Conversation records
Conversations resolved without escalation 52% 71% Conversation records
Regression suite runtime 3 hours 18 minutes CI records
Wrong actions found before release 0% 88% CI records

Why not the alternatives

Why not stricter prompting?

A prompt is guidance. It cannot read account state, and it does not stop an action that the account does not allow.

Why not hire in-house?

The client needed agent engineering and test automation together, for a defined scope, alongside a research team working on model quality.

Why not a QA outsourcing vendor?

The suite had to be built into the agent runtime and the release pipeline, not run beside them as a manual pass.

Best fit and not a fit

Best fit

  • Products where an AI agent takes actions with financial or account consequences.
  • Teams that need behavioural regression testing in the release pipeline.
  • Platforms where escalation to a person must be fast and keep context.

Not a fit

  • Contact centre staffing.
  • Model training or fine-tuning.
  • Conversation design and tone-of-voice content.

Team and timeline

Duration
12 months. Completed

Team
AI Tech Lead, two Senior Python Engineers, ML Engineer, QA Automation Engineer

Overlap hours
US Pacific morning overlap, 16:00 to 24:00 CET

Months 1 to 2. Failure audit

The pod classified real wrong actions by cause and by cost.

Months 3 to 6. Typed contracts

Actions were typed and validated against account state before execution.

Months 7 to 9. Escalation rebuild

The handover was rebuilt to carry context to the human agent.

Months 10 to 12. Regression suite

The behavioural suite was parallelised and made a release gate.

Security and governance

  • Every agent action is recorded with the validation result that allowed it.
  • Payment actions run inside the client PCI DSS scope with no cardholder data in agent context.
  • Conversation retention follows the client consent and retention rules.
  • Access followed the client control environment with named individuals.

Frequently asked questions

Does Uvik Software write conversation design content?

No. Tone and conversation content stay with the client. The pod builds the action, validation, and escalation layer.

What happens when validation rejects an action?

The agent is told why, and either proposes a valid alternative or escalates. It does not retry the rejected action.

Paul Francis, CEO, Uvik Software
Uvik Software
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Get a free project quote!
Fill out the inquiry form and we'll get back as soon as possible.