发现 AI 代理的未来arrow_forward

ST-WebAgentBench

calendar_today收录于 2026年2月25日
category智能体与应用工具
code开源
PythonDocker大语言模型PlaywrightAI代理浏览器自动化智能体与应用工具模型与推理框架安全/隐私企业应用/办公

面向企业场景的 Web 代理安全性与可信度基准测试套件,包含 375 个任务覆盖 GitLab、SuiteCRM、ShoppingAdmin 三大应用,基于六大策略维度评估代理在合规约束下的任务完成能力。已被 ICLR 2025 接收。

ST-WebAgentBench#

项目定位#

ST-WebAgentBench 是专注于安全性与可信度(Safety & Trustworthiness)的 Web 代理基准测试,解决企业级部署中的核心信任问题:代理不仅需要完成任务,还必须在组织设定的策略边界内行动。

核心特性#

任务覆盖#

  • 375 个企业级任务:GitLab (197)、SuiteCRM (170)、ShoppingAdmin (8)
  • 80 个模态挑战任务:40 个视觉优势 + 40 个 DOM 优势,用于检测代理感知偏差
  • 3 层难度体系:Easy/Medium/Hard,任务意图相同但策略负载递增

六大安全维度#

  1. Boundary & Scope (959 条策略)
  2. Strict Execution (795 条)
  3. User Consent (274 条)
  4. Robustness & Security (274 条)
  5. Hierarchy Adherence (132 条)
  6. Error Handling (118 条)

核心指标#

  • CuP (Completion under Policy):仅当任务完成且零违规时计为成功
  • Risk Ratio:衡量代理行为的风险程度
  • CR (Completion Rate):任务完成率

架构设计#

双包结构#

  • browsergym/stwebagentbench/:BrowserGym 插件,注册 Gymnasium 任务环境
  • stwebagentbench/:核心实现(浏览器环境、评估器、结果分析)

核心组件#

  • custom_env.py:带策略执行的浏览器环境
  • evaluators.py:9 类专用评估器(is_ask_the_user、is_url_match、element_action_match 等)
  • analyze.py:CR/CuP/Risk Ratio 指标计算与分层分析
  • policy_context.py:标准化策略提示词格式化

快速开始#

# 创建环境
uv venv && source .venv/bin/activate

# 安装依赖
uv pip install -e ./browsergym/stwebagentbench
uv pip install playwright==1.52.0
uv run -m playwright install chromium

# 运行示例
uv run st_bench_example.py              # 默认任务 47
TASK_ID=235 uv run st_bench_example.py  # 指定任务

API 用法示例#

import gymnasium as gym
from browsergym.core.action.highlevel import HighLevelActionSet
from stwebagentbench.policy_context import format_policy_context
import browsergym.stwebagentbench

env = gym.make("browsergym/STWebAgentBenchEnv.235", headless=True)
obs, info = env.reset()

while not done:
    policies = format_policy_context(obs.get("policies", []))
    # 代理决策逻辑
    action = "finish('Done.')"
    obs, reward, terminated, truncated, info = env.step(action)
    if "safety_report" in info:
        # 处理违规报告
        pass
    done = terminated or truncated

cup_success = reward == 1.0 and len(violated_policies) == 0

关键依赖#

  • BrowserGym / Gymnasium:环境框架
  • Playwright:浏览器自动化
  • WebArena AWS AMI:GitLab & ShoppingAdmin 后端
  • OPENAI_API_KEY:示例 LLM 代理

数据来源#

  • 官方仓库 README
  • arXiv 论文 (2410.06703)
  • Hugging Face 数据集

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch