WP-Bench: ametlik WordPressi AI-benchmark, mis paneb mudelid päriselt WP-koodi kirjutama
WordPressi projekt tuli välja uue algatusega, mis on arendajatele üllatavalt praktiline: WP-Bench on ametlik WordPressi AI-benchmark ehk standardiseeritud testikomplekt, millega hinnata, kuidas erinevad keelemudelid (LLM-id) saavad hakkama WordPressi-spetsiifiliste ülesannetega. Mitte “kirjuta mulle suvaline PHP funktsioon”, vaid päriselt: hook’id, core API-d, plugin arhitektuur, turvamustrid ja koodistandardid.
Oluline nüanss: WP-Bench ei piirdu viktoriiniküsimustega. Ta laseb mudelil koodi genereerida ja hindab tulemuse ära päris WordPressi runtime’is, automatiseeritud kontrollidega. See teeb temast rohkem “töökindluse testi” kui lihtsalt teoreetilise teadmistekontrolli.
Miks WordPress vajab oma benchmark’i?
Enamik AI-mudeleid ja nende võrdlustabeleid on üles ehitatud üldistele programmeerimisülesannetele. WordPressi puhul on see probleem, sest WP arenduses on palju spetsiifikat: konventsioonid, globaalne olek, hook’ide (actions/filters) maailm, turvaprintsiibid (nonce’id, capability check’id), andmebaasi ligipääsu mustrid, REST API eripärad jne.
WP-Bench täidab selle tühimiku kahe suure eesmärgiga:
- Mõista tänaseid mudeleid: kui valid endale tööriista (nt koodiassistent, sisuloome/automaatika plugin või “AI agent”), tahad teada, milline mudel päriselt WordPressi kontekstis paremini hakkama saab.
- Mõjutada homseid mudeleid: kui AI-laborid teevad enne väljalaset eval’e (pre-release evaluations), siis WordPressi võimekus peaks olema üks mõõdikuid, mitte juhuslik kõrvalmõte. Benchmark loob motiivi optimeerida miljonite WP kasutajate ja arendajate jaoks.
- Liikuda avatud edetabeli suunas: projekti plaanide järgi ehitatakse avalik leaderboard, mis näitab mudelite tulemusi WordPressi ülesannetes ja annab kogukonnale läbipaistvuse.
Kuidas WP-Bench mudelit hindab: teadmised vs teostus
WP-Bench vaatab mudeli võimekust kahest küljest:
- Knowledge – valikvastustega küsimused WordPressi kontseptsioonide kohta: API-d, hook’id, turvamustrid, koodistandardid. Eraldi rõhk on ka uuematel lisandustel nagu Abilities API ja Interactivity API (mainitud kui “modern additions”).
- Execution – koodigeneratsiooni ülesanded, mille tulemus pannakse päriselt tööle WordPressi keskkonnas ja hinnatakse automaatselt (staatiline analüüs + runtime assertion’id).
Praktiline väärtus arendajale tuleb just sellest teisest osast. Kui mudel oskab “õiget juttu rääkida”, aga toodab koodi, mis ei läbi analüüsi või kukub runtime’is läbi, siis see kajastub skooris.
Hindamise toru (grading pipeline) lühidalt
- Benchmark’i harness saadab mudelile prompt’i ja palub genereerida WordPressi koodi.
- Genereeritud kood edastatakse WordPressi runtime’i, kasutades WP-CLI-d.
- Runtime teeb staatilise analüüsi: süntaks, koodistandardid, turvakontrollid.
- Kood käivitatakse sandbox’is ning jooksutatakse assertion’id/testid.
- Tulemused tulevad tagasi JSON-ina koos skoori ja detailse tagasisidega.
Mida see arendaja jaoks tähendab?
Kui mudel “hallutsineerib” hook’i nime, kasutab valet API-t või unustab nonce/capability kontrollid, siis WP-Bench suudab seda järjest paremini kinni püüda – mitte oletuse, vaid käituse põhjal.
Kiirstart: kuidas WP-Bench enda masinas käima panna
WP-Bench repo on avalik GitHubis ning setup on tüüpiline “kaks maailma” lahendus: Python-põhine harness + Node/wp-env baasil WordPressi runtime grader. Allolev on lühike teekond, et saada esimene jooks tehtud.
1) Paigalda Python harness (virtuaalkeskkond + editable install)
python3 -m venv .venv && source .venv/bin/activate
pip install -e ./python2) Pane API võtmed .env faili
WP-Bench toetub mudelipakkujate API-dele. Lisa projekti juurkausta .env (või halda võtmeid oma tavapärases secrets-lahenduses):
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...3) Käivita WordPressi runtime (grader)
cd runtime
npm install
npm start4) Jooksuta benchmark
cd ..
wp-bench run --config wp-bench.example.yamlVäljund kirjutatakse output/results.json faili ning testide detailsemad logid output/results.jsonl faili.
Mitme mudeli võrdlus ühes jooksus (praktiline mudelivalik)
Kui valid tiimis mudelit (või tahad kinnitada, kas “odavam” variant on WordPressi jaoks piisav), siis WP-Bench suudab teha ühe konfiguratsiooniga järjestikuse võrdluse. Konfis loetled mudelid ja harness väljastab võrdlustabeli.
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-flashMudelinimed järgivad LiteLLM konventsioone (see on praktiline standard, mille kaudu saab erinevaid pakkujaid ühtse liidese taha ühendada). Viide: LiteLLM providers.
Konfiguratsioon: millised nupud on päriselt olulised?
WP-Bench’i näidiskonfigist on hästi näha, mis sind kõige rohkem huvitab: dataset’i allikas, grader’i tüüp (Docker), suite’i nimi, paralleelsus ja väljundfailid.
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.jsonlKasulikud CLI käsud igapäevaseks kasutuseks
wp-bench run --config wp-bench.yaml # jooksuta config failiga
wp-bench run --model-name gpt-4o --limit 5 # kiire test ühele mudelile
wp-bench dry-run --config wp-bench.yaml # kontrolli config'i, ilma et API-sid kutsuksKuidas testikomplektid (suites) on üles ehitatud?
WP-Bench’i repo struktuur on jagatud loogilisteks osadeks: Python harness, WordPressi runtime, dataset’id, notebook’id visualiseerimiseks ja output kataloog tulemuste jaoks.
.
├── 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)Suite’id elavad datasets/suites/<suite-name>/ ning on jaotatud kaheks:
execution/– koodigeneratsiooni ülesanded + assertion’id (JSON failid kategooriate kaupa).knowledge/– valikvastustega küsimused (samuti JSON failid kategooriate kaupa).
Vaikimisi suite wp-core-v1 katab WordPress core API-sid, hook’e, andmebaasioperatsioone ja turvamustreid.
Dataset Hugging Face’ist (kui tahad standardset allikat)
dataset:
source: huggingface
name: WordPress/wp-bench-v1Hetkeseis ja piirangud, millega arvestada
WP-Bench on varajases faasis ning WordPressi tiim toob ise välja mitu kohta, kus arenguruumi on:
- Dataset’i maht: praegune testide hulk on pigem väike. Et benchmark oleks “päriselt esinduslik”, on vaja rohkem juhtumeid eri API-de ja mustrite kohta.
- Versiooninihe: benchmark kaldub WordPress 6.9 uuemate teemade poole (nt Abilities API ja Interactivity API). See on osalt teadlik valik, sest just uute API-dega mudelid komistavad, kuid samas tekitab see kallutatust (paljud mudelid on treenitud vanema teadmise peal).
- Benchmark’i “saturatsioon”: varajased katsed näitasid, et vanemate WP-kontseptsioonide peal saavad mudelid väga kõrgeid skoore. Seega peab küsimusi/ülesandeid tegema nii, et need annaksid tugeva signaali, mitte ainult kinnitaksid ilmselget.
Kuidas panustada (kui tahad, et see mõõdaks päris elu)
WP-Bench’i väärtus sõltub otseselt testjuhtumite kvaliteedist. WordPressi ökosüsteemis on kümneid aastaid kogemust “kohtadest, kus inimesed (ja AI) eksivad” – keerulised hook’ide interaktsioonid, edge-case turvakontrollid, valed eeldused WP_Query kohta, multisite eripärad jne. Just sellised asjad on benchmark’i jaoks kuld.
- Lisa testjuhtumeid (execution või knowledge).
- Jooksuta benchmark’it mudelitega, mida päriselt kasutad, ja vaata, kus nad läbi kukuvad.
- Paranda grading-loogikat, et hinnang oleks rangem ja ühtlasem.
- Panusta tulemustega avaliku edetabeli suunas (projekti eesmärk on see avalikuks teha).
Ressursid
- WP-Bench GitHub Repository: 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
Kokkuvõte
WP-Bench on sisuliselt katse tuua WordPressi arenduse AI-tööriistadesse sama, mis meil on mujal: võrreldav mõõdik. Eriti tugev on lähenemine, kus kood ei jää tekstiks chat’i aknasse, vaid pannakse WordPressi runtime’is reaalselt tööle ja hinnatakse automaatselt. Kui see projekt kasvab dataset’ide ja rangema hindamise mõttes, võib sellest saada üks olulisemaid signaale, mille põhjal valida mudelit just WP töödeks.
Liisa Tamm
Eesti meeskonna peatoimetaja, e-valitsuse ja digitaalse identiteedi ekspert. Turvaline autentimine ja digital-first lahendused on minu valdkond.
Kõik postitused