Building and Automating Comprehensive LLM Evaluation Framework for SNAP Benefits

propel · Government · 2025 · 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: Public-benefits LLM evaluation

Propel needed a rigorous evaluation framework for SNAP-related questions that could benchmark base models for public value and guide an internal SNAP-specific assistant product.

Constraints:

Architecture

Propel built a SNAP eval framework using expert exploration, factual test cases, Promptfoo automation, Google Sheet-based eval authoring, multi-model comparison across GPT-4o-mini, Claude 3.5 Sonnet, and Gemini 2.0 Flash, and LLM-as-judge checks for more nuanced criteria such as reading level.

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

flowchart LR
  snap-expert[SNAP Expert] --> promptfoo-eval-suite[Promptfoo Eval Suite]
  google-sheet[Google Sheet] --> promptfoo-eval-suite[Promptfoo Eval Suite]
  promptfoo-eval-suite --> model-candidates[Model Candidates]
  promptfoo-eval-suite --> judge-model[Judge Model]
  promptfoo-eval-suite --> snap-assistant-product[SNAP Assistant Product]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
SNAP Expert Domain expert who probes model behavior and writes evaluation criteria. Promptfoo Eval Suite
Promptfoo Eval Suite Automated evaluation harness for SNAP questions. Google Sheet, Model Candidates, Judge Model
Google Sheet Accessible authoring surface for eval cases. Promptfoo Eval Suite
Model Candidates GPT-4o-mini, Claude 3.5 Sonnet, Gemini 2.0 Flash, and other models under test. Promptfoo Eval Suite
Judge Model LLM-as-judge evaluator for nuanced answer properties. Promptfoo Eval Suite
SNAP Assistant Product Future product informed by the eval framework. Promptfoo Eval Suite

Data flow

SNAP experts identify good and bad model outputs, encode factual questions and criteria into Promptfoo tests, run the same prompts across candidate models, check objective facts automatically, and use model-judge approaches for nuanced accessibility criteria.

“The first step was having someone with a strong SNAP understanding go and use the models a lot. By poking with different inputs, we built some sense of what good and bad outputs looked like concretely.”article, stated
“We are using an open source tool called Promptfoo. One of the top reasons I used Promptfoo for this is that I want creating evals to become more accessible to experts in topics that aren’t software engineers.”article, stated

Why this architecture

Propel separated benchmarking from product-specific evaluation because the public benchmark needs objective consensus while the assistant needs opinionated criteria. Promptfoo and Google Sheets made eval authoring accessible to SNAP experts rather than only engineers.

“we actually have two distinct goals, and so in practice we are building two different evals with a common foundation”article, stated
“And one of the very best features of Promptfoo is that you can run evals directly from a Google Sheet. So an expert can write in a document like this: ”article, stated

Models used: GPT-4o-mini · Claude 3.5 Sonnet · Gemini 2.0 Flash Experimental · LLM-as-judge

Scale

Alternatives considered (roads not taken)

Use one generic eval for both public benchmark and internal product.

Rejected because: Benchmarking and product-assistant goals diverge after a common foundation.

“Before continuing with the “how” of building our SNAP eval, it’s important to note that we actually have two distinct goals, and so in practice we are building two different evals with a common foundation — but they will diverge at a point.”article, stated

Depend only on base-model knowledge.

Rejected because: Models gave outdated income-limit information, so external knowledge may be needed.

“By testing the above, for example, we see that many models actually provide an outdated maximum income limit for SNAP. (To their credit, when asked, they generally do specify it is specifically for fiscal year 2024.)”article, stated

Only write hand-reviewed nuanced evals.

Rejected because: Factual tests are easier to automate and should be the next step.

“3. Factual tests are easier to write and generally easier to automate Some examples of some purely factual SNAP questions related to eligibility: * What is the maximum SNAP benefit amount for a household of 1?”article, stated

Patterns

eval-driven-development (public-benefits AI)

Propel builds factual and nuanced SNAP evals before deploying a SNAP assistant.

“building our SNAP eval”article, stated

llm-as-judge (evaluation)

Model judges are used for criteria such as reading-level accessibility.

“using models as “judges” of answers”article, stated

rag-retrieval (knowledge freshness)

RAG is identified as relevant when models need current income-limit inputs.

“techniques like retrieval augmented generation (RAG)”article, stated

human-in-the-loop-gate (domain expertise)

SNAP experts probe models and define concrete good/bad outputs.

“someone with a strong SNAP understanding”article, stated

Tradeoffs

Eval split

Chose Two evals with a common foundation over One universal SNAP eval.

Rationale: Public benchmarking and product guidance have different values and criteria.

“Benchmarking is useful for us for choosing what to build on top of”article, stated

Initial automation

Chose Factual tests first over Only nuanced model-judge tests.

Rationale: Objective facts are easier to write and automate.

“SNAP, as a domain, has many objective facts”article, stated

Authoring interface

Chose Google Sheets through Promptfoo over Engineer-only code-based eval authoring.

Rationale: Domain experts need to contribute directly.

“you can run evals directly from a Google Sheet”article, stated

Gotchas (what bit them)

Base models can know outdated benefit facts.

Root cause: SNAP policy values change over time and model knowledge may lag.

Resolution: Test factual prerequisites and inject current knowledge with RAG or large-context inputs.

“outdated maximum income limit for SNAP”article, stated

A benchmark objective may conflict with product-specific helpfulness.

Root cause: A client-facing assistant may penalize refusals differently from a general benchmark.

Resolution: Maintain separate eval goals on a common foundation.

“we might weight a refusal to answer much more negatively than a general benchmark”article, stated

Domain eval creation bottlenecks if only engineers can author tests.

Root cause: SNAP experts hold the knowledge but may not be software engineers.

Resolution: Use Promptfoo with Google Sheets to make eval creation accessible.

“creating evals to become more accessible to experts in topics that aren’t software engineers”article, stated

Evaluation

The project is an evaluation framework: expert model probing, factual test authoring, Promptfoo automation, multi-model factual comparisons, and LLM-as-judge checks for reading-level and nuanced criteria.

Metrics: Factual pass rate · Correct SNAP benefit amount · Reading-level accessibility · Model comparison · Outdated-information detection

“Criteria to evaluate the answer: it should include “$292””article, stated

Outcomes

The source reports three tested models, a $292 factual answer criterion, about 73% Claude pass rate, and about 45% pass rate for the other two models.

“Claude succeeding about 73% of the cases, while the other two models pass only about 45% of the cases.”article, stated