Automated Evaluation Framework for LLM-Powered Features

slack · Tech · 2024 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.4 (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 collaboration

Slack needed a scalable way to measure and improve subjective LLM features such as summarization and natural-language search across many unique user experiences.

Constraints:

Architecture

Slack's evaluation framework decomposes broad LLM-output quality into specific automated metrics for summarization and search, including accuracy, coherence, relevance, extrinsic hallucinations, citation correctness, and Slack-specific formatting of users, channels, and messages. Expensive LLM-as-judge methods are combined with smaller natural-language-inference models and sampling. The development cycle runs through a golden set for fast debugging, a larger 100-500-sample validation set where automated metrics substitute for raw-data inspection, and A/B tests that use the same metrics to evaluate production experiments.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  generative-slack-products[Generative Slack products] --> golden-set[Golden set]
  generative-slack-products --> validation-set[Validation set]
  generative-slack-products --> a-b-testing[A/B testing]
  quality-metric-library[Quality metric library] --> llm-evaluator[LLM evaluator]
  quality-metric-library --> nli-evaluator[NLI evaluator]
  llm-evaluator --> composite-scoring[Composite scoring]
  nli-evaluator --> composite-scoring
  composite-scoring --> golden-set
  composite-scoring --> validation-set
  composite-scoring --> a-b-testing
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Generative Slack products Summarization and natural-language search features whose outputs need systematic quality measurement. Golden set, Validation set, A/B testing
Quality metric library Automated metrics for hallucination, relevance, coherence, citation correctness, and Slack-specific ID formatting. LLM evaluator, NLI evaluator, Composite scoring
LLM evaluator Large-model judge used for evaluation questions where sampling can make compute cost manageable. Quality metric library, Composite scoring
NLI evaluator Smaller natural-language-inference model used for higher-scale evaluation of specific quality questions. Quality metric library, Composite scoring
Composite scoring Combines individual quality metrics into product-level or diagnostic quality scores. Quality metric library, Golden set, Validation set, A/B testing
Golden set Small inspectable sample used for rapid prototyping and debugging. Generative Slack products, Composite scoring
Validation set Larger representative sample, typically 100-500 examples, scored with automated metrics when raw data cannot be inspected. Generative Slack products, Composite scoring
A/B testing Production experiment stage that uses quality metrics to assess whether changes drive product improvements. Generative Slack products, Composite scoring

Data flow

A proposed change to a Slack generative feature is first tried against a small golden set where engineers can inspect the source messages and outputs. If it looks promising, the change moves to a larger validation set of about 100-500 representative samples where automated metrics score outputs without exposing underlying data. Metrics may be produced by LLM evaluators, NLI models, and Slack-specific format checks, then combined into composite or broken-down quality scores. Finally, A/B testing uses those quality metrics to decide whether the experiment improves the product.

3 supporting quotes
“the first is what we call sort of golden set a small sample of slack messages that we can actually see the underlying data and resulting uh summaries”transcript, stated
“the next is a much larger and more representative validation set typically comprising around 100 to5 500 samples where we can no longer see the underlying data”transcript, stated
“the last is uh something that I think we're all familiar with which is leveraging sort of AB testing and using our quality metrics”transcript, stated

Why this architecture

Slack's architecture treats evaluation as a system rather than a single score because LLM product quality is both subjective and multi-dimensional. Decomposed metrics make hallucination, citation, formatting, relevance, and coherence measurable enough to guide engineering decisions. The staged golden-set, validation-set, and A/B-test lifecycle balances developer visibility, representative scale, privacy, and live-product confidence. Using both LLM judges and smaller NLI models lets Slack trade evaluation sophistication against compute cost.

4 supporting quotes
“if you're not measuring the quality of your llm outputs it's tough to continue to improve them or know that you are actually improving them”transcript, stated
“largely subjectivity uh what I think of as a good summary may be very different than what you think of as a good summary”transcript, stated
“we actually take these like larger Concepts and we start to really break them down uh into much smaller and more tractable problems”transcript, stated
“these big llms are kind of huge though and maybe you don't have the compute or scale to be able to evaluate at the scale that you want”transcript, stated

Models used: large language models as evaluators · natural language inference models

Scale

Alternatives considered (roads not taken)

Evaluate on ten examples and ship

Rejected because: Slack considers each user experience random and unique, so a tiny static set cannot support confident product improvement.

“from AI you can't just develop sort of 10 examples evaluate on those and uh say you're kind of good to go but this leads”transcript, stated

One monolithic hallucination metric

Rejected because: The team argues specific evaluation measures yield better outcomes, so hallucinations are broken into product-relevant subcategories.

“lot of research has shown that being more specific around sort of your evaluation measures will lead to sort of better evaluation outcomes and so”transcript, stated
“instead of in of focusing on capturing hallucinations as a whole on your generative outputs how can we break this down into a variety of subcategories”transcript, stated

Run large LLM judges for every evaluation need

Rejected because: Large evaluator models may be too compute-heavy to run at the desired scale, so Slack also uses sampling and NLI models.

“these big llms are kind of huge though and maybe you don't have the compute or scale to be able to evaluate at the scale that you want”transcript, stated
“we also use sort of natural language inference modeling to be able to drive these uh answer these questions at a much uh higher scale”transcript, stated

Patterns

eval-driven-development (evaluation)

Slack uses automated quality metrics as stage gates from prototyping through validation and A/B testing.

“by having this sort of stage gate and prototyping capability it allows us to fail fast and prototype a variety of different uh approaches very very very quickly”transcript, stated

llm-as-judge (evaluation)

Slack uses large LLMs as evaluators where their cost can be managed through sampling.

“one is very common leveraging machine llms is sort of evaluators these big llms are kind of huge though”transcript, stated

guardrails-io-filtering (quality-control)

Metrics check extrinsic hallucinations, incorrect citations, and malformed Slack IDs so generated content integrates safely with Slack.

“we don't want the llm to generate text outside of the provided context we don't want it to go into its underlying knowledge base”transcript, stated
“ensuring that it's outputting sort of the correctly formatted user IDs the correctly formatted Chann Channel IDs or even message IDs”transcript, stated

Tradeoffs

Staged evaluation lifecycle

Chose golden sets, validation sets, and A/B tests over one evaluation phase for every model change.

Rationale: The staged process lets teams debug quickly, then gain representative confidence, then verify impact in production.

“what this does is it sort of gives rise to a ver of evaluation process that allows us to ensure that each sort of stage we are driving”transcript, stated
“only pushing forward the ones that we actually think will drive value according to our quality metrics”transcript, stated

Specific metrics over broad labels

Chose narrow hallucination, citation, relevance, coherence, and formatting metrics over single broad quality or hallucination labels.

Rationale: Specific measures are more tractable and more aligned with product needs.

“being more specific around sort of your evaluation measures will lead to sort of better evaluation outcomes”transcript, stated
“we actually take these like larger Concepts and we start to really break them down uh into much smaller and more tractable problems”transcript, stated

Mixed evaluator stack

Chose LLM evaluators plus NLI models and sampling over large LLM evaluation everywhere.

Rationale: The mixed stack preserves richer evaluator judgment where useful while making high-scale checks practical.

“these big llms are kind of huge though and maybe you don't have the compute or scale to be able to evaluate at the scale that you want”transcript, stated
“we also use sort of natural language inference modeling to be able to drive these uh answer these questions at a much uh higher scale”transcript, stated

Gotchas (what bit them)

LLM output quality is subjective and context-dependent.

Root cause: Different users can legitimately prefer different summary lengths and detail levels.

Resolution: Slack breaks broad quality into multiple metrics and evaluates in context rather than forcing a single binary definition.

“what I think of as a good summary may be very different than what you think of as a good summary”transcript, stated
“the evaluation should largely be driven by sort of context and the user needs for that particular product”transcript, stated

Small example sets create false confidence.

Root cause: Generative product experiences are random and unique across users.

Resolution: Slack pairs small golden-set debugging with larger validation sets and A/B testing.

“with each user experience it's very random and sort of unique”transcript, stated
“you can't just develop sort of 10 examples evaluate on those and uh say you're kind of good to go”transcript, stated

LLM judges may be too expensive at full evaluation scale.

Root cause: Large evaluator models require significant compute.

Resolution: Slack uses sampling with LLM evaluators and smaller NLI models for higher-scale quality questions.

“these big llms are kind of huge though and maybe you don't have the compute or scale to be able to evaluate at the scale that you want”transcript, stated
“there are a variety of sampling techniques that allow you to get a good score from these”transcript, stated

Evaluation

Slack evaluates generative features through metric decomposition, small inspectable golden sets, 100-500-sample validation sets, and A/B testing, using LLM judges, NLI models, and product-specific checks.

Metrics: accuracy · coherence · relevance · extrinsic hallucination · citation correctness · Slack user/channel/message ID formatting · composite or broken-down quality score

3 supporting quotes
“ensuring that your summary or response is actually accurate uh it is coherent like it has a good language it has a good flow”transcript, stated
“is the llm making providing incorrect citations so in a question answer system you may be actually providing the uh the right answer but citing to the wrong message”transcript, stated
“generate either a composite or uh broken down quality score for a iety of our sort of generative based products”transcript, stated

Outcomes

The validation stage usually uses 100-500 representative examples, while A/B testing moves evaluation into live experiments.

3 supporting quotes
“we we recently introduced extractive summarization as a prior pre-processing technique for llm summarization uh when the context sizes are are way too large”transcript, stated
“we were able to demonstrate sort of a significant reduction in quality while also uh showing significant improvements in the format capabilities”transcript, stated
“standardizing your sort of development cycle and ensuring that you can prototype and fail fast will allow you to sort of continue uh building better and better products”transcript, stated