Building Robust Evaluation Systems for Auto-Generated Video Titles

loom · Tech · 2025 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.5 (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: Evaluation of LLM-generated user-facing content

Loom needed a reliable way to evaluate whether LLM-generated video titles were good for real users, not merely whether the model followed a prompt.

Constraints:

Architecture

Loom evaluates its auto-generated video title feature with Braintrust evals and custom scoring functions. The process starts from the feature, asking how humans judge titles and what great examples look like. The team identifies task-specific traits, checks common quality measures, implements deterministic code-based scorers for objective checks such as exactly one emoji at the end or required JSON keys, and uses LLM-as-a-judge scorers for subjective qualities such as relevance, conciseness, engagement, clarity, and correct language. They calibrate scorers on around 10 to 15 examples, inspect rationales from chain-of-thought judge outputs, refine prompts/scorers/datasets, and then run online evaluations at scale.

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

flowchart LR
  video-input[Video input] --> title-generator[Title generator]
  video-input --> quality-criteria[Quality criteria]
  title-generator --> braintrust-evaluation-run[Braintrust evaluation run]
  quality-criteria --> code-based-scorers[Code based scorers]
  quality-criteria --> llm-judge-scorers[LLM judge scorers]
  code-based-scorers --> braintrust-evaluation-run
  llm-judge-scorers --> braintrust-evaluation-run
  llm-judge-scorers --> judge-rationale[Judge rationale]
  judge-rationale --> scorer-calibration[Scorer calibration]
  braintrust-evaluation-run --> scorer-calibration
  scorer-calibration --> online-evaluations[Online evaluations]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Video input Source video data or transcript used by the title-generation feature. Title generator, Quality criteria
Title generator LLM-powered feature that produces candidate video titles. Video input, Braintrust evaluation run
Quality criteria Feature-specific traits of a great title, including main idea, concision, engagement, readability, no hallucination, and a final emoji. Video input, Code based scorers, LLM judge scorers
Code based scorers Deterministic checks for objective requirements such as emoji count or required response keys. Quality criteria, Braintrust evaluation run
LLM judge scorers Model-based scorers for subjective traits such as relevance, engagement, clarity, conciseness, and correct language. Quality criteria, Braintrust evaluation run, Judge rationale
Judge rationale Chain-of-thought rationale returned by LLM-as-a-judge scorers to support calibration and debugging. LLM judge scorers, Scorer calibration
Scorer calibration Small example-based loop where the team inspects scorer behavior and adjusts prompts, scorers, and datasets. Judge rationale, Braintrust evaluation run, Online evaluations
Braintrust evaluation run Evaluation platform run that executes custom scorers over generated outputs. Title generator, Code based scorers, LLM judge scorers, Scorer calibration
Online evaluations Scaled production scoring once initial scorers are dialed in. Scorer calibration

Data flow

The video-title feature receives video input and generates a candidate title. Loom defines feature-specific quality criteria by asking how humans evaluate good titles. Deterministic code-based scorers check objective requirements such as emoji or schema compliance, while LLM-as-a-judge scorers evaluate subjective qualities such as relevance, conciseness, engagement, clarity, and language. The team runs about 10 to 15 examples through Braintrust, reads scorer outputs and rationales, refines prompts, scorers, and datasets, then enables larger online evaluations once the scorers are calibrated.

5 supporting quotes
“Loom’s philosophy is that all AI-driven features should be built around how real users evaluate the generated output”article, stated
“For example, in the case of auto-generating video titles, they first identify what makes a great video title: * Conveys the main idea * Concise yet descriptive * Engaging to readers * Readable (no grammar or spelling issues) * Doesn’t contain hallucinations”article, stated
“Whenever possible, Loom automates these quality checks with deterministic, code-based scorers.”article, stated
“Using their feature-specific criteria and any relevant common measures as a starting point, the team at Loom sets up an initial round of scorers in Braintrust. Here are some examples of scorers they ended up building for auto-generated video titles: * Relevance, focusing on the main”article, stated
“feeding in around 10-15 test examples to get a feel for how the scorers are performing, inspecting the results, and refining as needed. After they're satisfied that the scorers are dialed in, they begin running evals at scale by configuring [online”article, stated

Why this architecture

Loom separates objective and subjective evaluation because code-based checks are cheaper, faster, and more consistent for deterministic requirements, while LLM judges are better suited for semantic judgments. The architecture is feature-first rather than model-first, so scorers measure whether the output is ideal for users. Small calibration runs prevent teams from scaling unreliable scorers, while online evaluations provide confidence for broader feature rollout.

4 supporting quotes
“Instead of asking, “Is the model doing what I want?,” which optimizes for the model following instructions, Loom focuses on the feature itself by evaluating whether the output is ideal, regardless of how it’s generated. This approach allows for higher-level”article, stated
“Loom focuses on the feature itself by evaluating whether the output is ideal, regardless of how it’s generated.”article, stated
“Objective checks like “Does the output text contain exactly one emoji at the end?” or “Does the JSON response contain all required keys?” can be validated without an LLM.”article, stated
“code-based scorers are low-cost and fast, even at scale, and eliminate the variablilty of LLM responses. ### 4. Create initial scorers and iterate Using their feature-specific criteria and any relevant common”article, stated

Models used: LLM for auto-generating video titles · LLM-as-a-judge scorers with chain-of-thought rationales

Scale

Alternatives considered (roads not taken)

Ask whether the model followed instructions

Rejected because: That optimizes for model compliance rather than whether the feature output is ideal for users.

“Instead of asking, “Is the model doing what I want?,” which optimizes for the model following instructions, Loom focuses on the feature itself by evaluating whether the output is ideal, regardless of how it’s generated. This approach allows for higher-level”article, stated
“Loom focuses on the feature itself by evaluating whether the output is ideal, regardless of how it’s generated.”article, stated

Use LLM judges for objective checks

Rejected because: Deterministic code scorers are cheaper, faster, and less variable when the requirement is objectively checkable.

“Objective checks like “Does the output text contain exactly one emoji at the end?” or “Does the JSON response contain all required keys?” can be validated without an LLM.”article, stated
“end?” or “Does the JSON response contain all required keys?” can be validated without an LLM. This approach saves time and money, as code-based scorers are low-cost and fast, even at scale, and eliminate the variablilty of LLM responses. ### [4. Create”article, stated

Apply generic scorers unchanged

Rejected because: Loom tailors scorers to each feature to remove prompt noise and produce more actionable results.

“Loom also customizes them to the specific feature by building small, custom scorers.”article, stated
“By tailoring each scorer to the task, they remove unnecessary noise in prompts and get more reliable results. ### 3. Implement objective measures with code Whenever possible, Loom automates these quality checks”article, stated

Build a perfect evaluation system before shipping

Rejected because: Loom starts small, iterates quickly, and avoids analysis paralysis.

“what’s working and where improvements are needed. They also avoid “analysis paralysis” by starting small and iterating quickly. ## The results: faster, better AI features At Loom, they've established a repeatable, reliable system for shipping features”article, stated

Patterns

eval-driven-development (quality)

Loom structures AI feature development around custom Braintrust evals, scorer calibration, online evaluations, and a define-implement-evaluate-refine loop.

“they started running evals on Braintrust with their own custom scoring functions.”article, stated
“This cycle of define → implement → evaluate → refine gives Loom a strategic advantage.”article, stated

llm-as-judge (evaluation)

Loom uses LLM-as-a-judge scorers for subjective qualities and enables rationale output to calibrate the judge.

“When using LLM-as-a-judge scorers, it's crucial to enable the chain-of-thought option.”article, stated
“This gives you back a “rationale” in the score where the LLM explains why it gave the score it did.”article, stated

structured-output-contract (validation)

Objective response-format rules such as required JSON keys or a single final emoji are checked with deterministic code.

“Objective checks like “Does the output text contain exactly one emoji at the end?” or “Does the JSON response contain all required keys?” can be validated without an LLM.”article, stated
“descriptive * Engaging to readers * Readable (no grammar or spelling issues) * Doesn’t contain hallucinations * Ends with a single relevant emoji (for a bit of fun!) By identifying these traits, the team can begin to outline how they’ll measure each aspect of a great output, even before writing”article, stated

guardrails-io-filtering (safety)

Common quality measures include hallucination, factuality, bias, toxicity, brand safety, and language checks before outputs reach users.

“Bias/toxicity/brand safety: is it safe to show the output to users, without offensive or biased language?”article, stated
“* Conveys the main idea * Concise yet descriptive * Engaging to readers * Readable (no grammar or spelling issues) * Doesn’t contain hallucinations * Ends with a single relevant emoji (for a bit of fun!”article, stated

data-quality-loop (iteration)

Loom refines prompts, scorer definitions, and datasets together until the evaluation captures essential output qualities.

“Through multiple iterations of prompt tuning, scorer adjustment, and dataset honing”article, stated
“Loom tailors each feature's scoring process unil they're sure it captures all the essential qualities.”article, stated

Tradeoffs

Evaluate the feature outcome

Chose User-centered title quality over Prompt instruction-following.

Rationale: Feature quality is about whether the generated title helps users, regardless of how the output was produced.

“Loom focuses on the feature itself by evaluating whether the output is ideal, regardless of how it’s generated.”article, stated

Use deterministic code scorers where possible

Chose Code-based checks for objective measures over LLM-based judging for every quality dimension.

Rationale: Code scorers are cheap, fast, consistent, and avoid LLM variability.

“code-based scorers are low-cost and fast, even at scale, and eliminate the variablilty of LLM responses.”article, stated

Use LLM judges for subjective title qualities

Chose Relevance, conciseness, engagement, clarity, and language scorers over Trying to express every quality as deterministic code.

Rationale: Semantic and subjective qualities require judgment beyond straightforward format checks.

“Here are some examples of scorers they ended up building for auto-generated video titles:”article, stated
“* Relevance, focusing on the main topic of the video * Conciseness * Engagement potential * Clarity * Correct language From there, they continue iterating by feeding in around 10-15 test examples to get a feel for how the scorers are performing, inspecting the results, and refining as needed.”article, stated

Start small before online evaluation

Chose 10 to 15 examples for scorer calibration over Immediately scaling uncalibrated scorers.

Rationale: Small calibration runs let the team inspect and refine scorer behavior before larger production evaluations.

“feeding in around 10-15 test examples to get a feel for how the scorers are performing”article, stated
“After they're satisfied that the scorers are dialed in, they begin running evals at scale”article, stated

Gotchas (what bit them)

Model-compliance metrics can miss whether the feature is good for users.

Root cause: Instruction-following evaluates the prompt/model relationship rather than the end-user outcome.

Resolution: Frame scorers around how real users evaluate the generated output.

“all AI-driven features should be built around how real users evaluate the generated output”article, stated
“evaluating whether the output is ideal, regardless of how it’s generated.”article, stated

LLM judges are wasteful and variable for objective checks.

Root cause: Checks like emoji placement or JSON keys have deterministic answers and do not need semantic judgment.

Resolution: Use code-based scorers whenever possible.

“the output text contain exactly one emoji at the end?” or “Does the JSON response contain all required keys?” can be validated without an LLM. This approach saves time and money, as code-based scorers are low-cost and fast, even at scale, and eliminate the variablilty of LLM responses. ###”article, stated
“This approach saves time and money, as code-based scorers are low-cost and fast, even at scale, and eliminate the variablilty of LLM responses. ### [4.”article, stated

A multi-aspect scorer hides which quality dimension is failing.

Root cause: One scorer trying to measure factuality, style, and formatting at once produces muddier optimization signals.

Resolution: Make each scorer focus on one distinct aspect of the output.

“* Each scorer should focus on a distinct aspect of the output (e.g., factual correctness vs. style vs. presence of an emoji).”article, stated
“* Each scorer should focus on a distinct aspect of the output (e.g., factual correctness vs. style vs. presence of an emoji).”article, stated

Scorers can be hard to debug without rationale.

Root cause: A raw judge score does not explain whether the judge measured the intended quality dimension.

Resolution: Enable chain-of-thought rationale for LLM-as-a-judge scorers and use it to calibrate.

“This gives you back a “rationale” in the score where the LLM explains why it gave the score it did.”article, stated
“Use this to calibrate the scorer. * Each scorer should focus on a distinct aspect of the output (e.g., factual correctness vs.”article, stated

Evaluation

Loom's evaluation method identifies traits of great outputs, checks common quality measures, implements deterministic code scorers for objective checks, creates LLM judge scorers for subjective criteria, calibrates them on 10 to 15 examples, then scales through Braintrust online evaluations while iterating prompts, scorers, and datasets.

Metrics: Main idea conveyed · Conciseness and descriptiveness · Engagement potential · Readability and grammar/spelling · Hallucination absence · Single relevant final emoji · Relevance or faithfulness to transcript · Correct language · Weighted averages when some aspects matter more

4 supporting quotes
“* Conveys the main idea * Concise yet descriptive * Engaging to readers * Readable (no grammar or spelling issues) * Doesn’t contain hallucinations * Ends with a single relevant emoji (for a bit of fun!”article, stated
“* Conveys the main idea * Concise yet descriptive * Engaging to readers * Readable (no grammar or spelling issues) * Doesn’t contain hallucinations * Ends with a single relevant emoji (for a bit of fun!”article, stated
“Relevance (also known as faithfulness or hallucinations): does the output accurately reflect the source material”article, stated
“When some aspects matter more (e.g., factual accuracy over style), they configure weighted averages to combine scores.”article, stated

Outcomes

Concrete scale includes Loom's millions of professional users, initial calibration on around 10 to 15 examples, and later online evaluations at scale. No production metric values are disclosed.

4 supporting quotes
“At Loom, they've established a repeatable, reliable system for shipping features faster and more confidently using Braintrust evals.”article, stated
“By systematically scoring AI outputs, they can run large-scale evaluations more quickly, make sure features reliably meet users' needs, and ship improvements with the knowledge they've been thoroughly tested.”article, stated
“By systematically scoring AI outputs, they can run large-scale evaluations more quickly, make sure features reliably meet users' needs, and ship improvements with the knowledge they've been thoroughly tested.”article, stated
“Loom is a video communication platform used by millions of professionals worldwide.”article, stated