mcpField
C
caw-eval

caw-eval

github.com/cobostevenTesting & quality054 installsUpdated 24w ago
Repository

About caw-eval

caw-eval is a skill for end-to-end evaluation of CAW Agent quality, intended for teams running and reviewing evaluations. A local Mac dispatches tasks to remote agents and handles scoring and reports locally, with options for evaluation mode, recipe source, and agent type.

Key features

  1. 01Dispatches headless Claude Code evaluations remotely
  2. 02Runs Openclaw weak-model compatibility evaluations
  3. 03Selects e2e, pact, or onboard modes
  4. 04Compares real, seeded, or empty recipes
  5. 05Scores results and produces local reports

Use cases

  1. 01Measure CAW Agent end-to-end task completion
  2. 02Compare recipe sources for pact construction
  3. 03Check agent compatibility with weaker models
  4. 04Classify evaluation findings and produce reports

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/cobosteven/cobo-agent-wallet-manual --skill caw-eval

After installing, type/caw-evalin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

QUICK_START.md
references/
common-execution.md
dataset-management.md
dataset-review.md
issue-attribution.md
run-eval-cc.md
run-eval-openclaw.md
run-eval-recipe.md
scoring.md
server-setup.md
scripts/
.env.example
assertions.py
bootstrap_cc_server.sh
eval_utils.py
fan_out_bootstrap.sh
generate_dataset.py
judge_cc.py
pilot_recipe_eval.py
run_eval_cc.py
run_eval_openclaw.py
runtime_compliance.py
schemas.py
score_traces.py
spec_derivation.py
sync_to_servers.sh
upload_session.py
validate_dataset.py

Details

From the project README

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-modee2e(默认,全 E2E 含 task_completion)/ pact(仅评 pact 构造)/ onboard(onboarding 评估)
Recipe 来源--recipe-sourcereal(默认/调真实 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 → seed、cc_no_recipe → empty、cc_real_recipe/oc_real_recipe → real。

速查表(用户意图 → 命令模板)
用户说eval-moderecipe-source脚本服务器池run_name 模板详细步骤
"跑评测" / "全流程评估" / 默认e2erealrun_eval_cc.pySERVERS_CC_MAINeval-cc-{model}-e2e-real-recipe-{TS}run-eval-cc.md
"真实 recipe" / "live recipe" + CCe2e 或 pactrealrun_eval_cc.pySERVERS_CC_MAINeval-cc-{model}-{mode}-real-recipe-{TS}run-eval-recipe.md
"recipe 评测" / "pact 模式" + dataset recipe 注入pactseedrun_eval_cc.pySERVERS_CC_MAINeval-cc-{model}-pact-seed-recipe-{TS}run-eval-recipe.md
"recipe 对照组" / "无 recipe"pactemptyrun_eval_cc.pySERVERS_CC_CTRLeval-cc-{model}-pact-no-recipe-{TS}run-eval-recipe.md
"recipe 对比评测"三跑:pact+seed、pact+empty、pact+real—两个脚本都用MAIN(seed/real)+ CTRL(empty)三 runrun-eval-recipe.md
"弱模型评测" / "doubao/minimax/gpt 评测" / "openclaw 评测"e2e 或 pactreal 或 seedrun_eval_openclaw.pySERVERS_{MODEL}eval-oc-{model}-{mode}-{source-alias}-{TS}run-eval-openclaw.md

run_name 别名约定:real → real-recipe、seed → seed-recipe、empty → 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-v37uniswap-swap / aave-lend / weth-wrapRecipe 评测(推荐),统一 schema v2
standard-test-v37同 recipe-test-v3标准评测(推荐),同一份测试集 + 不同 eval_mode 做 A/B
caw-agent-eval-seth-v214transfer / 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-v3 和 standard-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.pyCC 评测编排(dispatch / run / upload / score / metrics)
run_eval_openclaw.pyOpenclaw 评测编排(dispatch / run / upload / pack)
score_traces.py评分管线(断言 + judge → 综合分 → Langfuse)
judge_cc.pyLLM-as-Judge(prompt 构建)
assertions.py结构化提取 + 门槛断言
eval_utils.py公共工具(Langfuse 客户端 / 数据集 / 批量上传)
upload_session.pysession → Langfuse trace
generate_dataset.py数据集生成
validate_dataset.py数据集 schema 校验
runtime_compliance.py评测运行时合规自检
sync_to_servers.sh服务器同步 + hash 校验

Comments

Markdown supported