LLM-Powered Data Labeling Quality Assurance System

uber · Tech · 2025 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Enterprise data-labeling quality assurance

Uber AI Solutions needed to catch labeling-quality defects during annotation instead of discovering them after completion, where rework increased cost, timelines, and customer friction.

Constraints:

Architecture

Uber built Requirement Adherence as a two-phase LLM quality system. The first phase converts SOP documents into markdown and extracts atomic, self-contained rules with reflective LLM calls plus optional manual rules. The second phase runs in-tool validation per rule, routes deterministic and subjective checks to different model classes, uses prefix caching and parallel calls for latency, and keeps LLM calls stateless and privacy-preserving.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  SOP_converter["SOP markdown converter"] --> Rule_LLM["Rule extraction LLM"]
  Rule_LLM --> Manual_review["Manual rule review"]
  Manual_review --> Rule_validator["Rule-format validator"]
  Rule_LLM --> Rule_validator
  Rule_validator --> Validation_engine["In-tool validation engine"]
  Validation_engine --> Model_routing["Model routing"]
  Model_routing --> Annotation_workflow["uLabel annotation workflow"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
SOP markdown converter Transforms client standard operating procedure documents into LLM-friendly markdown. Rule extraction LLM
Rule extraction LLM Extracts atomic requirements and uses reflection to check and revise structured rule output. SOP markdown converter, Manual rule review, Rule-format validator
Manual rule review Lets humans add rules that the LLM missed or requirements absent from the SOP. Rule extraction LLM, Rule-format validator
Rule-format validator LLM call that checks manual rules for required format and overlap. Manual rule review, In-tool validation engine
In-tool validation engine Runs one validation call per rule during labeling and returns suggestions for adherence. Rule-format validator, Model routing, uLabel annotation workflow
Model routing Routes formatting, deterministic, subjective, and complex subjective checks to code, non-reasoning LLMs, or reasoning LLMs. In-tool validation engine, uLabel annotation workflow
uLabel annotation workflow The labeling interface where validation catches issues and suggests fixes during annotation. In-tool validation engine

Data flow

A client SOP is converted into markdown, decomposed into atomic rules by an LLM with reflection, optionally supplemented by manual rules, and normalized by another LLM call. During labeling, each rule is checked independently in parallel; code handles formatting checks, non-reasoning LLMs handle deterministic checks, and reasoning LLMs handle subjective checks.

3 supporting quotes
“We first convert the SOP document into a markdown format to make it more optimal for processing in an LLM.”article, stated
“we extract each requirement as an individual rule. The rules are designed to be atomic, unambiguous, and self-contained.”article, stated
“Instead of a single, monolithic LLM call for all checks, we now perform a single validation call per rule.”article, stated

Why this architecture

Uber decomposed the problem because post-labeling audits were expensive and monolithic LLM checks were unreliable. Atomic rule extraction plus per-rule validation lets the system choose the cheapest sufficient computation for each rule while catching defects inside the labeler's workflow.

3 supporting quotes
“mislabeled and incomplete data must be sent back to experts for rework. This takes additional time, increases costs, and creates a bad experience for our enterprise clients.”article, stated
“We found that a single LLM call to enforce all the requirements at once leads to hallucinations and missed enforcements.”article, stated
“This intelligent routing ensures that we apply the right computational power to the right problem, maximizing both accuracy and cost-efficiency.”article, stated

Models used: LLMs with reflection · non-reasoning LLM · reasoning LLM

Scale

Alternatives considered (roads not taken)

Post-labeling checks and interhuman agreement only

Rejected because: They ensure quality after the fact but create rework, time loss, cost, and customer friction.

“Labeling workflows typically rely on post-labeling checks or interhuman agreement to ensure the quality of the labeled data.”article, stated
“This takes additional time, increases costs, and creates a bad experience for our enterprise clients.”article, stated

One monolithic LLM call for all SOP checks

Rejected because: The team observed hallucinations and missed enforcements when all requirements were checked together.

“We found that a single LLM call to enforce all the requirements at once leads to hallucinations and missed enforcements.”article, stated

Use the same model for every rule type

Rejected because: Different rules need different computational power; formatting can be code, deterministic checks can use non-reasoning LLMs, and subjective checks need reasoning models.

“Different rule types leverage different LLM strengths. Formatting checks are done using code, so an LLM isn’t involved.”article, stated

Patterns

prompt-chaining (orchestration)

Requirement Adherence chains SOP conversion, rule extraction, reflection, manual-rule validation, and per-rule runtime checks instead of using one broad prompt.

“This allows the LLM to analyze the SOP text, generate a structured JSON output, check its work, and make changes if necessary.”article, stated
“Finally, we use another LLM call to ensure that the manual rules follow the required format and there’s no overlap between them and the auto-extracted rules.”article, stated

human-in-the-loop-gate (safety)

Humans can add rules missed by the LLM or absent from SOPs before the validation rule set is finalized.

“We also allow for manual rules to be added at this stage to cover any gaps in the rules the LLM extracted or to add new requirements not included in the SOP document.”article, stated

model-routing (cost-performance)

The system routes deterministic, subjective, and complex subjective checks to cheaper or more capable model paths according to rule complexity.

“Deterministic checks use a non-reasoning LLM for speed and efficiency. Subjective and complex subjective checks use powerful reasoning LLMs”article, stated

privacy-preserving-processing (safety)

LLM calls are stateless and do not retain client SOP data for training.

“All LLM interactions are designed to be stateless and to process data in a privacy-preserving manner, without compromising the integrity or confidentiality”article, stated

Tradeoffs

Validate per rule rather than all rules at once

Chose single validation call per rule over single monolithic LLM call.

Rationale: Per-rule checks reduce missed enforcements and can run in parallel to keep labeler feedback fast.

“Instead of a single, monolithic LLM call for all checks, we now perform a single validation call per rule. These calls can run in parallel”article, stated

Route checks by rule complexity

Chose code, non-reasoning LLMs, and reasoning LLMs for different checks over one expensive reasoning model for all validation.

Rationale: The team wanted to maximize both accuracy and cost-efficiency by applying only the needed computation.

“This intelligent routing ensures that we apply the right computational power to the right problem, maximizing both accuracy and cost-efficiency.”article, stated

Gotchas (what bit them)

A single LLM validation prompt missed requirements and hallucinated.

Root cause: Checking all SOP requirements at once overloaded the model with too many constraints.

Resolution: Extract atomic rules and run one validation call per rule.

“We found that a single LLM call to enforce all the requirements at once leads to hallucinations and missed enforcements.”article, stated

Post-labeling quality checks created costly rework.

Root cause: Errors were caught after labeling had already been completed.

Resolution: Move validation into the labeling tool and give suggestions during annotation.

“mislabeled and incomplete data must be sent back to experts for rework. This takes additional time, increases costs, and creates a bad experience”article, stated

Auto-extracted rule sets could miss requirements or overlap with human additions.

Root cause: SOP documents and client requirements may contain gaps, ambiguity, or manually supplied constraints.

Resolution: Allow manual rules, then validate their format and overlap with another LLM call.

“If there’s overlap, we suggest changes to finalize the list of rules.”article, stated

Evaluation

Uber evaluated the system through audit reduction, annotation-quality improvement, latency optimization, and adoption as a standard validation step across the annotation pipeline.

Metrics: 80% reduction in audits required · validation standard across the entire client base · prefix caching for latency reduction

“we observed a substantial enhancement in our in-tool annotation quality, which resulted in an 80% reduction in audits required”article, stated
“This validation is now a standard and widely adopted step within our annotation pipeline, used across our entire client base.”article, stated

Outcomes

The article frames the system as deployed across Uber AI Solutions' enterprise labeling client base.

“By integrating in-tool validation, we’ve reduced rework and ensured a consistently high standard of labeled datasets for our enterprise clients.”article, stated
“All LLM interactions are designed to be stateless and to process data in a privacy-preserving manner”article, stated