📦 Agent Causal Decision Tool — 代理 Causal Decision 工具

v0.2.0

AI 智能体的因果决策与审计工具。运行 A/B 测试与双重差分分析,输出结构化 JSON、决策路径及审计轨迹。

0· 0·0 当前·0 累计
zhumorris 头像by @zhumorris (Morris Zhu)
0

运行时依赖

无特殊依赖

安装命令

点击复制
官方npx clawhub@latest install agent-causal
镜像加速npx clawhub@latest install agent-causal --registry https://cn.longxiaskill.com

技能文档

Agent Causal Decision Tool AI 智能体的因果决策与审计工具。使用 A/B 测试与双重差分(DiD)方法评估产品改动。

来源:https://github.com/ZhuMorris/agent-causal-decision-tool

安装 使用前请先安装:

# 克隆仓库(如尚未存在)
git clone https://github.com/ZhuMorris/agent-causal-decision-tool.git ~/clawd/agent-causal-decision-tool 2>/dev/null || true
# 安装依赖
pip install click scipy numpy pydantic -q
# 进入工具目录
cd ~/clawd/agent-causal-decision-tool
或作为 Python 包安装:
pip install git+https://github.com/ZhuMorris/agent-causal-decision-tool.git -q

命令 A/B Test 分析

cd ~/clawd/agent-causal-decision-tool
PYTHONPATH=. python3 -m src.cli ab --control 100/5000 --variant 130/5000
参数: --control:对照组转化数/总数(如 100/5000) --variant:实验组转化数/总数(如 130/5000) --name:实验组名称(可选,默认 variant_1) --format:输出格式 json(默认)或 text

示例:

PYTHONPATH=. python3 -m src.cli ab --control 100/5000 --variant 130/5000
示例输出:
{
  "version": "1.0",
  "mode": "ab_test",
  "recommendation": {
    "decision": "ship",
    "confidence": "medium",
    "summary": "Variant performs 30.00% better (p=0.0454). Ship it.",
    "primary_metricLift": 30.0,
    "p_value": 0.045361
  },
  "statistics": {
    "control_rate": 0.02,
    "variant_rate": 0.026,
    "relative_lift_pct": 30.0,
    "z_score": 2.0013,
    "p_value": 0.045361,
    "confidence_interval_95": [0.000124, 0.011876]
  },
  "traffic_stats": {
    "control_size": 5000,
    "variant_size": 5000,
    "total_size": 10000
  },
  "warnings": [],
  "next_steps": ["Deploy variant", "Monitor over time for regression"],
  "audit": {
    "decision_path": [
      {"step": "Input validation", "passed": true},
      {"step": "Traffic check", "passed": true},
      {"step": "Conversion rate calculation", "passed": true},
      {"step": "Statistical significance test", "passed": true},
      {"step": "Effect size check", "passed": true},
      {"step": "Decision", "passed": true}
    ]
  }
}

DiD 分析

cd ~/clawd/agent-causal-decision-tool
PYTHONPATH=. python3 -m src.cli did --pre-control 1000 --post-control 1100 --pre-treated 900 --post-treated 1150
参数: --pre-control:对照组处理前指标 --post-control:对照组处理后指标 --pre-treated:实验组处理前指标 --post-treated:实验组处理后指标

决策审计 重建并解释历史决策:

# 保存结果
PYTHONPATH=. python3 -m src.cli ab --control 100/5000 --variant 130/5000 > /tmp/result.json
# 可读审计
PYTHONPATH=. python3 -m src.cli audit /tmp/result.json --format text
# JSON 审计
PYTHONPATH=. python3 -m src.cli audit /tmp/result.json --format json
审计示例输出:
-- DECISION PATH --
  • Input validation [✓] control_total: 5000, variant_total: 5000
  • Traffic check [✓] control_size: 5000, min_required: 1000
  • Conversion rate calculation [✓] control_rate: 0.02, variant_rate: 0.026
  • Statistical significance test [✓] p_value: 0.045361, alpha: 0.05
  • Effect size check [✓] lift_pct: 30.0, threshold: 1
  • Decision [✓] decision: ship, confidence: medium
-- FINAL DECISION -- Decision: SHIP
决策参考 ship:部署实验组(p < 0.05 且正向提升) keep_running:继续实验(p < 0.3 且趋势正向) reject:不部署(p < 0.05 且负向提升) escalate:需人工复核(结果不显著或关键警告)

Python API

import sys
sys.path.insert(0, '~/clawd/agent-causal-decision-tool')
from src.ab_test import calculate_ab
result = calculate_ab({
    "control_conversions": 100,
    "control_total": 5000,
    "variant_conversions": 130,
    "variant_total": 5000
})
if result.recommendation.decision == "ship":
    # 部署实验组
    pass

警告与限制 LOW_TRAFFIC:每组样本低于 1000 SMALL_EFFECT:提升 < 1%,实际意义有限 AGGREGATE_DATA:DiD 基于汇总数据(需个体级数据以获得稳健推断) TRENDS_DIVERGE:DiD 平行趋势假设可能不成立

位置 GitHub:https://github.com/ZhuMorris/agent-causal-decision-tool 本地:~/clawd/agent-causal-decision-tool/

依赖 Python 3.9+ click ≥ 8.1.0 scipy ≥ 1.11.0 numpy ≥ 1.24.0 pydantic ≥ 2.0.0

数据来源ClawHub ↗ · 中文优化:龙虾技能库