Using Evaluations Offensively
Most people test what AI can do. Ankur Goyal suggests testing what it should be able to do.
Typically, as product developers, we build a feature then write some tests to protect it.
When tests fail in the future, you know you've broken something important and need to fix it before pushing any changes.
This is true of conventional code as it is for evals.
Goyal, who heads Customer service over at Braintrust, suggests a more aggressive test-driven approach to evaluations.
You write the evaluations first, ambitious tests, for features that AI might not even be able to handle yet.
If the evaluations don't pass, you just keep the features on ice.
But every time a new model or update comes out, you get to run your evaluations and see if the system can now handle what you were aiming for.
This is neat because it allows you to design based on what you need, not what's possible.
If what you need is not possible, then you look for ways to break down, improve or simplify the feature (as you would have anyway).
But the instant a new model comes out, you might be able to drop all the workarounds and go straight for the feature you originally wanted.