run-ab-test-models
정보
이 스킬은 트래픽 분할, 통계적 유의성 검정, 카나리/섀도우 배포를 활용해 프로덕션 환경의 ML 모델에 대한 A/B 테스트를 가능하게 합니다. 개발자가 모델 버전을 비교하고 성능 차이를 측정하며 데이터 기반의 롤아웃 결정을 내릴 수 있도록 지원합니다. 새로운 모델 검증, 알고리즘 비교, 점진적 롤아웃 요구사항 충족에 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/run-ab-test-modelsClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
行模型 A/B 試
詳備之配置與模板,參 Extended Examples。
於生產之模型,分流量、行統計之析,以行受控之試。
用時
- 新模欲驗其改善,於全展之前乃用
- 比數候選之模(異算法或異特徵所訓)乃用
- 試超參之變於業務指標之影乃用
- 量模於生產之效,而不冒全流量之險乃用
- 監管之求漸進展(如醫用 ML)乃用
- 模大小之費效權衡乃用
入
- 必要:冠軍之模(當前生產之版)
- 必要:挑戰之模(欲試之新版)
- 必要:流量之分(如挑戰者得 5%)
- 必要:成之指(業務與 ML 之指)
- 必要:最少樣或試之時
- 可選:護欄之指(延、誤率之閾)
- 可選:分層之用者群
法
第一步:設試
定試之參、成之準、統計之求。
# ab_test/experiment_config.py
from dataclasses import dataclass
from typing import List, Dict
import numpy as np
from scipy.stats import norm
@dataclass
# ... (see EXAMPLES.md for complete implementation)
得:試之配有統計之確算樣本,常每變 5-10k 樣於 5-10% 之 MDE。
敗則:所求樣過大,則增流量之分、延試之時、或受較大之 MDE;驗基線估之確;或行序試以續察。
第二步:施流量之分
設路由之邏,隨機分請於諸模。
# ab_test/traffic_router.py
import hashlib
import random
from typing import Dict, Optional
from dataclasses import dataclass
import logging
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:用者之分一致,流量之分合所配,諸分皆記以析。
敗則:驗哈希之均(試以 10k user_id);user_id 跨請穩(非 session_id);日誌捕諸預測;於前 1000 請驗其分。
第三步:施影子之展(可選)
行挑戰者於並,而不影用者(影子模)。
# ab_test/shadow_deployment.py
import asyncio
from typing import Dict, Any
import logging
from concurrent.futures import ThreadPoolExecutor
import time
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:冠軍以常延供,挑戰者異步而記不阻,預測之差皆捕以析。
敗則:挑戰者超時宜短於冠軍 SLA 以免阻;挑戰者誤宜柔處而不影冠軍;察記憶之用(二模並載);可採樣(唯記 10% 影子預測)。
第四步:採與析指
聚試之數,行統計之試。
# ab_test/analysis.py
import pandas as pd
import numpy as np
from scipy import stats
from typing import Dict, Tuple
import logging
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:統計試之果含 p 值、置信區、與明決(展/留/未決),常於 7-14 日後或樣達。
敗則:驗真標可得(或須延析);察樣比之失(SRM)示分配之誤;驗樣達;察初期之新奇/首因;若定期試慢,則考序試。
第五步:監護欄之指
續察挑戰者不破安全之閾。
# ab_test/guardrails.py
import pandas as pd
import logging
from typing import Dict, List
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:護欄之違 5-15 分內察之,要閾破則自止試(延、誤),警送團隊。
敗則:驗護欄之閾合實(非過嚴);確監循環續行;驗 stop_experiment() 實更路由;試警之送渠。
第六步:作展之決
依試果決是否展挑戰者。
# ab_test/rollout_decision.py
import logging
from typing import Dict
from dataclasses import dataclass
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
得:明決(全展/漸展、留冠軍、或延試),附其由與行項。
敗則:決不明,則行子群之析(依用群、時、設備);察交互之效;察業務之境(如 2% 之升值工程之費乎);諮利益相關者。
驗
- 流量之分合所配(差於 1% 內)
- 同用者常分同變(一致察)
- 樣大算合理(每變 5-50k)
- 統計試之 p 值合人手算
- 護欄之違 5 分內觸警
- 影子展示模間預測之差 <5%
- 試報含置信區
- 展之決有書面之由
陷
- 樣比之失(SRM):察之分異於所配(如 95/5 變 92/8)示分配之誤;察哈希之均
- 窺:未達樣前察果,膨第一型誤;用序試,或俟預定之終
- 新奇之效:用者初應新模有異;行二週以上以見穩態
- 遺留之效:前變之曝影當前之為;用新用或足之洗期
- 多試:試多指增假陽之險;以 Bonferroni 校,或專一首指
- 力不足:流量之分小者,欲察實效或需數月;權衡力與險
- 忽群:總升或藏要群之負影;行子群之析
- 歸因之誤:果指確歸於模之預(非他系統之變)
參
deploy-ml-model-serving— 模展之基與版控monitor-model-drift— 展後續察之效
GitHub 저장소
연관 스킬
evaluating-llms-harness
테스팅이 Claude Skill은 MMLU, GSM8K를 포함한 60개 이상의 표준화된 학술 과제에서 LLM 성능을 벤치마크하기 위해 lm-evaluation-harness를 실행합니다. 개발자들이 모델 품질을 비교하고, 학습 진행 상황을 추적하거나 학술 결과를 보고할 수 있도록 설계되었습니다. 이 도구는 HuggingFace와 vLLM 모델을 포함한 다양한 백엔드를 지원합니다.
cloudflare-cron-triggers
테스팅이 스킬은 cron 표현식을 사용하여 Worker를 스케줄링하기 위한 Cloudflare Cron Triggers 구현에 관한 포괄적인 지식을 제공합니다. 주기적 작업, 유지보수 작업, 자동화된 워크플로우 설정 방법을 다루며, 잘못된 cron 표현식이나 시간대 문제 같은 일반적인 이슈들을 해결하는 방법을 포함합니다. 개발자들은 이를 통해 스케줄된 핸들러 구성, cron 트리거 테스트, Workflows 및 Green Compute와의 연동 작업을 수행할 수 있습니다.
webapp-testing
테스팅이 Claude Skill은 Python 스크립트를 통해 로컬 웹 애플리케이션을 테스트하기 위한 Playwright 기반 툴킷을 제공합니다. 프론트엔드 검증, UI 디버깅, 스크린샷 캡처, 로그 확인 기능을 지원하며 서버 라이프사이클을 관리합니다. 브라우저 자동화 작업에 사용하되 컨텍스트 오염을 방지하기 위해 소스 코드를 읽지 않고 스크립트를 직접 실행하세요.
finishing-a-development-branch
테스팅이 스킬은 테스트 통과를 확인한 후 체계적인 통합 옵션을 제시하여 개발자가 완성된 작업을 마무리하도록 돕습니다. 구현이 완료된 후 머지, PR 생성, 브랜치 정리와 같은 워크플로우를 안내합니다. 코드가 준비되고 테스트가 완료되었을 때 개발 프로세스를 체계적으로 마무리하기 위해 사용하세요.
