WP-Bench: végre egy hivatalos WordPress AI benchmark, ami tényleg WordPress-tudást mér
Ha dolgoztál már AI-alapú kódasszisztenssel WordPress-projekten, valószínűleg ismerős a jelenség: a modell szépen megírja a PHP-t, aztán kiderül, hogy rossz hook-ot választott, nem WP-szerű a megoldás, vagy elcsúszik a biztonsági alapokon (nonce, capability check, sanitization/escaping). A klasszikus programozási benchmarkok erre nem adnak jó képet, mert általános feladatokra vannak kitalálva.
Erre érkezett válaszként a WordPress projekt részéről a WP-Bench, ami a bejelentés szerint az első hivatalos WordPress AI benchmark: célja, hogy mérhető legyen, mennyire értik a nyelvi modellek a WordPress fejlesztést – nem elméletben, hanem futtatható kóddal, WordPress környezetben.
Mi az a WP-Bench, és mire jó?
A WP-Bench egy nyílt forráskódú benchmark-keretrendszer, ami kifejezetten WordPress feladatokon értékel nyelvi modelleket. A fókusz nem csak a core API-k ismerete, hanem a WordPress-specifikus fejlesztői valóság: kódolási szabványok, bővítmény-architektúra, biztonsági bevett minták és a modern API-k használata.
A WordPress a web jelentős részét hajtja, mégis sok AI-értékelés „általános programozásként” kezeli a területet. A WP-Bench lényege pont az, hogy a WordPress-tudás ne mellékes szempont legyen, hanem külön mérhető képesség.
Mit mér pontosan? Két dimenzió: tudás és végrehajtás
A WP-Bench két nagy tengelyen értékel:
- Knowledge (tudás): feleletválasztós kérdések WordPress fogalmakról, API-król, hook-okról (WordPress-es eseménypontok és szűrők), biztonsági mintákról és kódolási szabványokról. A leírás alapján külön hangsúlyt kapnak az újabb fejlesztések, például az Abilities API és az Interactivity API.
- Execution (végrehajtás): kódgenerálós feladatok, ahol a modell által írt kódot egy valódi WordPress runtime értékeli statikus elemzéssel és futás közbeni ellenőrzésekkel (assertion-ök).
A legfontosabb rész: WordPress értékel WordPress-t
A benchmark egyik erős ötlete, hogy nem egy „külső” pontozó próbálja kitalálni, jó-e a kód, hanem maga a WordPress futtatókörnyezete értékel. A folyamat röviden:
- A harness (futtató) promptot küld a modellnek, és WordPress-kódot kér.
- A generált kód WP-CLI-n keresztül eljut a WordPress runtime-hoz.
- A runtime statikus ellenőrzéseket futtat (szintaxis, kódstílus, biztonsági szabályok).
- A kód sandboxolt környezetben lefut, és teszt-assertion-ök ellenőrzik az elvárt működést.
- Az eredmény JSON-ként érkezik vissza pontszámokkal és részletes visszajelzéssel.
Fejlesztői szemmel ez azért fontos, mert a „jól kinéző” kód helyett a működő, szabványos és biztonságos megoldások felé tolja a mércét.
Gyorsindítás: hogyan próbálhatod ki a WP-Bench-et?
A projekt úgy van összerakva, hogy a benchmark futtató része Pythonból indul, a WordPress-es értékelés pedig egy külön runtime mappában megy.
1) Telepítés (Python virtualenv)
python3 -m venv .venv && source .venv/bin/activate
pip install -e ./python
2) API kulcsok beállítása (.env)
A modell-szolgáltatók kulcsait egy .env fájlba tudod tenni. A példa alapján több szolgáltató is támogatott:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
3) WordPress runtime indítása (Node.js)
cd runtime
npm install
npm start
4) Benchmark futtatása
cd ..
wp-bench run --config wp-bench.example.yaml
Az eredmények alapértelmezetten az output/results.json fájlba kerülnek, a részletes, tesztenkénti log pedig output/results.jsonl formában.
Több modell összehasonlítása egy futással
Ha nem csak egy modellt akarsz futtatni, a konfigurációban több modellt is felsorolhatsz. A WP-Bench egymás után lefuttatja őket, és összehasonlító táblát ad a végén. A modellnevek a LiteLLM konvencióit követik (részletek: LiteLLM providers).
models:
- name: gpt-4o
- name: gpt-4o-mini
- name: claude-sonnet-4-20250514
- name: claude-opus-4-5-20251101
- name: gemini/gemini-2.5-pro
- name: gemini/gemini-2.5-flash
Konfiguráció: mit érdemes testre szabni?
A kiindulási alap a wp-bench.example.yaml, amit lemásolsz és módosítasz. A lényegi részek:
- dataset: honnan jön a feladatsor (lokális vagy Hugging Face).
- models: melyik modelleket futtatod.
- grader: hogyan indul a WordPress-es értékelő (a példában Docker és egy
wp-env-es runtime). - run: melyik suite menjen, mennyi teszt, és milyen párhuzamossággal.
- output: hova írja az eredményt.
dataset:
source: local # 'local' or 'huggingface'
name: wp-core-v1 # suite name
models:
- name: gpt-4o
grader:
kind: docker
wp_env_dir: ./runtime # path to wp-env project
run:
suite: wp-core-v1
limit: 10 # limit tests (null = all)
concurrency: 4
output:
path: output/results.json
jsonl_path: output/results.jsonl
Hasznos CLI parancsok
wp-bench run --config wp-bench.yaml # futtatás config fájllal
wp-bench run --model-name gpt-4o --limit 5 # gyors, egy-modeles próba
wp-bench dry-run --config wp-bench.yaml # config ellenőrzés modellhívás nélkül
Hogyan épül fel a repo? (gyors térkép)
A struktúra elég tiszta, külön van a futtató (Python), külön a WordPress runtime és külön a feladatsorok:
.
├── python/ # Benchmark harness (pip installable)
├── runtime/ # WordPress grader plugin + wp-env config
├── datasets/ # Test suites (local JSON + Hugging Face builder)
├── notebooks/ # Results visualization and reporting
└── output/ # Benchmark results (gitignored)
Feladatsorok (test suites): tudás + kód, kategóriák szerint
A suite-ok a datasets/suites/<suite-name>/ alatt vannak, és két könyvtárra bontanak:
execution/– kódgenerálós feladatok assertion-ökkel (kategóriánként külön JSON).knowledge/– feleletválasztós kérdések (szintén kategóriánként külön JSON).
Az alapértelmezett suite neve wp-core-v1, és a leírás alapján WordPress core API-kat, hook-okat, adatbázis-műveleteket és biztonsági mintákat fed le.
Suite betöltése Hugging Face-ről
A dataset forrását át tudod kapcsolni Hugging Face-re is:
dataset:
source: huggingface
name: WordPress/wp-bench-v1
Jelenlegi állapot és korlátok (amit érdemes észben tartani)
A bejelentés alapján a WP-Bench még korai kiadás, és több ponton is látszik, merre kell fejlődnie:
- Kicsi dataset: a jelenlegi feladatsor még nem elég nagy ahhoz, hogy „mindent lefedő” képet adjon. Több WordPress API-ra és több valós mintára lesz szükség.
- Verzió-bias: a suite jelenleg erősen a WordPress 6.9 körüli újdonságok (Abilities API, Interactivity API) felé húz. Ez részben szándékos, mert ezeken szoktak elvérezni a modellek, de torzít is, mivel ezek az API-k sok modell tréningadatában még nem szerepeltek.
- Benchmark-szaturáció: a régebbi WordPress-témákból több modell túl magas pontszámot hozott, vagyis ezek a kérdések már nem adnak elég információt. Nehéz olyan feladatot találni, ami tényleg kihívás, és nem csak „új”.
Miért érdekes ez WordPress-fejlesztőként?
A WP-Bench két irányból lehet hasznos a mindennapi döntéseidhez:
- Eszközválasztás: ha AI-t használsz kódolásra (vagy AI-funkciót építesz bővítménybe), nem mindegy, melyik modell mennyire érti a WordPress-es konvenciókat. A benchmark célja, hogy erről legyen összehasonlítható képed.
- Nyomás a modellgyártók felé: a cél, hogy a WP-Bench egy olyan standard legyen, amit a nagy labok is lefuttatnak pre-release értékelésként. Ha a WordPress teljesítmény mérhető és látható, az önmagában ösztönző lehet optimalizálásra.
A csapat emellett egy nyílt, publikus leaderboard (ranglista) irányába is dolgozik, ahol átláthatóan követhető lesz, melyik modell hogyan teljesít WordPress feladatokon.
Közösségi projekt: mitől lesz igazán jó a WP-Bench?
Egy WordPress-specifikus benchmark minősége alapvetően a teszteseteken és az értékelés szigorán áll vagy bukik. A bejelentés szerint a WP-Bench kifejezetten számít közösségi hozzájárulásokra, többek között:
- új tesztesetek hozzáadása (különösen a trükkös, gyakran félreértett WordPress mintákból),
- benchmarkok futtatása és eredmények megosztása,
- a grading logika (értékelés) szigorításának, pontosításának javítása,
- eredmények beküldése a készülő publikus ranglistához.
Hasznos linkek (hivatalos források)
- WP-Bench repo: https://github.com/WordPress/wp-bench
- AI Building Blocks for WordPress: https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/
- WordPress Slack #core-ai: https://wordpress.slack.com/archives/C08TJ8BPULS
Hivatkozások / Források
Kovács Anna
A magyar szerkesztőség vezetője, PHP és WordPress szakértő. Imádom az elegáns megoldásokat és a jól strukturált kódot. Szabadidőmben open source projekteken dolgozom.
Összes bejegyzés