基准评测

wescode 内置完整的基准评测系统,通过 wescode run 和 wescode bench 命令评估 AI 编程能力。


两种运行模式

wescode run(单次运行)

等价于 claude -p / cursor-cli --prompt——单次无头运行:

bin/wescode run "修复这个 bug" --workdir /path/to/repo

走完整产品链路(同一个 engine.RunChat),与 VSCode RPC 模式共享引擎栈。

wescode bench(批量评测)

批量运行题库并生成报告:

bin/wescode bench \
  --dataset ./tests/bench/swebench-100 \
  --runs 1 \
  --verbose \
  --output ./results/report.json \
  --predictions ./results/predictions.jsonl

数据集

自建题库(100 题)

位于 wesgine.git/tests/bench/agent/dataset/:

类别题数测试范围
SWE30软件工程(修 bug、加功能)
Terminal30终端操作(文件、环境)
QnA40问答(代码理解、解释)

SWE-bench Verified(500 题)

位于 tests/bench/swebench/——来自真实开源 Python 项目的 500 道验证题。

bin/wescode bench \
  --dataset tests/bench/swebench/ \
  --predictions ./results/predictions.jsonl

--predictions 输出 JSONL,可直接喂给官方 swebench.harness.run_evaluation 做验证。

单题调试

bin/wescode bench --case swe-001 --runs 1 --verbose

BenchMode

wescode bench 自动设置 BenchMode=true:

功能bench 模式正常模式
QualityGate L2禁用启用
EditPatrol禁用启用
验证bench 自带 verify_cmd引擎 QualityGate

wescode run 走完整产品链路(不设 BenchMode)。


评测报告

报告格式

{
  "dataset": "swebench-100",
  "total": 100,
  "passed": 72,
  "failed": 28,
  "pass_rate": 0.72,
  "avg_turns": 8.3,
  "avg_tokens": 12400,
  "results": [...]
}

关键指标

指标含义
pass_rate通过率
avg_turns平均对话轮次
avg_tokens平均 token 消耗
avg_time平均耗时
tool_usage工具使用分布

构建与运行

构建

cd backend
go build -o bin/wescode ./cmd/wescode

完整评测

# 自建题库
bin/wescode bench --dataset ../wesgine.git/tests/bench/agent/dataset/ --runs 3

# SWE-bench
bin/wescode bench --dataset tests/bench/swebench/ --runs 1 \
  --predictions results/predictions.jsonl

# 验证(需要 Python 环境)
python -m swebench.harness.run_evaluation \
  --predictions_path results/predictions.jsonl

注意事项