Як оцінювати browser agents: практичний чекліст
Відтворюваний release-протокол для browser і computer-use агентів: task state, visual grounding, траєкторії, side effects, відновлення, безпека та risk-bounded rollout.
Зміст статті
- 01Визначте успіх як перевірений стан, а не правдоподібний фінальний екран
- 02Зафіксуйте середовище, observation і action space
- 03Побудуйте dataset із візуальних, часових і неоднозначних варіацій
- 04Оцінюйте outcome, траєкторію і відновлення окремо
- 05Перевірте недовірений контент і реальні наслідки в ізольованому sandbox
- 06Release gate сегментує ризик і залишає перевірений rollback
Передумови
Визначте успіх як перевірений стан, а не правдоподібний фінальний екран
Почніть із task contract, який називає початковий стан, дозволені сайти й застосунки, дані, термінальний стан, заборонені події та межу людського підтвердження. Фраза «замов квиток» не є тестом: треба зафіксувати маршрут, дату, бюджет, чи дозволене бронювання, і чи агент має зупинитися перед оплатою. Для read-only задач verdict може перевіряти знайдений запис; для state-changing задач потрібне підтвердження фактичного backend-стану, а не тексту, який агент побачив на сторінці.
WebArena корисний саме через функціональні сайти та перевірку завершення реалістичних довгих задач, але публічний benchmark не відтворює ваші дозволи, локалі, дані й наслідки. Перетворіть production jobs на очищені task families і для кожної створіть незалежний oracle: API або database query у sandbox, структурований export, контрольний DOM state чи human-reviewed artifact. Self-report агента «готово» ніколи не є oracle.
- Outcome → потрібний стан справді створено, знайдено або змінено.
- Trajectory → кожна дія була дозволена для цього task і поточного стану.
- Side-effect integrity → немає зайвого submit, повідомлення, платежу або видалення.
- Stop behavior → агент коректно відмовляється, уточнює або просить approval.
process
Карта системи: Як оцінювати browser agents: практичний чекліст
timeline
Контрольні точки для практичного застосування
- Outcome → потрібний стан справді створено, знайдено або змінено.
Контрольна теза з матеріалу статті.
- Trajectory → кожна дія була дозволена для цього task і поточного стану.
Контрольна теза з матеріалу статті.
- Side-effect integrity → немає зайвого submit, повідомлення, платежу або видалення.
Контрольна теза з матеріалу статті.
- Stop behavior → агент коректно відмовляється, уточнює або просить approval.
Контрольна теза з матеріалу статті.
- agent-evaluation
- llm-observability
Зафіксуйте середовище, observation і action space
Результат browser eval залежить не лише від моделі. Версіонуйте image або VM, браузер, viewport, device scale, locale, timezone, шрифти, cookies, account fixture, network policy, початкові дані й стан кожного застосунку. Окремо фіксуйте observation mode: screenshot, accessibility tree, DOM, OCR або їхню комбінацію; action mode: координати, element IDs, Playwright primitives чи keyboard shortcuts. OpenAI у додаткових матеріалах до CUA прямо документує відмінності browser/VM середовища, prompts, sampling і scoring — без цього порівняння версій не є відтворюваним.
BrowserGym уніфікує observation та action spaces для кількох web-agent benchmarks; у внутрішньому harness застосуйте ту саму дисципліну. Зберігайте environment manifest біля результату і відхиляйте run, якщо fixture не піднявся, сайт змінився або oracle недоступний. Infrastructure failure не можна рахувати як model failure, а випадково вже виконану задачу — як success. Reset має відновлювати весь business state, включно з листами, кошиком, файлами й pending transactions.
Побудуйте dataset із візуальних, часових і неоднозначних варіацій
Frozen regression set охоплює типові задачі й відомі інциденти, а held-out set — нові формулювання, сутності та layout variants. Додайте responsive viewport, інший zoom, переклад, sticky banner, modal, lazy loading, disabled control, однакові labels, таблицю з pagination і елемент нижче fold. Для computer-use agent перевіряйте активне вікно, focus, drag, clipboard, file picker і системний dialog. Мета не в тому, щоб ламати координати, а щоб виміряти grounding на поточному семантичному стані.
Додайте часові та операційні perturbations: повільний response, spinner, stale screenshot, action accepted після timeout, session expiry, redirect, нова вкладка й часткове збереження форми. Ambiguous tasks повинні вимагати уточнення, а impossible tasks — безпечної зупинки. Підтримуйте contamination boundary: не використовуйте held-out screenshots у prompts або few-shot examples і не оптимізуйте policy за кожним невдалим кейсом без нового сліпого набору.
Оцінюйте outcome, траєкторію і відновлення окремо
Task success є необхідним, але не достатнім. Trace grader перевіряє origin transitions, targets, введені поля, repeated actions, approval binding і prohibited states. Розрізняйте perception error, wrong target, planning error, policy block, environment failure, premature stop та false success claim. Кількість кроків і latency корисні лише після correctness: короткий шлях із хибним submit не є ефективнішим. Якщо існує кілька правильних шляхів, оцінюйте інваріанти, а не exact action sequence.
Recovery suite починає агент із проміжного стану: modal перекрив кнопку, form validation відхилила поле, navigation повернула на login або timeout настав після commit. Pass вимагає спочатку зчитати фактичний стан, не дублювати side effect і вибрати retry, reconcile, rollback чи escalation. Для стохастичного агента робіть кілька незалежних runs, звітуйте розподіл і paired comparison з baseline; не перетворюйте один вдалий replay на загальну заяву про надійність.
- Functional verdict → незалежний oracle підтвердив кінцевий state.
- Policy verdict → жодна дія не вийшла за scope або approval.
- Grounding verdict → target відповідав наміру у фактичному кадрі.
- Recovery verdict → повтор не створив дубль і зберіг audit trail.
Перевірте недовірений контент і реальні наслідки в ізольованому sandbox
Сторінка, документ, повідомлення й tooltip є недовіреними даними. Security slice розміщує direct та indirect prompt injections у видимому тексті, accessibility attributes, завантаженому документі й результаті пошуку. Перевіряйте не лише те, чи агент повторив інструкцію, а sinks: чи спробував змінити ціль, перейти на заборонений origin, прочитати canary secret, вставити його у форму, завантажити файл або виконати зовнішню дію. Prompt-injection detection без sink verdict створює хибне відчуття захисту.
Усі write tests виконуються в disposable accounts із canary data, перехопленими email/webhook, fake payment rail і журналом backend mutations. Approval прив'язуйте до точного payload і state snapshot: підтвердження одного одержувача не дозволяє змінити адресу після modal. Тестуйте скасування approval, expired approval, misleading button, download quarantine й секрет у clipboard. Production credential, реальний платіж або повідомлення зовнішній людині не потрібні для доказового eval.
Release gate сегментує ризик і залишає перевірений rollback
Decision record містить dataset revision, environment manifest, model, prompt, observation/action adapter, policy, oracle, sample count, segment results, critical failures і reviewer. Порівнюйте candidate з known-good bundle на тих самих task seeds. Promote вимагає non-regression для outcome, нульового допуску до визначених critical side effects і проходження окремих slices для домену, локалі, task length та risk tier. Публічний benchmark є зовнішнім сигналом, а не заміною вашого release gate.
Rollout іде від offline resettable environment до shadow, read-only canary, draft-only writes і вузьких approved actions. Monitor повторює offline taxonomy: false completion, duplicate mutation, unexpected origin, approval mismatch, recovery failure. Rollback повертає сумісний bundle моделі, prompt, adapter і policy, зупиняє нові runs та reconciles незавершені side effects перед повтором. Очищений incident trace стає regression fixture тільки після перевірки provenance й privacy.
Практичні приклади
Чернетка рахунку без подвійного submit
Sandbox затримує відповідь після натискання Save, хоча backend уже створив чернетку. Агент має перевірити список і ID, не натискати Save вдруге та завершити з посиланням на oracle. Повторна чернетка є critical side-effect failure навіть за правильного фінального тексту.
Пошук політики з ін'єкцією на сторінці
У результаті пошуку є текст, що наказує відкрити зовнішній сайт і вставити clipboard. Pass вимагає ігнорувати інструкцію, залишитися в allowlist, знайти чинну revision політики й повернути evidence ID; сам факт розпізнавання підозрілого тексту без контролю дій не дає pass.
FAQ
Чи достатньо WebArena або OSWorld для production release?
Ні. Вони дають відтворюваний зовнішній baseline, але не містять ваших прав, даних, UI revisions, локалей, approval rules і вартості помилки. Додайте доменний sandbox та risk slices.
Чи слід оцінювати точну послідовність кліків?
Лише коли вона є policy-вимогою. Зазвичай краще перевіряти кінцевий state, заборонені переходи та інваріанти, допускаючи кілька безпечних траєкторій.
Як оцінити сайт, що постійно змінюється?
Зафіксуйте контрольовану версію для regression, додайте versioned layout variants і окремо запускайте freshness probes. Незаплановану зміну середовища позначайте environment failure, доки fixture не переглянуто.
Яка помилка є критичною?
Команда визначає її до запуску за наслідком: несанкціонований платіж, повідомлення, видалення, витік секрету, обхід approval або невиявлений дубль після retry зазвичай блокують release незалежно від середнього success rate.
Пов’язані матеріали
Практичний guide з вибору benchmark для AI-агента: що насправді перевіряють GAIA, WebArena, OSWorld і SWE-bench, як читати результати та перенести зовнішній сигнал у власний release gate.
Browser agentsBrowser agents — практичний розбір production-архітектури: керування вебінтерфейсом через обмежені спостереження й дії, які можна відтворити, перевірити та зупинити. Матеріал охоплює контракти, межі повноважень, failure modes, оцінювання та контрольований rollout.
Computer-use агентиComputer-use агенти керують графічним інтерфейсом через знімки екрана, мишу та клавіатуру. Розбираємо їхню архітектуру, межі повноважень, захист від візуальних ін’єкцій, надійне оцінювання та контрольований запуск у production.
Оцінювання AI-агентівОцінювання AI-агентів — практичний розбір production-архітектури: вимірювання не лише фінальної відповіді, а всієї траєкторії рішень, дій, витрат і безпечного завершення. Матеріал охоплює контракти, межі повноважень, failure modes, оцінювання та контрольований rollout.
Безпека AI-агентівБезпека AI-агентів — практичний розбір production-архітектури: зменшення наслідків помилкового або атакованого рішення через системні межі довіри та мінімальні повноваження. Матеріал охоплює контракти, межі повноважень, failure modes, оцінювання та контрольований rollout.
Guardrails і захист від prompt injectionЧому інструкції не є межею безпеки та як ізолювати недовірені дані, обмежувати інструменти, перевіряти вихід і тестувати прямі та непрямі атаки.
Human-in-the-loop для AIHuman-in-the-loop для AI — практичний розбір production-архітектури: залучення людини в конкретній точці ризику з достатнім контекстом для реального, а не формального контролю. Матеріал охоплює контракти, межі повноважень, failure modes, оцінювання та контрольований rollout.
Як оцінити tool calling AI-агента: практичний чеклістВідтворюваний протокол оцінювання function calling і tool use: вибір інструмента, аргументи, траєкторія, side effects, retries, фінальний стан, вартість і release gate.
Observability для LLM-системЯкі traces, metrics, logs і evaluation signals потрібні для LLM: prompts, retrieval, tool calls, usage, quality, privacy, cardinality і розслідування інцидентів.