All posts
    Research

    What an eval score can't see

    Antonio Mone, Zuzanna Osika, Florian Felten, et al.

    Read the full paper on OpenReview

    We optimize the engine behind Hervé against our own suite of evals: change a prompt, a retrieval step, a model; run the eval; keep what scores higher. But we don't trust the score on its own. A score is a summary, and summaries throw things away. Two versions of our pipeline can land on the same eval and behave completely differently: one burns three times the tokens, one quietly stops using the intent sources we feed it, one changes what happens before the model is ever called. The final metric is blind to all of it.

    What we actually watch

    So we don't just store the final performance. We treat the engine like any machine-learning pipeline, with pre-processing, a model call, and post-processing, and record the behavior at each stage: tokens and latency, whether it genuinely uses the intent sources, what the model's inputs look like, what happens to its output. When two versions score the same, the trace is where you see they are not. We call the loop on top of this Automated Pipeline Optimization (APO), and we'll go deeper on it in a later post.

    Why we don't trust the score

    This is not a hunch. In a peer-reviewed paper in Transactions on Machine Learning Research (TMLR), our co-founder Florian Felten and his co-authors show it in reinforcement learning: policies scoring almost identically on their objectives can behave in completely different ways. On the MuJoCo robotics benchmarks, two policies can strike nearly the same speed-energy trade-off yet move visibly differently. Judge them by the numbers and they look interchangeable; watch them move and they are not.

    And reinforcement learning is not a distant cousin of the models we build on; it is how they are finished. Every modern LLM is post-trained with RL: OpenAI aligned GPT-3 into the ChatGPT line with reinforcement learning from human feedback, and DeepSeek's R1, published in Nature, incentivized reasoning with RL alone; a 2026 ICLR study even catches the standard benchmark crediting right answers reached through wrong reasoning. Claude Code and Codex sit directly on these RL-post-trained models, so the blind spot the paper proves for reinforcement learning is the one we build our engine around.

    A score tells you a system scored. Only the trace tells you how it behaved. So when we optimize Hervé's engine, we watch both, not just the number. Research like this is not a side project for us; it is what our engineering is built on.