Sari la conținut
WP-Bench: benchmarkul oficial care măsoară cât de bine „știe” un model AI WordPress
Maria Popa
Maria Popa 20 January 2026 · 7 min de citit

WP-Bench: benchmarkul oficial care măsoară cât de bine „știe” un model AI WordPress

Modelele de limbaj au devenit suficient de bune încât să-ți genereze un plugin „care pare ok” la prima vedere. Problema e că WordPress nu înseamnă doar PHP: înseamnă convenții, hooks (acțiuni și filtre), reguli de securitate, compatibilitate cu core-ul și o grămadă de detalii unde un răspuns greșit poate introduce vulnerabilități sau bug-uri greu de depistat.

Din zona WordPress vine acum WP-Bench, un benchmark oficial care încearcă să cuantifice cât de bine se descurcă un model AI pe sarcini specifice de dezvoltare WordPress — nu pe probleme generale de programare. Proiectul este public pe GitHub: WP-Bench.

De ce contează un benchmark „WordPress-first”

În mod tipic, modelele sunt evaluate pe task-uri generice: algoritmi, probleme de logică, întrebări de limbaje populare. Dar WordPress alimentează o parte uriașă din web, iar dezvoltarea reală în ecosistemul WordPress are particularități care nu apar în benchmarkurile standard.

  • Decizii mai bune când alegi tooling-ul: dacă lucrezi cu un coding assistant sau construiești funcționalități AI într-un plugin, e util să știi ce modele sunt solide pe WordPress (APIs, coding standards, pattern-uri de securitate).
  • Presiune pozitivă pe furnizorii de modele: obiectivul declarat este ca WP-Bench să devină un reper folosit și de laboratoare/companii care dezvoltă modele, astfel încât performanța pe WordPress să fie luată în calcul din timp, nu „după lansare”.
  • Transparență printr-un leaderboard open source: echipa lucrează la un clasament public al rezultatelor, cu scopul de a face comparabile modelele pe sarcini WordPress.

Ce măsoară, concret, WP-Bench

WP-Bench împarte evaluarea pe două axe, ca să nu rămână doar la „știe teorie” sau doar la „generează cod”.

1) Knowledge: întrebări de tip grilă pe concepte WordPress

Aici intră întrebări multiple-choice despre concepte, API-uri, hooks, standarde de cod și pattern-uri de securitate. Accentul cade și pe zone mai noi din WordPress, menționate explicit în proiect, precum Abilities API și Interactivity API — tocmai pentru că acolo modelele tind să fie mai fragile.

2) Execution: task-uri de generare de cod, notate în runtime WordPress

Partea interesantă este că nu se notează „după impresie”. WP-Bench rulează codul generat într-un mediu izolat și îl verifică cu analiză statică și aserțiuni la execuție. Cu alte cuvinte, WordPress este folosit ca „grader”, nu doar ca subiect al întrebărilor.

Cum funcționează notarea (grading) în WP-Bench

Fluxul de evaluare este gândit ca un pipeline reproductibil:

  1. Harness-ul trimite un prompt către model, cerând cod WordPress.
  2. Codul generat este trimis către runtime-ul WordPress prin WP-CLI (interfața de linie de comandă pentru WordPress).
  3. Runtime-ul face verificări de analiză statică: sintaxă, standarde, aspecte de securitate.
  4. Codul rulează într-un sandbox, unde se execută teste cu aserțiuni.
  5. Rezultatele se întorc ca JSON: scoruri plus feedback detaliat.

De ce e important runtime-ul

Un model poate produce cod care arată bine în review, dar care nu rulează, nu respectă convențiile WordPress sau introduce vulnerabilități. Evaluarea în runtime reduce mult din aceste „false positives”.

Quick start: cum îl rulezi local

WP-Bench are două componente principale: un harness în Python (care orchestrează rulările) și un runtime WordPress (care notează efectiv codul). Un setup minimal arată așa.

1) Instalare (Python venv + install editable)

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

2) Chei API pentru provideri (fișier .env)

Creezi un fișier .env cu cheile pentru providerii pe care vrei să-i testezi:

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

3) Pornești runtime-ul WordPress (grader)

cd runtime
npm install
npm start

4) Rulezi benchmarkul

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

Output-ul ajunge în output/results.json, iar log-urile pe test în output/results.jsonl.

Compararea mai multor modele într-o singură rulare

Un avantaj practic este că poți rula mai multe modele secvențial, pe același set de teste, și să obții un tabel comparativ. Modelele se declară în config, iar numele urmează convențiile LiteLLM (detalii în documentația lor): LiteLLM conventions.

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

Config: ce merită să ajustezi din wp-bench.example.yaml

În practică, aproape sigur vei copia config-ul exemplu și vei ajusta: sursa dataset-ului, ce suite rulezi, câte teste, concurența și unde scrii rezultatele.

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

Opțiuni utile în CLI

wp-bench run --config wp-bench.yaml          # run cu fișier de config
wp-bench run --model-name gpt-4o --limit 5   # test rapid cu un singur model
wp-bench dry-run --config wp-bench.yaml      # validează config-ul fără apeluri către modele

Cum este organizat repository-ul

Structura proiectului e separată clar între orchestrare, runtime și dataset-uri, ceea ce ajută dacă vrei să contribui:

.
├── 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: ce se evaluează în wp-core-v1

Suite-urile de teste sunt în datasets/suites/<suite-name>/ și fiecare suite are două componente:

  • execution/ — task-uri de generare de cod cu aserțiuni (câte un fișier JSON per categorie).
  • knowledge/ — întrebări grilă (câte un fișier JSON per categorie).

Suite-ul implicit, wp-core-v1, acoperă zone precum core APIs, hooks, operații pe baza de date și pattern-uri de securitate.

Încărcarea dataset-ului din Hugging Face

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

Limitări actuale (și de ce sunt relevante)

WP-Bench este prezentat ca un release timpuriu și are câteva limitări importante, care îți spun și cum să interpretezi scorurile:

  • Dataset relativ mic: încă nu există suficient volum și varietate de teste ca să acopere exhaustiv ecosistemul WordPress.
  • Bias către WordPress 6.9 și API-uri noi: suite-ul curent e orientat spre capabilități moderne (Abilities API, Interactivity API). Asta e util ca să diferențieze modelele, dar poate dezavantaja modele antrenate înainte ca aceste noutăți să fie răspândite în datele publice.
  • Saturație pe concepte vechi: testarea inițială a arătat că multe modele iau scoruri foarte mari pe zonele „clasice”, deci e nevoie de întrebări și task-uri care chiar separă performanța reală.

Resurse oficiale

Alătură-te comunității HelloWP!

Discută cu noi despre WordPress, dezvoltare web și împărtășește experiențe cu alți dezvoltatori.

- membri
- online
Alătură-te

Folosim cookie-uri pentru a vă îmbunătăți experiența. Continuând, sunteți de acord cu Politica noastră privind cookie-urile.