mcpField
A
abtesting-design

abtesting-design

github.com/alphaonedev数据与数据库48 次安装
代码仓库

关于 abtesting-design

面向 OpenClaw 的 A/B 测试设计技能,帮助实验设计者制定假设、配置对照组与变体组,并通过哈希随机分配和分层降低偏差。

主要功能

  1. 01制定零假设与备择假设
  2. 02配置对照组、变体组和指标
  3. 03使用哈希方法随机分组
  4. 04按用户特征分层抽样

适用场景

  1. 01比较邮件主题的打开率
  2. 02测试应用功能变更
  3. 03按用户群体平衡实验分组

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill abtesting-design

安装后在 Claude Code 中输入/abtesting-design确认已加载。

详细介绍

abtesting-design

目的

此技能可为 OpenClaw 精确设计 A/B 测试,涵盖假设制定(例如,零假设和备择假设)、对照组与实验组设置、基于哈希的随机分配,以及分层,以确保实验均衡。

适用场景

在设计功能对比实验时使用此技能,例如测试网站布局、应用功能或营销活动,以严谨的统计方法验证假设并尽量减少偏差。

主要功能

  • 制定假设:定义零假设(例如,“点击率没有差异”)和备择假设(例如,“实验组的点击量增加 10%”)。
  • 设置分组:配置对照组和实验组,并设置样本量、指标等参数。
  • 实施随机分配:使用基于哈希的方法(例如,对用户 ID 使用 SHA-256)进行分组,以减少选择偏差。
  • 应用分层:按人口统计特征等维度将用户划分为不同层,并使用分层抽样等算法使各组保持均衡。

使用模式

务必先定义假设和分组。快速设计可使用 CLI,程序化集成则可使用 API。请在单条命令或请求中提供所有必需输入(例如,假设文本、实验组名称)。重复使用时,将配置保存在 JSON 文件中,并通过标志引用。执行前请验证输入,以避免运行时错误。

常用命令/API

  • CLI 命令:运行 openclaw abtesting-design --hypothesis-null "No effect on conversion" --hypothesis-alt "Variant increases conversion" --variants control,variantA --randomize hash --stratify age,gender 来设计测试。JSON 配置可使用 --config path/to/config.json,例如 {"variants": ["control", "variantA"], "strata": ["age", "gender"]}。
  • API 端点:向 /api/abtesting/design 发送 POST 请求,并附上 JSON 请求体,例如 {"hypothesis_null": "No difference", "hypothesis_alt": "Increase in engagement", "variants": ["control", "variantB"], "randomization": "hash", "stratification": ["device_type"]}。通过请求头设置身份验证:Authorization: Bearer $OPENCLAW_API_KEY。
  • 代码片段(Python):
    import requests
    headers = {'Authorization': f'Bearer {os.environ["OPENCLAW_API_KEY"]}'}
    data = {"hypothesis_null": "No effect", "variants": ["control", "variant"]}
    response = requests.post('https://api.openclaw.com/api/abtesting/design', json=data, headers=headers)
    
  • 代码片段(脚本中的 CLI):
    export OPENCLAW_API_KEY=your_key_here
    openclaw abtesting-design --hypothesis-null "Baseline equal" --variants control,testVariant --output results.json
    

集成说明

将 $OPENCLAW_API_KEY 设置为环境变量以进行身份验证。对于多服务配置,可将此技能与数据工具串联使用(例如,通过 OpenClaw 的工作流 API /api/workflows/add)。使用 JSON 配置以保持一致,例如 {"api_endpoint": "/api/abtesting/design", "auth_env": "OPENCLAW_API_KEY"}。请确保应用通过轮询 /api/abtesting/status/{job_id} 来处理异步响应。

错误处理

解析响应代码以检查错误:输入无效(例如,缺少假设)时返回 HTTP 400,身份验证失败时返回 401。在代码中使用 try-except 代码块:

try:
    response = requests.post(url, json=data, headers=headers)
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"Error: {e.response.status_code} - {e.response.text}")
    # Retry with corrected inputs, e.g., add missing fields

对于 CLI,捕获输出并检查是否包含 "Error: Invalid hypothesis format" 等字符串,然后相应调整标志。

具体使用示例

  1. 电子邮件主题行测试:若要比较两个电子邮件主题,请运行 openclaw abtesting-design --hypothesis-null "Open rates are equal" --hypothesis-alt "Subject B increases opens" --variants control,subjectB --randomize hash --stratify location,然后使用输出的 JSON,根据用户在电子邮件系统中的 ID 分配用户。
  2. 应用功能 A/B 测试:测试新的登录按钮时,可使用 API:向 /api/abtesting/design 发送 POST 请求,并附上 {"hypothesis_null": "No change in login time", "variants": ["old_button", "new_button"], "stratification": ["user_type"]},然后在应用代码中应用返回的随机化函数(例如,基于哈希的函数)对用户进行分组。

图关系

  • 相关集群:abtesting(例如,链接到 abtesting-analysis 等技能,用于设计后的步骤)。
  • 相关标签:experiment-design(关联数据收集技能)、hypothesis(关联统计建模工具)、randomization(与用户分群工具集成)。

评论

支持 Markdown