スキル一覧に戻る

run-ab-test-models

pjt222
更新日 Yesterday
3 閲覧
17
2
17
GitHubで表示
テストaitestingdesigndata

について

このスキルは、トラフィック分割、統計的有意性検定、カナリア/シャドウデプロイメントを活用して、本番環境でのMLモデルのA/Bテストを可能にします。開発者がモデルのバージョンを比較し、パフォーマンスの差異を測定し、データ駆動型のロールアウト判断を行うことを支援します。新規モデルの検証、アルゴリズムの比較、段階的ロールアウト要件への対応にご利用いただけます。

クイックインストール

Claude Code

推奨
メイン
npx skills add pjt222/agent-almanac -a claude-code
プラグインコマンド代替
/plugin add https://github.com/pjt222/agent-almanac
Git クローン代替
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/run-ab-test-models

このコマンドをClaude 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 リポジトリ

pjt222/agent-almanac
パス: i18n/wenyan/skills/run-ab-test-models
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

関連スキル

evaluating-llms-harness

テスト

このClaudeスキルは、lm-evaluation-harnessを実行し、MMLUやGSM8Kなど60以上の標準化学術タスクでLLMをベンチマークします。開発者がモデルの品質を比較し、トレーニングの進捗を追跡し、学術的な結果を報告するために設計されています。このツールはHuggingFaceやvLLMモデルを含む様々なバックエンドをサポートしています。

スキルを見る

cloudflare-cron-triggers

テスト

このスキルは、cron式を使用してWorkersをスケジュールするためのCloudflare Cron Triggersの実装に関する包括的な知識を提供します。定期的なタスクの設定、メンテナンスジョブ、自動化されたワークフローの構築を網羅し、無効なcron式やタイムゾーン問題といった一般的な課題への対処法も含みます。開発者はこれを使用して、スケジュールされたハンドラーの設定、cronトリガーのテスト、WorkflowsやGreen Computeとの連携を構成できます。

スキルを見る

webapp-testing

テスト

このClaude Skillは、Playwrightベースのツールキットを提供し、Pythonスクリプトを通じてローカルWebアプリケーションのテストを可能にします。フロントエンドの検証、UIデバッグ、スクリーンショット撮影、ログ表示を実現し、サーバーライフサイクルを管理します。ブラウザ自動化タスクにご利用いただけますが、コンテキストの汚染を避けるため、スクリプトのソースコードを読むのではなく直接実行してください。

スキルを見る

finishing-a-development-branch

テスト

このスキルは、開発者がテストの合格を確認し、構造化された統合オプションを提示することで、完成した作業を仕上げることを支援します。実装が完了した後のマージ、PR作成、ブランチの整理といったワークフローを案内します。コードが準備できてテスト済みの際に使用し、開発プロセスを体系的に完了させましょう。

スキルを見る