WP-Bench: oficiálny benchmark pre AI modely vo WordPress svete (a ako si ho spustiť)
Ak používaš AI coding assistantov pri vývoji pluginov alebo tém, asi si už narazil na typický problém: model síce vyzerá sebavedomo, no výsledok je často mimo WordPress idiomov. Niekedy zle použije hooky, inokedy ignoruje coding standards, alebo navrhne riešenie, ktoré je bezpečnostne rizikové.
Práve na tento typ otázok mieri WP-Bench – oficiálny WordPress AI benchmark. Nejde o ďalšiu všeobecnú sadu úloh „napíš funkciu v Pythone“, ale o meranie toho, ako dobre model zvláda WordPress-specific vývoj: od Core API a architektúry pluginov až po bezpečnostné best practices.
Čo je WP-Bench a prečo je to dôležité
WordPress poháňa veľkú časť webu, no modely sa často hodnotia na generických programátorských úlohách. WP-Bench tento gap zapĺňa tým, že cieli priamo na situácie, ktoré riešime denne: práca s databázou cez WordPress API, správne používanie hookov (actions/filters), štruktúra pluginu, a kontrola bezpečnostných vzorov.
Z praktického pohľadu to má dve roviny:
- Lepšie rozhodnutia dnes: ak staviaš AI‑powered funkcie (napr. generovanie obsahu, automatizácia v administrácii, chat v supporte) alebo len porovnávaš modely na kódovanie, potrebuješ vedieť, ktorý model reálne zvláda WordPress špecifiká.
- Tlak na lepšie modely zajtra: ambícia je, aby sa WP-Bench stal štandardom, ktorý budú AI poskytovatelia spúšťať pri interných evaluáciách. Ak sa WordPress výkon začne merať systematicky, prestane byť „vedľajší“ a dostane sa do priorít pri ladení modelov.
Ako WP-Bench meria „WordPress schopnosti“
WP-Bench hodnotí modely v dvoch dimenziách, ktoré spolu dávajú zmysel: teória aj prax.
1) Knowledge: čo model vie
Prvá časť sú multiple-choice otázky na WordPress koncepty: Core API, hooky, bezpečnostné vzory, coding standards a podobne. Dôraz je aj na moderné prírastky – napríklad Abilities API a Interactivity API (novšie rozhrania, ktoré modely často nemajú dobre „napozerané“).
2) Execution: čo model naozaj dokáže napísať
Druhá časť sú úlohy na generovanie kódu. Kľúčové je, že sa nehodnotí len „vyzerá to dobre“, ale výsledný kód sa posiela do reálneho WordPress runtime, kde prebehne statická aj runtime kontrola.
Prečo je execution časť zaujímavá
Veľa benchmarkov hodnotí kód len cez textové porovnanie alebo unit testy mimo ekosystému. WP-Bench používa priamo WordPress ako „grader“, takže sa prirodzene odhalia problémy typu zlé hooky, nevhodné API, porušené štandardy alebo bezpečnostné nedostatky.
Ako prebieha hodnotenie (grading) v praxi
Proces je navrhnutý ako pipeline, kde model vygeneruje kód a WordPress ho v izolovanom prostredí spustí a ohodnotí:
- Benchmark harness pošle modelu prompt so zadaním na WordPress kód.
- Vygenerovaný kód sa odošle do WordPress runtime cez WP-CLI (command-line nástroj na správu WordPressu).
- Runtime spraví statickú analýzu (syntaktické chyby, coding standards, bezpečnostné checky).
- Kód sa spustí v sandboxe a prejdú testovacie assertions.
- Výsledok sa vráti ako JSON so skóre a detailným feedbackom.
Quick start: spustenie WP-Bench lokálne
WP-Bench je open source a dá sa spustiť lokálne. Základný flow je: nainštalovať Python harness, nastaviť API kľúče, spustiť WordPress runtime (grader) a pustiť run.
1) Inštalácia harnessu (Python)
python3 -m venv .venv && source .venv/bin/activate
pip install -e ./python2) API kľúče pre poskytovateľov modelov
V koreňi projektu si priprav .env so svojimi API kľúčmi (podľa toho, ktoré modely chceš testovať):
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...3) Spustenie WordPress runtime (grader)
cd runtime
npm install
npm start4) Spustenie benchmarku
cd ..
wp-bench run --config wp-bench.example.yamlVýstupy sa zapisujú do output/results.json a detailné logy po jednotlivých testoch do output/results.jsonl.
Porovnanie viacerých modelov v jednom behu
Silná stránka WP-Bench je, že vieš v jednom run-e porovnať viac modelov. V konfigurácii ich len uvedieš v zozname a harness ich spustí sekvenčne, pričom vyhodí porovnávaciu tabuľku. Názvy modelov používajú konvencie podľa LiteLLM.
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-flashKonfigurácia: čo sa typicky oplatí upraviť
Základ je skopírovať wp-bench.example.yaml a prispôsobiť dataset, modely, grader a parametre behu. Praktické nastavenia sú najmä limit (na rýchly smoke test) a concurrency (paralelizácia behov).
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.jsonlUžitočné CLI príkazy
wp-bench run --config wp-bench.yaml # run s config súborom
wp-bench run --model-name gpt-4o --limit 5 # rýchly single-model test
wp-bench dry-run --config wp-bench.yaml # validácia configu bez volania modelovAko je repozitár poskladaný (orientácia v projekte)
Ak chceš do WP-Bench prispieť alebo len pochopiť, kde čo je, pomôže tento základný prehľad adresárovej štruktúry:
.
├── 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)Test suites: knowledge vs execution a defaultný wp-core-v1
Datasety sú organizované do suites v datasets/suites/<suite-name>/. Každá suite má typicky dve vetvy:
execution/– úlohy na generovanie kódu s assertions (zvyčajne po kategóriách v JSON).knowledge/– multiple-choice otázky (tiež po kategóriách v JSON).
Defaultná suite wp-core-v1 sa zameriava na WordPress core API, hooky, prácu s databázou a bezpečnostné vzory.
Načítanie datasetu z Hugging Face
Okrem lokálnych datasetov vie WP-Bench ťahať suite aj z Hugging Face, čo je praktické pre zdieľanie a verziovanie datasietov.
dataset:
source: huggingface
name: WordPress/wp-bench-v1Aktuálny stav a limity, s ktorými treba rátať
WP-Bench je zatiaľ skoré vydanie a je férové brať výsledky ako signál, nie absolútnu pravdu. V oznámení sa spomínajú najmä tri oblasti:
- Veľkosť datasetu: momentálne je suite relatívne malá. Pre komplexný benchmark treba viac prípadov naprieč API a reálnymi patternmi.
- Pokrytie verzií: testy sú naklonené k novším prvkom z WordPress 6.9 (napr. Abilities API, Interactivity API). Je to čiastočne zámer (tam modely reálne zlyhávajú), ale zároveň to vytvára bias, lebo tieto veci môžu byť „po tréningu“ mnohých modelov.
- Saturácia benchmarku: pri starších konceptoch modely v early testoch skórovali príliš vysoko, takže také otázky prestávajú rozlišovať kvalitu. Nájsť úlohy, ktoré sú naozaj náročné (nie len nové), je samostatná výzva.
Kde WP-Bench sedí v praxi WordPress developera
Pre mňa má WP-Bench najväčší prínos v týchto situáciách:
- Ak vyberáš model pre interný nástroj (napr. generovanie skeletonu pluginu, migrácie, boilerplate pre REST endpointy) a potrebuješ porovnať WordPress kvalitu, nie len všeobecné „coding“ skóre.
- Ak chceš mať obhájiteľné kritériá pri rozhodovaní, či sa viac oplatí investovať do promptovania, do guardrails, alebo do výmeny modelu.
- Ak buduješ workflow, kde AI generuje kód a ty ho chceš automaticky verifikovať v runtime – WP-Bench ukazuje jeden z možných smerov (WordPress ako grader).
Zdroje
- WP-Bench GitHub repository: https://github.com/WordPress/wp-bench
- Oznámenie na make.wordpress.org: https://make.wordpress.org/ai/2026/01/14/introducing-wp-bench-a-wordpress-ai-benchmark/
- AI Building Blocks for WordPress: https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/
- #core-ai Slack channel: https://wordpress.slack.com/archives/C08TJ8BPULS
Zuzana Horváthová
Šéfredaktorka slovenského tímu, vývojárka WordPress tém a pluginov. Gutenberg bloky a FSE sú moja špecializácia. Moderný WordPress je cieľ.
Všetky príspevky