关于 abtesting-design
面向 OpenClaw 的 A/B 测试设计技能,帮助实验设计者制定假设、配置对照组与变体组,并通过哈希随机分配和分层降低偏差。
主要功能
- 01制定零假设与备择假设
- 02配置对照组、变体组和指标
- 03使用哈希方法随机分组
- 04按用户特征分层抽样
适用场景
- 01比较邮件主题的打开率
- 02测试应用功能变更
- 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" 等字符串,然后相应调整标志。
具体使用示例
- 电子邮件主题行测试:若要比较两个电子邮件主题,请运行
openclaw abtesting-design --hypothesis-null "Open rates are equal" --hypothesis-alt "Subject B increases opens" --variants control,subjectB --randomize hash --stratify location,然后使用输出的 JSON,根据用户在电子邮件系统中的 ID 分配用户。 - 应用功能 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(与用户分群工具集成)。