Preskočiť na obsah
WP-Bench: oficiálny benchmark pre AI modely vo WordPress svete (a ako si ho spustiť)
Zuzana Horváthová
Zuzana Horváthová 20. January 2026 · 8 min čítania

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í:

  1. Benchmark harness pošle modelu prompt so zadaním na WordPress kód.
  2. Vygenerovaný kód sa odošle do WordPress runtime cez WP-CLI (command-line nástroj na správu WordPressu).
  3. Runtime spraví statickú analýzu (syntaktické chyby, coding standards, bezpečnostné checky).
  4. Kód sa spustí v sandboxe a prejdú testovacie assertions.
  5. 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 ./python

2) 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 start

4) Spustenie benchmarku

cd ..
wp-bench run --config wp-bench.example.yaml

Vý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-flash

Konfigurá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.jsonl

Už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 modelov

Ako 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-v1

Aktuá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

Pridajte sa ku komunite HelloWP!

Chatujte s nami o WordPresse, webovom vývoji a zdieľajte skúsenosti s ostatnými vývojármi.

- členovia
- online
Pridať sa

Používame súbory cookie na zlepšenie vášho zážitku. Pokračovaním súhlasíte s našimi Zásadami používania súborov cookie.