Preskoči na sadržaj
WP-Bench: službeni WordPress AI benchmark koji konačno mjeri “znaš li WordPress?”
Marko Kovačić
Marko Kovačić 20. January 2026. · 8 min čitanja

WP-Bench: službeni WordPress AI benchmark koji konačno mjeri “znaš li WordPress?”

AI modeli sve bolje pišu kod, ali WordPress je specifična zvijer: hookovi, capabilites, core API-jevi, coding standards, kompatibilnost unatrag i tisuću načina da slučajno napraviš sigurnosnu rupu. Upravo zato je zanimljiva vijest da WordPress projekt gura WP-Bench kao službeni AI benchmark fokusiran baš na WordPress development.

Ideja je jednostavna: umjesto generičkih zadataka tipa “napiši REST endpoint”, WP-Bench testira koliko model razumije WordPress koncepte i može li isporučiti kod koji stvarno radi u WordPress runtimeu, uz provjere standarda i sigurnosti.

Što je WP-Bench i kome je namijenjen

WP-Bench je benchmark (standardizirani set testova) za evaluaciju LLM-ova (large language models) u kontekstu WordPressa. Pokriva dvije velike zone: teorijsko razumijevanje (znanje) i praktičnu isporuku koda (izvršavanje).

Ako radiš na AI-powered pluginovima, internim alatima ili samo biraš coding assistant za WordPress projekte, ovakav benchmark je koristan jer ti daje usporedivu metriku za WordPress-specifične zadatke, a ne opći dojam “dobro piše PHP”.

Zašto WordPressu treba poseban AI benchmark

  • WordPress je dominantna platforma, ali većina evaluacija AI modela je općenita i rijetko ulazi u specifičnosti WordPress ekosustava.
  • WordPress development ima jasna pravila igre: coding standards, sanitization/escaping, nonces, permission checks, pravilna uporaba hookova i API-ja.
  • Novi API-ji se teško “hvataju”: WP-Bench namjerno naglašava moderne stvari poput Abilities API-ja i Interactivity API-ja, gdje se modeli često spotiču jer te značajke dolaze nakon većine njihovih trening setova (prema samoj objavi).
  • Transparentnost i usporedivost: cilj je ići prema javnom leaderboardu, kako bi rezultati bili provjerljivi i korisni za zajednicu.

Kako WP-Bench mjeri sposobnosti: Knowledge vs Execution

WP-Bench razdvaja evaluaciju u dvije dimenzije:

  • Knowledge: pitanja na više ponuđenih odgovora koja ciljaju WordPress koncepte, core API-je, hookove, sigurnosne obrasce i coding standards (s naglaskom na modernije dodatke poput Abilities API-ja i Interactivity API-ja).
  • Execution: zadaci generiranja koda koji se ocjenjuju tako da se kod zaista pokrene u WordPress runtimeu, uz statičku analizu i runtime asercije.

Praktično, to znači da “model zna objasniti što je wp_nonce_field()” nije dovoljno. Benchmark želi vidjeti može li model proizvesti kod koji prođe provjere i odradi zadatak u sandboxu bez lomljenja standarda i bez očitih sigurnosnih problema.

Kako izgleda ocjenjivanje (grading) u praksi

Jedan detalj koji WP-Bench čini zanimljivim je to što WordPress sam glumi ocjenjivača: generirani kod se šalje u WordPress runtime i tamo prolazi kroz analize i testne asercije.

  1. Harness šalje prompt modelu i traži WordPress kod za određeni zadatak.
  2. Generirani kod se prosljeđuje WordPress runtimeu kroz WP-CLI (CLI alat za upravljanje WordPressom).
  3. Runtime radi statičke provjere: sintaksu, coding standards i sigurnosne aspekte.
  4. Kod se izvršava u sandboxiranom okruženju, uz test asercije koje provjeravaju očekivano ponašanje.
  5. Rezultati se vraćaju kao JSON sa scoreovima i detaljnim feedbackom.

Zašto je ovo bitno

Kod “AI evaluacija” često je problem što se ocjenjuje samo tekstualni output. Ovdje je naglasak na tome da se WordPress kod stvarno pokrene i provjeri, što je bliže realnom developmentu.

Brzi start: pokretanje WP-Bench-a lokalno

WP-Bench repozitorij je organiziran tako da ima Python dio (harness) i zaseban runtime dio (WordPress grader + konfiguracija). Minimalni put do prvog rezultata izgleda ovako.

1) Instalacija Python harnessa

python3 -m venv .venv && source .venv/bin/activate
pip install -e ./python

2) API ključevi (model provideri)

WP-Bench se oslanja na API-je providera. Kreiraš .env datoteku i upišeš ključeve za one koje koristiš.

OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...

3) Pokretanje WordPress runtimea za grading

cd runtime
npm install
npm start

4) Pokretanje benchmarka

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

Rezultati se upisuju u output/results.json, a per-test logovi idu u output/results.jsonl. JSONL format je praktičan ako kasnije želiš filtrirati i analizirati rezultate po testovima.

Usporedba više modela u jednom runu

Ako radiš evaluaciju za tim ili želiš standardizirano usporediti modele koje već koristiš, WP-Bench podržava multi-model konfiguraciju u jednom pokretanju.

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

Nazivi modela prate LiteLLM konvencije (prema dokumentaciji na LiteLLM), što olakšava rad s različitim providerima bez ručnog “spajanja” svakog SDK-a.

Konfiguracija koja se stvarno koristi (dataset, grader, concurrency)

Osnovna konfiguracija se radi preko YAML-a. Tipično kopiraš wp-bench.example.yaml i prilagodiš dataset, modele i način ocjenjivanja.

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

Dva praktična parametra su limit (koristan za brze probe) i concurrency (koliko paralelno ide). Imaj na umu da paralelizacija znači i više istovremenih API poziva prema providerima, pa to može utjecati na trošak i rate limit.

Korisne CLI opcije

wp-bench run --config wp-bench.yaml          # run s config datotekom
wp-bench run --model-name gpt-4o --limit 5   # brzi single-model test
wp-bench dry-run --config wp-bench.yaml      # validacija configa bez pozivanja modela

Struktura repozitorija: gdje su datasetovi i što se izvršava

Repozitorij je posložen tako da jasno razdvaja “orchestrator” (Python) i WordPress grading runtime.

.
├── 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 suiteovi: što se zapravo testira

Test suiteovi su u datasets/suites/<suite-name>/ i tipično imaju dvije mape:

  • execution/ — zadaci generiranja koda s asercijama (obično jedan JSON po kategoriji).
  • knowledge/ — multiple-choice pitanja (također jedan JSON po kategoriji).

Default suite wp-core-v1 pokriva core API-je, hookove, rad s bazom, te sigurnosne obrasce. Ako želiš dataset povlačiti izvana, podržan je i Hugging Face kao izvor.

dataset:
  source: huggingface
  name: WordPress/wp-bench-v1

Trenutno stanje i ograničenja (realno, ovo je “early release”)

U najavi je jasno naglašeno da je WP-Bench rani release i da ima nekoliko očekivanih ograničenja:

  • Veličina dataseta: trenutačni set testova je relativno mali; treba više slučajeva preko šireg spektra WordPress API-ja i obrazaca.
  • Pokrivenost verzija: fokus naginje prema novijim značajkama (spominje se WordPress 6.9 i API-ji poput Abilities i Interactivity), što je djelomično namjerno, ali uvodi bias jer ti dijelovi često nisu bili u trening podacima modela.
  • Saturacija benchmarka: modeli su u ranim testovima postizali visoke rezultate na starijim konceptima, pa takva pitanja manje razlikuju modele. Izazov je složiti zadatke koji su stvarno teški, a ne samo “novi”.

Kako čitati rezultate

Ako model pada na novijim API-jima, to nije nužno “loš model” nego signal o svježini znanja i o tome kako se snalazi kad nema memorirani primjer. Za realne projekte to je često ključna razlika.

Što WP-Bench potencijalno mijenja za WordPress developere

Ako WP-Bench postane standard (što je jedan od deklariranih ciljeva), AI provideri bi mogli imati WordPress performanse kao dio internog pre-release testiranja, a ne kao sporednu metriku. Za nas koji radimo u WordPress ekosustavu to znači dvije stvari: bolji modeli za specifične WP zadatke i manje vremena potrošenog na provjeravanje generiranog koda koji “izgleda ok”, ali ne prolazi u realnom runtimeu.

Uz to, planirani open-source leaderboard bi mogao postati praktičan alat kad treba odlučiti koji model koristiti za određenu vrstu posla: npr. refactor legacy plugina vs. pisanje modernog interaktivnog bloka.

Resursi

  • WP-Bench GitHub: https://github.com/WordPress/wp-bench
  • 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

Pridružite se HelloWP zajednici!

Razgovarajte s nama o WordPressu, web razvoju i podijelite iskustva s drugim developerima.

- članovi
- online
Pridruži se

Koristimo kolačiće kako bismo poboljšali vaše iskustvo. Nastavkom se slažete s našom Politikom kolačića.