WordPress 공식 AI 벤치마크 (wp-bench)
요약
WordPress 공식 AI 벤치마크인 wp-bench가 공개되었습니다. 이 도구는 언어 모델이 핵심 API, 코딩 표준, 플러그인 아키텍처 등 WordPress 개발 전반에 대한 이해도를 실제 실행 환경에서 평가합니다. 사용자는 Python과 Node.js를 사용하여 여러 LLM을 비교 테스트할 수 있습니다.
핵심 포인트
- LLM의 WordPress 개발 지식 측정: 핵심 API 및 코딩 표준 이해도 평가
- 실행 기반 평가(Execution-based): 정적 분석 및 런타임 단언으로 코드 생성 능력 검증
- 다중 모델 비교 용이: 여러 LLM을 하나의 하네스에서 순차적으로 실행하고 결과를 비교 가능
- 에이전트 스킬 측정 기능: 특정 '스킬' 적용 전후의 성능 변화(Δ skills)를 정량적으로 분석할 수 있음
WordPress의 공식 AI 벤치마크입니다. 언어 모델이 핵심 API, 코딩 표준부터 플러그인 아키텍처 및 보안 모범 사례에 이르기까지 WordPress 개발을 얼마나 잘 이해하는지 평가합니다.
WP-Bench는 실행(execution) 측면에서 AI 모델의 역량을 측정하며, 이는 실제 WordPress 환경에서 정적 검사 및 런타임 단언(runtime assertions)을 통해 채점되는 코드 생성 작업을 포함합니다.
이 벤치마크는 WordPress 자체를 평가 도구로 사용하여, 생성된 코드를 격리된 환경(sandboxed environment)에서 정적 분석과 런타임 단언을 거쳐 실행합니다.
Python 버전 3.10 이상이 필요합니다.
python3 -m venv .venv && source .venv/bin/activate
pip install -e ./python
모델 제공업체의 API 키를 사용하여 .env 파일을 생성하세요:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
cd runtime
npm install
npm start
cd ..
wp-bench run --config wp-bench.example.yaml
결과는 output/results.json에 작성되며, 개별 테스트 로그는 output/results.jsonl에 있습니다.
다중 모델 실행의 경우 모든 모델을 포괄하는 하나의 결합된 JSONL 파일이 생성되며, 각 레코드는 해당 모델 정보를 담고 있습니다.
실행 중에는 기록이 output/results_<timestamp>.jsonl.partial로 스트리밍되므로, 진행 상황을 확인하기 위해 tail -f를 사용할 수 있고, 실행이 중단되더라도(런타임 오류, 제공업체 할당량 소진, Ctrl-C) 이미 채점된 모든 결과를 유지할 수 있습니다. .partial 파일은 정의상 불완전한 실행입니다: 개별 레코드를 읽을 수는 있지만, 이 파일로부터 전체 스위트 점수를 계산해서는 안 됩니다. 정식 .jsonl 파일은 실행이 완료되었을 때만 나타나며, 모든 파일 이름의 타임스탬프는 실행이 시작된 시점입니다. 따라서 하나의 실행에 대한 JSON과 JSONL은 같은 이름을 공유합니다.
여러 모델을 단일 실행에서 비교하려면 구성(config)에 나열하세요:
models:
- name: gpt-4o
- name: gpt-4o-mini
...
이 하네스(harness)는 각 모델을 순차적으로 실행하고 비교 테이블을 출력합니다. 모델 이름은 LiteLLM 컨벤션을 따릅니다.
wp-bench.example.yaml을 복사하여 사용자 정의하세요:
dataset:
source: local # 'local' 또는 'huggingface'
name: wp-core-v1 # 스위트 이름
...
프로젝트 루트에서 실행
wp-bench run --config wp-bench.yaml # 설정 파일로 실행
wp-bench run --model-name gpt-4o --limit 5 # 빠르고 단일 모델 테스트 (층화 부분집합)
...
에이전트 스킬(skill)이 모델 점수를 얼마나 향상시키는지 측정하려면, --skill을 사용하여 하나 이상의 스킬을 전달합니다.
( SKILL.md를 포함하는 디렉토리 또는 단순한 .md 파일 — 예: WordPress/agent-skills에서 가져온 것).
모델은 동일하게 시딩된 테스트 부분집합에 대해 **기준선 통과(baseline pass)**와 **스킬 적용 통과(with-skills pass)**를 모두 실행합니다. 스킬 내용은 시스템 메시지로 주입되고, 사용자 프롬프트는 바이트 단위로 동일하게 유지되며, 비교 테이블에는 모델별 Δ skills 행이 추가되어 점수, 비용, 지연 시간의 변화량(delta)을 보여줍니다.
테스트별
…를 통해 실제 WordPress 검증기(verifier)로 테스트를 수행하고, 부정행위자(cheat)가 만족시킬 수 있는 모든 테스트의 주장을 플래그 지정합니다. 그러한 테스트는 명세가 부족합니다—테스트의 주장이 작업이 설명하는 WordPress 동작보다는 예측 가능한 출력(하나의 고정 값에 대한 답변)을 확인하기 때문에, 모델은 실제로 작업을 수행하지 않고도 이 테스트에서 점수를 얻을 수 있습니다. 만약 어떤 테스트라도 악용 가능하다면 0이 아닌 값을 반환합니다. (각 테스트별로 통과하는 부정행위와 함께) 결과는 출력 파일에 작성됩니다.
wp-bench run --check-exploits
.
├── python/ # 벤치마크 하네스 (pip install 가능)
├── runtime/ # WordPress 그레이더 플러그인 + wp-env 설정
...
테스트 스위트는 datasets/suites/<suite-name>/에 있습니다.
:
execution/
— 주장을 포함한 코드 생성 작업 (카테고리별 JSON 파일 하나)
기본 스위트인 wp-core-v1은 WordPress 코어 API, 훅(hooks), 데이터베이스 작업 및 보안 패턴을 다룹니다.
dataset:
source: huggingface
name: WordPress/wp-bench-v1
벤치마크 실행 후에는 포함된 Jupyter 노트북으로 결과를 시각화할 수 있습니다:
pip install jupyter pandas plotly
jupyter notebook notebooks/results_report.ipynb
이 노트북은 다음을 생성합니다:
-
전체 점수 막대 차트
-
최고 모델에 대한 레이더 차트
-
내보내기 가능한 HTML 보고서
-
하네스는 모델에게 WordPress 코드를 요청하는 프롬프트를 보냅니다.
-
생성된 코드는 WordPress 런타임으로 전송됩니다.
-
런타임은 정적 분석(구문, 코딩 표준, 보안)을 수행합니다.
-
코드는 테스트 주장을 가진 샌드박스에서 실행됩니다.
-
결과는 점수와 상세 피드백이 포함된 JSON 형태로 반환됩니다.
pip install -e ./python[dev] # 개발 종속성으로 설치
ruff check python/ # 린트(lint)
mypy python/ # 타입 검사
...
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기