caw-eval

Installation
SKILL.md

CAW Eval

端到端评测 CAW Agent 质量:本地 Mac 作为调度器,dispatch 到远端服务器跑 headless claude (标准 / recipe 评测)或 openclaw agent(弱模型兼容性评测),评分和报告都在本地完成。

Step 0: 环境识别(必做)

[[ "$(hostname)" == *openclaw* ]] && echo "env=openclaw" || echo "env=local"
  • env=local:继续。确保 gcloud auth login 已完成、IAP 通道可用。
  • env=openclaw:停止。本 SKILL 是本地调度器,不能在 openclaw 服务器直接跑。 请回到本地 Mac 终端后重新触发。

流程路由

评测三个正交维度:

维度 flag 取值
评测模式 --eval-mode e2e(默认,全 E2E 含 task_completion)/ pact(仅评 pact 构造)/ onboard(onboarding 评估)
Recipe 来源 --recipe-source real(默认/调真实 backend)/ seed(注入 dataset 的 recipe)/ empty(注入空,对照组)
Agent 类型 脚本分文件 run_eval_cc.py(Claude Code headless)/ run_eval_openclaw.py(弱模型如 doubao/minimax/gpt)

老 cli 仍兼容:--eval-mode standard ↔ e2e--eval-mode recipe ↔ pact--recipe-mode cc_with_recipe/openclaw → seedcc_no_recipe → emptycc_real_recipe/oc_real_recipe → real

速查表(用户意图 → 命令模板)

用户说 eval-mode recipe-source 脚本 服务器池 run_name 模板 详细步骤
"跑评测" / "全流程评估" / 默认 e2e real run_eval_cc.py SERVERS_CC_MAIN eval-cc-{model}-e2e-real-recipe-{TS} run-eval-cc.md
"真实 recipe" / "live recipe" + CC e2epact real run_eval_cc.py SERVERS_CC_MAIN eval-cc-{model}-{mode}-real-recipe-{TS} run-eval-recipe.md
"recipe 评测" / "pact 模式" + dataset recipe 注入 pact seed run_eval_cc.py SERVERS_CC_MAIN eval-cc-{model}-pact-seed-recipe-{TS} run-eval-recipe.md
"recipe 对照组" / "无 recipe" pact empty run_eval_cc.py SERVERS_CC_CTRL eval-cc-{model}-pact-no-recipe-{TS} run-eval-recipe.md
"recipe 对比评测" 三跑:pact+seedpact+emptypact+real 两个脚本都用 MAIN(seed/real)+ CTRL(empty) 三 run run-eval-recipe.md
"弱模型评测" / "doubao/minimax/gpt 评测" / "openclaw 评测" e2epact realseed run_eval_openclaw.py SERVERS_{MODEL} eval-oc-{model}-{mode}-{source-alias}-{TS} run-eval-openclaw.md

run_name 别名约定real → real-recipeseed → seed-recipeempty → no-recipe。模板:eval-{cc|oc}-{model}-{eval-mode}-{source-alias}-{YYYYMMDD-HHMM}

默认run_eval_cc.py --eval-mode e2e --recipe-source real(即 sonnet headless 全 E2E + agent 调真实 backend recipe)。

执行前的公共前置(SSH / gcloud / 服务器同步):common-execution.md


概览

e2e / pact 评测(CC headless)

本地 Mac 用 run_eval_cc.py dispatch 并行调度 N 台服务器,每台跑 headless claude -p

本地 dispatch → 动态队列(空闲服务器自动取下一个 item)
               → 远端 claude headless 跑任务
               → scp 拉回 session → 上传 Langfuse → 评分 → 报告
  • 时间:17 case / 3 台 ≈ 30-50 分钟(取决于难度)
  • 服务器池(详见 run-eval-cc.md Step 2):
    • SERVERS_CC_MAIN:3 台(test09-11),跑 e2e / pact + recipe-source=real|seed
    • SERVERS_CC_CTRL:3 台(test12-14),仅跑 pact + recipe-source=empty 对照组
    • 两池互不干扰,Recipe 对比可并行
  • 详细步骤:run-eval-cc.md
  • Recipe 五种组合对比:run-eval-recipe.md

Openclaw 弱模型评测

本地 Mac 用 run_eval_openclaw.py dispatch 并行调度多台 openclaw 服务器,每台串行跑 openclaw agent,session 直接上传 Langfuse,本地评分出报告。

本地 dispatch → 多台服务器 openclaw agent 跑任务 → 上传 Langfuse
             → 本地读 Langfuse trace 评分(LLM Judge subagent 并行)→ 报告
  • 时间:14 case / 3 台弱模型 ≈ 1-3 小时(取决于模型)
  • 详细步骤:run-eval-openclaw.md

评分体系

e2e 模式(全流程)

综合分 = task_completion × 0.3 + process_quality × 0.7
process_quality = S1(意图) × 0.15 + S2(Pact) × 0.45 + S3(执行) × 0.4

pact 模式(仅评 pact 构造)

综合分 = S1(意图) × 0.20 + S2(Pact) × 0.45 + S3(交易构建) × 0.35
S3 = tx_construction_correctness × 0.5 + recipe_adherence × 0.3 + tx_submission_success × 0.2

无 task_completion。仅评估交易是否被正确构建/提交,不评估链上执行结果。

所有分数 0-1。详见 scoring.md

问题归因(写报告时使用)

对每个 finding 按 7 层归类:🔵 被测 SKILL / 🟢 评分体系 / 🟡 数据集 / 🟤 Recipe / 🟠 评测工具链 / 🔴 产品代码 / 🟣 运行环境。细则见 issue-attribution.md

数据集

数据集 Case 数 场景 说明
recipe-test-v3 7 uniswap-swap / aave-lend / weth-wrap Recipe 评测(推荐),统一 schema v2
standard-test-v3 7 同 recipe-test-v3 标准评测(推荐),同一份测试集 + 不同 eval_mode 做 A/B
caw-agent-eval-seth-v2 14 transfer / swap / lend / dca / ... 旧 schema(pact_hints/stage_criteria),仅历史回放
caw-recipe-eval-seth-v1 - recipe 多步骤 Sepolia 多步骤场景,部分 item 已部分新 schema
  • 默认 recipe-test-v3(pact 模式)/ standard-test-v3(e2e 模式)
  • recipe-test-v3standard-test-v3 内容完全一致(只是 metadata.eval_type 不同),区别仅在运行时:
    • --eval-mode pact --recipe-source seed:dispatch 注入 CAW_RECIPE_FILE,judge 评 tx 构建(不评链上)
    • --eval-mode e2e --recipe-source real:dispatch 注入 CAW_RECIPE_FILE(agent 自主 caw recipe search),judge 评全流程(含 task_completion)
  • --dataset-name 可指定其他数据集
  • 数据集管理:dataset-management.md
  • 数据集审查(11 条机械规则):dataset-review.md

服务器环境搭建

新建 openclaw 评测服务器(GCP 实例 / openclaw / caw / onboarding / 充值 / 验证): → server-setup.md

Scripts

脚本 用途
run_eval_cc.py CC 评测编排(dispatch / run / upload / score / metrics)
run_eval_openclaw.py Openclaw 评测编排(dispatch / run / upload / pack)
score_traces.py 评分管线(断言 + judge → 综合分 → Langfuse)
judge_cc.py LLM-as-Judge(prompt 构建)
assertions.py 结构化提取 + 门槛断言
eval_utils.py 公共工具(Langfuse 客户端 / 数据集 / 批量上传)
upload_session.py session → Langfuse trace
generate_dataset.py 数据集生成
validate_dataset.py 数据集 schema 校验
runtime_compliance.py 评测运行时合规自检
sync_to_servers.sh 服务器同步 + hash 校验
Related skills
Installs
51
First Seen
Apr 8, 2026