Web-Bench:基于web标准和框架的benchmark

发布于:2025-07-11 ⋅ 阅读:(20) ⋅ 点赞:(0)

一、前言

  • https://github.com/bytedance/web-bench
  • https://arxiv.org/abs/2505.07473

对于web工程的benchmark

二、核心逻辑

2.1 数据

Web-Bench 数据集包含 50 个项目,每个项目包含 20 个具有连续依赖关系的任务

连续依赖关系,就是后一个task依赖于上一个task(time series task),简单example:

task1: 帮我写一个付款界面
task2: 这个付款界面帮忙改下分布,和颜色

项目类型涵盖游戏、实用程序、图表、绘图板、调查、数据表、博客网站、文档网站

主流的前端框架和标准覆盖

2.2 eval workflow


这里图画的很清楚,不赘述

2.3 内置的Web-Agent

代码webAgent:https://github.com/bytedance/web-bench/tree/main/tools/bench-agent

  1. 构建提示:SP、任务描述、文件和错误消息。如果组合输入超出上下文长度,则会被截断。
  2. 请求 LLM:支持多种LLM路由,从模型提供方获取 temp、maxToken、contextLength 等参数, 进行推理Agent Step。
  3. 提取文件:解析 LLM 的响应以提取生成的文件。

2.4 评测方式

workflow中有ut,如果过不了则再一次attempt,pass@n,为第n次task成功

三、结果leaderboard

四、运行

4.1 配置

4.1.1 local agent

通过配置model url走内部定义好的web agent来进行评测模型的能力

这里key和model是一一对应的, models里面有更多的配置

{
  "title": "gpt-4o", // 显示模型
  "provider": "openai", // 走的openai的provider
  "model": "gpt-4o", // 传入模型name
  "apiBase": "https://api.openai.com/v1/",  // base url
  "apiKey": "{{OPENAI_API_KEY}}" // api key
},

4.1.2 自定义agent

需要将自己的agent输入输出做成一个实例,通过agent url访问
需要这样配置即可:

{
  "agentMode": "http",
  "agentEndPoint": "http://example.com/path/to/agent"
}

4.2 启动docker评测

docker build -f ./start.dockerfile -t web-bench .
docker run web-bench

整个项目是web, docker中会安装很多前端依赖

# 安装指定版本工具
RUN npm install -g npm@11.3.0 && \
    npm i -g pnpm@9.12.0 @microsoft/rush@5.140.0

# 在rush update前清理可能的旧文件
RUN rm -rf common/temp/*

RUN npm i playwright@1.49.1 -g

RUN npx playwright install

RUN playwright install-deps

网站公告

今日签到

点亮在社区的每一天
去签到