WP-Bench: el benchmark oficial para medir cómo de bien entiende la IA WordPress
Si estás construyendo un plugin con funcionalidades de IA, o simplemente dependes de un copiloto para picar código en el día a día, hay una pregunta incómoda que tarde o temprano aparece: ¿qué tal se le da a este modelo con WordPress de verdad? No con ejercicios genéricos de programación, sino con APIs del core, arquitectura de plugins, estándares de código y patrones de seguridad típicos del ecosistema.
Para atacar ese hueco, el proyecto WordPress ha presentado WP-Bench, un benchmark oficial para evaluar modelos de lenguaje (LLMs) específicamente en tareas de desarrollo WordPress. La idea es simple: medir con criterios comparables qué modelos “se defienden” y cuáles se quedan cortos cuando el terreno es WordPress.
Qué es exactamente WP-Bench (y qué no)
WP-Bench es un conjunto de pruebas y una infraestructura de evaluación pensadas para puntuar modelos de IA en dos frentes: conocimiento (si conocen conceptos, APIs y buenas prácticas) y ejecución (si son capaces de generar código que realmente funciona dentro de un WordPress real).
No pretende ser un test de “programación general”. Justo al revés: su valor está en ser WordPress-specific. Eso incluye desde el uso correcto de hooks (acciones y filtros) hasta decisiones de seguridad (capabilities, nonces, sanitización/escapado) y estándares de codificación.
Por qué un benchmark de IA centrado en WordPress es relevante
WordPress sigue siendo una pieza central de la web, pero la mayoría de evaluaciones públicas sobre modelos se apoyan en tareas genéricas (algoritmos, Python, problemas de LeetCode, etc.). Eso no refleja la realidad de un dev que mantiene un plugin, un theme o una integración WooCommerce con restricciones reales.
- Ayuda a elegir tooling con criterio. Si comparas modelos para asistencia de código, WP-Bench apunta a darte una señal más cercana a tu día a día en WordPress.
- Presiona para que los proveedores optimicen en WordPress. La intención declarada es que el benchmark se convierta en una referencia que los laboratorios ejecuten en sus evaluaciones internas, idealmente antes de lanzar modelos.
- Camino hacia un leaderboard abierto. El equipo plantea avanzar hacia una clasificación pública con resultados transparentes, útil tanto para la comunidad como para entender cómo se posicionan distintos modelos en tareas WordPress.
Cómo evalúa WP-Bench: conocimiento vs ejecución
WP-Bench separa la evaluación en dos dimensiones complementarias:
1) Knowledge: preguntas tipo test sobre WordPress
La parte de Knowledge consiste en preguntas de opción múltiple que cubren conceptos de WordPress: APIs, hooks, patrones de seguridad y estándares de código. Según el anuncio, hay énfasis en incorporaciones modernas como Abilities API y Interactivity API, precisamente porque ahí es donde muchos modelos suelen fallar (por ser más nuevas o menos presentes en datos de entrenamiento).
2) Execution: generación de código validada por un runtime real
La parte más interesante para el perfil “ingeniería” es Execution: tareas de generación de código que se corrigen ejecutándolo en un entorno WordPress, con análisis estático y aserciones en runtime. Es decir, no basta con sonar convincente: el código tiene que pasar por una evaluación automática que intenta comprobar sintaxis, estándares y comportamiento.
El detalle clave: WordPress actúa como corrector
Uno de los puntos diferenciales es que el grader (corrector) se apoya en WordPress y ejecuta el código en un entorno aislado. El flujo de evaluación que describe el proyecto es, a alto nivel, este:
- El harness (la herramienta de ejecución del benchmark) envía un prompt al modelo pidiendo código WordPress.
- El código generado se envía al runtime de WordPress a través de WP-CLI (la herramienta de línea de comandos de WordPress).
- El runtime hace análisis estático (por ejemplo: sintaxis, estándares y señales de seguridad).
- Se ejecuta el código en sandbox con aserciones/test.
- El resultado vuelve en JSON con puntuaciones y feedback detallado.
Este enfoque intenta equilibrar dos cosas: evaluar si el modelo conoce la teoría (APIs, convenciones) y si puede producir código utilizable y compatible con el ecosistema.
Quick start: cómo levantar WP-Bench en local
El repositorio incluye un harness en Python y un runtime basado en un proyecto con wp-env (el entorno de desarrollo local habitual en contrib/core). El arranque rápido que proponen es bastante directo.
1) Instalación del harness (Python)
python3 -m venv .venv && source .venv/bin/activate
pip install -e ./python2) Configurar claves de API
Necesitas un fichero .env con las claves del proveedor (o proveedores) que vayas a evaluar. Ejemplo:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...3) Arrancar el runtime de WordPress (grader)
cd runtime
npm install
npm start4) Ejecutar el benchmark
cd ..
wp-bench run --config wp-bench.example.yamlLos resultados se escriben en output/results.json, y también se generan logs por test en output/results.jsonl.
Comparar varios modelos en una sola pasada
Una necesidad muy real es comparar “mi modelo actual” contra alternativas. WP-Bench soporta multi-model benchmarking listándolos en el YAML de configuración:
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-flashEl harness ejecuta los modelos de forma secuencial y genera una tabla comparativa. Los nombres de modelo siguen las convenciones de LiteLLM (útil si ya estandarizas proveedores detrás de ese wrapper).
Configuración: lo que importa del YAML
La configuración se basa en copiar wp-bench.example.yaml y ajustar dataset, modelos, grader y parámetros de ejecución. Un ejemplo típico:
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.jsonlDetalles prácticos: limit te sirve para un smoke test rápido (en lugar de correr toda la suite) y concurrency controla la concurrencia de ejecución de tests (dependiendo de recursos y límites de tu proveedor de IA).
Comandos útiles del CLI
wp-bench run --config wp-bench.yaml # run with config file
wp-bench run --model-name gpt-4o --limit 5 # quick single-model test
wp-bench dry-run --config wp-bench.yaml # validate config without calling modelsSuites de tests y estructura del repo
La estructura del repositorio ayuda a entender cómo se separan responsabilidades:
.
├── 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)Las suites viven en datasets/suites/<suite-name>/ y se separan por tipo:
execution/: tareas de generación de código con aserciones (normalmente un JSON por categoría).knowledge/: preguntas de opción múltiple (también organizadas por categoría).
La suite por defecto, wp-core-v1, cubre APIs del core, hooks, operaciones de base de datos y patrones de seguridad.
Cargar datasets desde Hugging Face
Además del dataset local, se contempla cargar suites desde Hugging Face con esta configuración:
dataset:
source: huggingface
name: WordPress/wp-bench-v1Estado actual y limitaciones conocidas
WP-Bench se presenta como un lanzamiento temprano, y el propio equipo deja claras varias limitaciones que conviene tener en mente si vas a interpretar resultados:
- Tamaño del dataset. La suite actual es relativamente pequeña; harán falta más casos para cubrir de forma amplia APIs y patrones reales de WordPress.
- Cobertura por versiones. Hay un sesgo hacia funcionalidades modernas (mencionan WordPress 6.9 y APIs como Abilities/Interactivity). Esto es intencional en parte, pero también introduce un sesgo porque muchas de esas piezas son posteriores al entrenamiento de varios modelos.
- Saturación del benchmark. En pruebas tempranas, algunos modelos puntúan muy alto en conceptos antiguos, lo que reduce la señal: hay que diseñar problemas que sean realmente discriminantes, no solo “preguntas fáciles” del ecosistema.
Dónde encaja WP-Bench en un flujo real de desarrollo
Aunque el objetivo declarado es convertirse en un estándar (y eventualmente tener un leaderboard público), en el corto plazo WP-Bench ya puede ser útil como herramienta interna si en tu equipo:
- Estáis eligiendo proveedor/modelo para asistencia de código en proyectos WordPress.
- Queréis comparar modelos con vuestras convenciones (por ejemplo, exigencia en sanitización/escape, uso correcto de capabilities, etc.).
- Necesitáis una forma reproducible de evaluar mejoras cuando cambiáis de modelo o ajustáis prompts.
Y si contribuyes al ecosistema, el punto crítico es evidente: el valor del benchmark depende de la calidad y diversidad de los casos de prueba y de la robustez del grading.
Recursos oficiales
- Repositorio de WP-Bench: https://github.com/WordPress/wp-bench
- AI Building Blocks for WordPress: https://make.wordpress.org/ai/2025/07/17/ai-building-blocks/
- #core-ai en Slack: https://wordpress.slack.com/archives/C08TJ8BPULS
María García
Editora del equipo español, especialista en e-commerce y WooCommerce. Construir y optimizar tiendas online es mi perfil principal. Disfruto de las soluciones creativas.
Todas las publicacionesMás de María García
WP-CLI y Abilities API para Wordfence: seguridad de WordPress desde la terminal (y lista para agentes de IA)
Divi 5 ya tiene fecha de lanzamiento oficial: qué cambia para tus proyectos en WordPress
Stripe Agentic Commerce Suite llega a WooCommerce desde el día uno: qué cambia para tu tienda (y para tus integraciones)