Agent evals often check the path, not just the final answer: did the agent call the right tools, in a sensible order? Compare a predicted list of tool names with a reference list:
exact_match(pred, ref): identical listsin_order_match(pred, ref): ref appears in pred as a subsequence (extra calls are allowed, but the reference calls must appear in that order)any_order_match(pred, ref): every reference call appears in pred at least as many times as in ref, in any ordercall_precision_recall(pred, ref): multiset precision and recall: matched = Σ over tools of min(count in pred, count in ref). Use 1.0 for an empty denominator.