firehose> #llmops

Eval-Driven Development

Treat improving an LLM app as an explicit, repeatable flywheel, not a one-time build: build an instrumented agent → Error Analysis on real traces → write evals only where the analysis justifies them → improve, prove which change moved the metric, wire evals into CI/CD, monitor production for drift → new failures re-enter as permanent regression tests. Evals are the engine ("evals are the new unit tests") because non-deterministic, subjective outputs make vibes-based iteration unreliable — a plausibly "better" change can silently regress.

The key inversion vs. naïve testing: error-analysis-first. You don't write a generic eval suite up front; you write evaluators reactively for the failures you discover, so coverage tracks real problems instead of imagined ones. Code-based evals catch deterministic failures; LLM-as-Judge handles subjective ones.

Claims


Linked from