fwiw, perhaps I have too many evals: no numbers but basically green good red bad, and we iterate out of reds into more green. and when existing evals saturate (cols 1 - 4), we look at traces and add more evals (col 6 & 7) 🤓
we can think of evals as just the scientific method: observe outputs, annotate them, hypothesize why good or bad, design and run experiments, measure outcomes, analyze errors, repeat. it's possible to do this without evaluation sets or automated evaluators, but it could be hard to scale; also, those eval sets and evaluators are by no means a substitute for trying the product yourself and looking at complaints / defects. anecdotes > metrics.
I try to explain evals to engineers by analogizing it to test-driven development (TDD), where we write tests before implementing software that passes those tests. eval-driven development (EDD) has the same philosophy: before developing a feature, we define success criteria (evals) and start measuring against it from day one. machine learning teams have done this for decades really, though we call it validation and test splits. same same but different.
i'm probably paranoid and over-obsessive for tracking this on a spreadsheet that goes from column A -> Z, but I don't know of a better way for a team to collaborate across time and space, with everyone running their own experiments and merging changes, and identifying the most promising directions to pursue or existing gaps to close. if you do know, please let me know! 🙏