AgentLab

A BrowserGym-based framework for building, running, evaluating, and reproducing web-agent experiments.

Stars
★ 638
Last updated
2mo ago
License
NOASSERTION
Primary language
Python

At a glance

Works with
Universal · cross-platformOpenAI API
You'll need
Python 3.11 or 3.12PlaywrightShell / CLINetwork accessLocal filesystem
Typical use
A web-agent researcher comparing several AgentArgs configurations and seeds on MiniWoB can run the matrix as Studies and consolidate the outcomes.
Main limitation
It is explicitly not a consumer product; adopters must prepare benchmark environments, model credentials, and experiment infrastructure themselves.

What does this agent do, and when should you use it?

AgentLab is a research framework for developing and evaluating web agents across benchmarks supported by BrowserGym. Its Study and make_study interfaces organize runs on benchmarks including MiniWoB, WebArena, WorkArena, VisualWebArena, AssistantBench, and OSWorld. Ray can execute large experiment sets in parallel, while the unified LLM API supports OpenAI, Azure OpenAI, OpenRouter, and self-hosted TGI paths. Results are available through ExpResult, load_result_df, and the AgentXray interface for traces, screenshots, actions, and summaries. The project explicitly positions itself as infrastructure for web-agent research rather than a consumer product.

A developer prepares the selected benchmark, creates a Study with make_study(benchmark=..., agent_args=..., comment=...), and runs it with study.run(n_jobs=...). Each agent-on-task execution is a job; the Ray backend can terminate jobs that exceed a configured timeout and supports large parallel runs. Existing studies can be reopened with Study.load(), unfinished or errored tasks can be located with find_incomplete(include_errors=True), and then rerun. For analysis, inspect_results.load_result_df() gathers experiment summaries into a dataframe, while bgym.ExpResult exposes detailed screenshots and steps_info actions. The agentlab-xray command opens a Gradio interface over experiments in AGENTLAB_EXP_ROOT, allowing users to select an experiment, agent, task, and seed to inspect a trace.

  1. A web-agent researcher comparing several AgentArgs configurations and seeds on MiniWoB can run the matrix as Studies and consolidate the outcomes.
  2. An evaluation team running WebArena or VisualWebArena can use the Ray backend for parallel work while accounting for task dependencies and timed-out jobs.
  3. A developer implementing a BrowserGym agent can use MostBasicAgent as a reference and implement the AgentArgs API plus the extended bgym.AbstractAgentArgs.
  4. A researcher investigating a failed web task can use AgentXray to inspect the selected task and seed through screenshots, actions, and profiling steps.
  5. A team reproducing a reported experiment can retain benchmark, package, and commit information in Study and use ReproducibilityAgent to rerun actions on the same task seeds.

How do you install or deploy this agent?

Python 3.11 or 3.12 is required.

pip install agentlab
playwright install

Prepare the chosen benchmark according to its setup instructions. For OpenAI-backed models, set credentials; OpenRouter or Azure OpenAI variables can be configured when applicable:

export AGENTLAB_EXP_ROOT=<experiment-results-directory>
export OPENAI_API_KEY=<your-openai-api-key>

How do you use this agent?

With default OpenAI credentials configured, start the web assistant with:

agentlab-assistant --start_url https://www.google.com

Run a first experiment:

from agentlab.agents.generic_agent import AGENT_4o_MINI
from agentlab.experiments.study import make_study

study = make_study(
    benchmark="miniwob",
    agent_args=[AGENT_4o_MINI],
    comment="My first study",
)
study.run(n_jobs=5)

Inspect completed or ongoing experiments with:

agentlab-xray

What are this agent's strengths and limitations?

Pros
  • It puts multiple BrowserGym-supported web benchmarks into one Study workflow instead of requiring separate experiment organization and result structures per benchmark.
  • Its Ray backend includes timeout termination for stuck jobs, which is useful for research matrices with many tasks, seeds, or ablations.
  • It provides one documented LLM API path for OpenAI, Azure OpenAI, OpenRouter, and self-hosted TGI.
  • It combines dataframe-level summaries and detailed ExpResult access with AgentXray's interactive trace inspection.
  • Study records benchmark, package, and commit information, and ReproducibilityAgent supports examining rerun differences.
Limitations
  • It is explicitly not a consumer product; adopters must prepare benchmark environments, model credentials, and experiment infrastructure themselves.
  • Some benchmarks require self-hosted services, Docker, static files, or the live web, creating additional environment and operational overhead.
  • WebArena and VisualWebArena tasks can affect instance state; instances are reset before evaluation, and cross-instance evaluations are not currently supported.
  • Model API changes, live websites, regional differences, and stochasticity can affect reproducibility; temperature 0 only reduces most stochasticity.
  • AgentXray depends on Gradio, and the documentation notes possible display issues that may require refreshing and reselecting the experiment.

How does this agent compare with similar options?

BrowserGym is the benchmark ecosystem AgentLab builds on, not a separate substitute: BrowserGym supplies supported benchmarks, while AgentLab handles agent configuration, experiment execution, parallelism, result analysis, and reproducibility records.

Key facts side by side with the most closely related agents.

Agent Source review Stars Updated Language Full support on
AgentLab This agent 53 · Major gaps ★ 638 2mo ago Python OpenAI API
BrowserGym Web-Agent Lab 54 · Major gaps ★ 1.4k 1d ago Python OpenAI API
Open Operator Evals 29 · Major gaps ★ 47 1y ago Python
CamoFox Browser Server 72 · Some gaps ★ 396 1mo ago JavaScript Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
53/ 100 5-point scale 2.7 / 5
Trust 10/29
Reliability 9/14
Adaptability 10/18
Convention 11/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

Evidence shows: framework designed for research, explicitly warns not a consumer product; uses environment variables for API keys, no hardcoding; provides experiment replay and result analysis, but no user confirmation mechanism or clear sensitive data handling. Deductions: lack of user confirmation, insufficient sensitive data handling documentation, dependency security not explicitly audited.

Reliability9 / 14 · 3.2/5

Evidence shows: unit tests cover key paths, error handling with retry mechanisms, but no detailed documentation of failure messages. Deduction: insufficient failure message documentation.

Adaptability10 / 18 · 2.8/5

Evidence shows: targets researchers, supports multiple benchmarks, provides various configuration options, but trigger precision (e.g., task dependency handling) is limited. Deduction: insufficient trigger precision documentation.

Convention11 / 18 · 3.1/5

Evidence shows: README well-structured, installation instructions detailed, naming stable, examples and FAQ present, known limitations mentioned, license clear, but version changelog missing. Deduction: missing version changelog.

Effectiveness9 / 13 · 3.5/5

Evidence shows: outputs loadable and analyzable, visualization tools provided, high marginal value (accelerates research), cost-benefit reasonable (open source free). Deduction: none significant.

Verifiability4 / 8 · 2.5/5

Evidence shows: README cites papers and benchmarks, but no detailed experiment reproduction steps, limited cross-source verification. Deductions: insufficient cross-source verification, unclear separation of facts and inferences.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Framework explicitly warns it is not a consumer product; use with caution.
  • API keys managed via environment variables; ensure environment security.
  • Many dependencies; keep updated for security.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision cbc35a9bc0fa
See the full review method →

FAQ

Will running AgentLab incur model costs?
Yes. The web assistant is offered at the user's own cost and risk; OpenAI, OpenRouter, and Azure OpenAI runs require their respective API credentials, and cost depends on the provider and experiment scale.
Can I use it without OpenAI?
Yes. The documented unified LLM API paths include OpenRouter, Azure OpenAI, and self-hosted TGI.
Does it guarantee exact reproducibility?
No. It records versions and commit information and includes reproduction tooling, but model API changes, live sites, regional variation, and stochasticity can still change results.
What happens when a task hangs?
The Ray parallel backend can terminate jobs that exceed a configured timeout. For debugging, the documentation recommends n_jobs=1 with VSCode breakpoints.
What license is confirmed for the repository?
The supplied repository metadata lists NOASSERTION, so no specific license terms can be confirmed from that metadata.
View on GitHub ↗ Install ↓

Related agents