A cikkminőség eval-harness, amit nekünk magunknak építettünk
Közzétéve: · quality
312 referenciacikk, 14 dimenzió, ±2%-os regressziós kapu — és a két dimenzió, ahol az ember még mindig veri a modellt.
Tavaly ősszel összegyűlt 312 olyan cikkünk, amelyekről a szerkesztőség egyhangúan azt mondta: ez minőség. Nem virális, nem trendi, nem feltétlenül a legolvasottabbak közül — hanem azok, amelyeket szakmai szemmel a saját mércénk csúcsára tennénk. Ebből a 312-ből épült fel az eval-harness, amely ma minden modellfrissítés kapuját őrzi.
Tizennégy dimenzió
Az iparági LLM-as-a-judge sztenderdek (G-Eval, MT-Bench, HelpfulnessRubric) jó kiindulópont, de újságírásra finomra hangolva sokat veszítenek a relevanciájukból. Tizennégy saját dimenziót definiáltunk:
- Lede erőssége — megragad-e az első mondat
- Állítások sűrűsége — információ per szó
- Strukturális koherencia — követhető-e a gondolatmenet
- Hivatkozások konkrétsága — nevek, dátumok, források
- Idézetek minősége — funkcionális vagy díszítő
- Adat-narratíva egyensúly — nem szám-zuhatag és nem mese
- Szakmai hitelesség — érti-e a szerző a területet
- Önkritikus distancia — felteszi-e az ellenkérdést
- Címbeváltás — a cikk azt szállítja, amit a cím ígér
- Tér-idő pontosság — kontextusban van-e az esemény
- Nyelvi gazdaságosság — kihúzhatók-e a feleslegek
- Konklúzió súlya — érdemes-e elolvasni az utolsó bekezdést
- SEO-érintetlenség — nem érződik-e meg a kulcsszóoptimalizálás
- Olvasói tisztelet — nem talk-down, nem feltételezi a butaságot
Mindegyik 1–7 Likerten, részletes rubrikákkal. Anthropic Claude Opus 4.7 értékel, two-shot prompttal, a saját 312-es korpuszunkból vett kalibrációs példákkal.
A regressziós kapu
Minden modellbump (legyen az Claude, OpenAI, vagy egy nyílt forrású alternatíva, amit méricskélünk) átfut a 312 cikken. A kapu egyszerű: dimenziónkénti átlagpontszám ±2%-on belül maradhat. Ha bármelyik dimenzió alá- vagy túlcsúszik, a deploy blokkol. Túlcsúszás miért blokkol? Mert a +5% strukturális koherencia gyakran azt jelenti, hogy a modell elkezdte sablonosan szerkeszteni a cikkeket — látszólag javítva, valójában uniformizálva.
Ez a kapu eddig három modellfrissítést állított meg. Mindhárom esetben kiderült: a látszólagos minőségugrás valójában stiláris kiegyenlítés volt, amit a 8-as dimenzió (önkritikus distancia) bukása leplezett le.
Két dimenzió, ahol az ember még mindig nyer
Szakmai hitelesség (7) és Olvasói tisztelet (14) — ezen a két dimenzión az emberi szerző stabilan 0.4–0.6 ponttal magasabb átlagot ér el, mint a legjobb LLM-generáció. Az előbbinél a modell részleteket talál ki vagy túl absztrahál; az utóbbinál vagy túl magyarázó, vagy túl bennfentes. Egyik sem a házihangunk.
Egy dimenzió, ahol a modellben jobban bízunk
Nyelvi gazdaságosság (11) — a saját kollégáinknál vakon megbízva át szoktunk siklani azon, hogy 850 szóból tényleg 850 kell-e. Az LLM-judge itt fegyelmezetlenül őszinte: jelzi, ha 720-ban is elférne ugyanaz a tartalom. Ezt a dimenziót három hónapja átemeltük a CI-be — kötelező visszacsatolás minden olyan cikknél, amelyik átlépi az 1000 szót.
Mit nem old meg az eval-harness
Nem mondja meg, hogy a cikk fontos-e. A 312 referenciacikkben benne van a fontosság intuitív definíciója, de operacionalizálni nem tudtuk. Próbáltuk citation-graph-fal, social-share-fel, returning-reader-rel — egyik sem korrelál meggyőzően a szakmai 'fontos' ítélettel. Ez a döntés továbbra is a főszerkesztőé, és valószínűleg az is marad.
Hogyan futtatjuk
A harness saját Vercel-cron-on fut éjszakánként a staging-modell-konfiguráción, és kézzel triggerelhető bármelyik kollégától egy belső admin-felületről. Egy teljes futtatás 312 cikken körülbelül 18 percig tart Claude Opus 4.7-en, költsége egyetlen futtatásra nagyjából 14 euró. Ez vállalható ár ahhoz képest, hogy egyetlen rossz modellbump fél napos kollégai időbe kerülne mire kiderül, mi a baj. A futtatás után egy diff-jelentés érkezik a szerkesztőség Slack-csatornájára: dimenziónként az előző baseline-hoz képesti átlag-elmozdulás, a tíz legnagyobb pontszámesést elszenvedett cikk listája, és — ha bukik a kapu — egy egysoros 'BLOCK: dimension X drifted by Y%' üzenet, ami automatikusan zárolja a deploy-ágat. Ez a transzparens megoldás vált be: nem mi szólunk a szerkesztőségnek, hogy mi romlott, hanem a rendszer maga.