Dropbox Uses DSPy To Move A Relevance Judge To Cheaper Models

Dropbox Dash optimized a human-calibrated relevance judge with DSPy, reducing disagreement, shortening model migration, and adding structural-output reliability to the objective.

Retrieval answer

Dropbox Dash optimized a human-calibrated relevance judge with DSPy, reducing disagreement, shortening model migration, and adding structural-output reliability to the objective. Dropbox Dash uses an LLM judge to score query-document relevance across ranking, training-data generation, and offline evaluation. Moving that judge to a cheaper model exposed a familiar problem: a prompt tuned for one model did not transfer cleanly to.

New Runtime synthesiseditorial-diagram
Hand-drawn optimization loop where human relevance labels and JSON validity feed DSPy, which adapts a judge prompt for cheaper target models under regression gates.
Dropbox optimizes judge behavior against human agreement and parseable output, then constrains changes when production stability matters.New Runtime synthesis from Dropbox.TechOriginal source ↗
  1. ObjectiveHuman 1-to-5 ratings, explanations, and malformed-output penalties define success.
  2. OptimizeDSPy analyzes disagreement and searches for prompt changes tailored to the target model.
  3. ConstrainGuardrails prevent example copying, rating-scale drift, and unsafe full-prompt rewrites.

Dropbox Dash uses an LLM judge to score query-document relevance across ranking, training-data generation, and offline evaluation. Moving that judge to a cheaper model exposed a familiar problem: a prompt tuned for one model did not transfer cleanly to another.

Dropbox first made the objective explicit. Human annotators rate relevance from one to five and explain their decisions. Normalized mean squared error measures disagreement between human and model scores. Malformed JSON is treated as fully incorrect because an answer that cannot be parsed is a production failure, even if its prose looks plausible.

The team then used DSPy’s GEPA optimizer to adapt the program from o3 to gpt-oss-120b. GEPA turns score gaps, human rationales, and model reasoning into structured feedback, revises the prompt, and repeats against the fixed dataset and metric.

The optimizer needed boundaries. Early candidates copied usernames or document phrases from training examples and sometimes changed the required rating scale. Dropbox added constraints against example-specific content and task-definition drift.

The reported result was a 45% NMSE reduction, from 8.83 to 4.86. Model adaptation fell from one or two weeks to one or two days, and the cheaper judge enabled 10 to 100 times more labels at the same cost. For a sensitive existing prompt, Dropbox used an instruction library so DSPy could select small approved bullets instead of rewriting everything.

That last pattern is broadly reusable. Treat prompt optimization like a series of small changes with tests. Define the metric, freeze the task, penalize structural failures, constrain the edit surface, and compare every candidate against a human-calibrated baseline.

Recommendation

Dropbox Dash optimized a human-calibrated relevance judge with DSPy, reducing disagreement, shortening model migration, and adding structural-output reliability to the objective.

Discovery graph / next reads

Continue through New Runtime

Open the graph
  1. 01topicAgent evals - New RuntimeExplore the evals topic hub.
  2. 02related materialA Software Factory Connects Agents Through Verified OutcomesShares evals.
  3. 03related materialA Balanced MoE Router Can Still Be Functionally DeadShares evals.
  4. 04related materialClaude Code Auto Mode Gates Actions Instead Of ExplanationsShares evals.
  5. 05related materialA Vector Store Is Not An Agent Memory SystemShares evals.

These links are also published in this page’s JSON twin and as typed edges in DiscoveryGraph v1.

Who read this page?Machine requests, hidden until opened

Loading the privacy-safe route aggregate…

Open the JSON contract