Există un pattern pe care îl vedem în aproape orice sistem agentic care rulează de mai mult de șase luni: un folder numit evals/ cu 40 de scenarii scrise entuziast în săptămâna a doua și un last_run.json dinaintea ultimei modificări de prompt.
Asta nu e un set de evals. E un screenshot dintr-o ședință din martie.
Problema celor două joburi
Când un set de evals trăiește în afara CI, ajunge să servească două joburi care trag în direcții opuse:
- Să te convingă pe tine că sistemul funcționează (rulezi o dată, demo, arhivă)
- Să prindă regresii înainte să o facă utilizatorii (rulezi la fiecare schimbare, blochezi release-urile)
Primul job premiază minuțiozitatea — scrii 200 de cazuri care acoperă fiecare edge. Al doilea premiază viteza — rulează în sub cinci minute sau nimeni nu așteaptă.
În afara CI, setul tinde să derive spre primul job, pentru că al doilea nu are forțare. Rezultatul e un set impresionant la demo și inutil în practică.
Ce înseamnă efectiv „în CI"
Trei lucruri concrete, în ordinea costului:
- Un subset rulează la fiecare PR. Alege 20–40 de cazuri rapide, cu acoperire mare. Trebuie să se termine în sub 90 de secunde și să blocheze merge-ul dacă pică.
- Setul complet rulează nocturn pe branch-ul main. Eșecurile trezesc pe cineva — nu rotația on-call, ci proprietarul prompt-ului.
- Delta-urile de scor se urmăresc în timp. Nu doar pass/fail. O regresie de 4% în acuratețea citării care nu pică un gate dur tot e o regresie.
Cel din mijloc — eșecurile trezesc un proprietar — e partea pe care echipele o sar și apoi se întreabă de ce derivă se compune.
Ce livrăm cu fiecare sistem
Un target pnpm eval (sau echivalent) care rulează subsetul rapid local în sub două minute. Un GitHub Action care rulează același lucru pe PR. Un nocturn care rulează setul complet pe prompt-urile din prod. Și un dashboard cu două grafice: rata de pass pe tag și rata de pass în timp.
Atât. Nimic din lista asta nu e nou. Noutatea e că e conectat în ziua unu și rămâne conectat după ce plecăm.
De ce funcționează
Inginerii nu vor scrie evals pentru sisteme care nu le forțează. Setul de evals nu e un artefact moral, e o piesă de rezistență din piramida testelor. Pune-l unde stă restul testelor.