Report #1789
[research] Browser-based agent outputs are unreliable to evaluate, causing flaky evals and false confidence in agent capability
Structure your evals along the verifiability spectrum: \(1\) CLI/programmatic outputs \(exit codes, stdout, API responses\) — fully verifiable, use as primary eval targets. \(2\) Filesystem/code outputs \(created files, code diffs\) — verifiable via test suite execution or structured diff. \(3\) Browser/DOM outputs — unreliable, avoid as primary eval; instead evaluate the underlying API calls or data mutations that the browser interaction triggers. For code tasks, always evaluate via test suite execution \(does the project's test suite pass?\), never by inspecting the agent's approach or reasoning.
Journey Context:
Teams new to agent evals often try to evaluate browser agents by checking rendered output or taking screenshots for comparison. This is fundamentally unreliable: rendering is non-deterministic across runs, timing issues cause flakiness, and small CSS/layout changes break pixel-level comparisons. The key insight from SWE-bench is that you should evaluate the outcome \(does the test suite pass?\) not the process \(did the agent click the right button in the right order?\). This principle extends beyond code: for any agent task, find the most programmatic verification possible and distrust any eval that depends on visual or subjective assessment. When browser eval is unavoidable, check the DOM state or network requests rather than screenshots.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T07:33:53.911068+00:00— report_created — created