Featured image for novyj frejmvork cua bench reshaet problemu hrupkosti ii agentov dlya upravleniya kompyuterom

Новый фреймворк cua-bench решает проблему хрупкости ИИ-агентов для управления компьютером

Автономные агенты, способные взаимодействовать с компьютером — нажимать кнопки, печатать текст, выполнять рабочие процессы — сегодня демонстрируют шокирующую непоследовательность. Исследование Ullrich et al оказало, что успешность выполнения одной и той же задачи может различаться более чем в 10 раз из-за незначительных изменений в интерфейсе: темы оформления, шрифта или языка системы. Агент, идеально работающий на чистом рабочем столе Windows 11, проваливается на Windows XP или при включении режима высокой контрастности. Ключевая проблема — недостаток визуального разнообразия в обучающих данных.

Ограничения текущих подходов

Существующие бенчмарки, такие как OSWorld и Windows Agent Arena, опираются на статические снапшоты виртуальных машин с фиксированными настройками. Это создает целый ряд ограничений:

  • Статичность: Задачи «запекаются» в компоненты bench-server, а загрузка может занимать до 20 минут.
  • Фиксированный набор приложений: Виртуальные машины поставляются с предустановленным софтом.
  • Ограниченные определения задач: Задачи описываются через JSON с ограниченным словарем.
  • Медленная итерация: Обновление задач требует пересборки целых образов виртуальных машин.

Новый фреймворк cua-bench, представленный в блоге Hugging Face, предлагает решение всех этих проблем.

Что такое Cua-Bench?

Cua-Bench — это гибкий и масштабируемый фреймворк для создания верифицируемых, динамических сред для работы с компьютером. Он поддерживает три ключевые функции:

  1. Масштабируемую генерацию разнообразных данных графического интерфейса (GUI).
  2. Генерацию траекторий для обучения агентов.
  3. Создание сред для обучения с подкреплением (RL).

Фреймворк работает с множеством платформ: macOS, Linux, Windows, Android, iOS, виртуальными машинами и веб-интерфейсами.

Масштабируемая генерация GUI-данных

Cua-Bench генерирует реалистичные и разнообразные данные интерфейса, которые можно настраивать по множеству параметров:

  • Различные программы и приложения.
  • Расположение окон и покрытие экрана.
  • Графические стили, цвета и контрастность.
  • Разные платформы и устройства.
  • Разрешения от 640×480 до 3440×1440.
Сравнение интерфейсов Windows 98 и Windows 10: выполнение одинаковых задач в разные эпохи

Источник: huggingface.co

Примеры данных, сгенерированных Cua-Bench для разных тем ОС и приложений

Помимо скриншотов, система захватывает полные HTML-снапшоты каждого окна вместе с координатами ограничивающих рамок, метками доступности и CSS-стилями. Это позволяет воспроизводить состояния офлайн и кросс-платформенно.

Данные графического интерфейса с ограничивающими рамками и метками доступности вокруг элементов UI

Источник: huggingface.co

Особенность фреймворка — генерация данных не только для современных систем, но и для старых версий ОС, что снижает смещение моделей в сторону актуальных визуальных стилей. Охват разрешений также впечатляет — от низкого (640×480) до сверхвысокого (3440×1440).

Генерация траекторий для агентов

Cua-Bench предоставляет Python API, похожий на Playwright, для определения эталонных решений — программных реализаций, которые выполняют задачи шаг за шагом.

Каждая задача может определить эталонное решение с помощью декоратора @cb.solve_task. Пример кода для создания плейлиста в Spotify:

@cb.tasks_config
def config():
 return {
 "scenarios": [
 {"playlist_name": "Workout Mix", "song": "Eye of the Tiger"},
 {"playlist_name": "Chill Vibes", "song": "Weightless"},
 # ... тысячи вариаций из одного шаблона
 ]
 }

@cb.setup_task
async def setup(env, scenario):
 await env.spotify.open()
 await env.spotify.create_playlist(scenario["playlist_name"])

@cb.solve_task
async def solve(env, scenario):
 await env.spotify.search(scenario["song"])
 await env.spotify.add_to_playlist(scenario["playlist_name"])

@cb.evaluate_task
async def evaluate(env, scenario):
 playlist = await env.spotify.get_playlist(scenario["playlist_name"])
 return scenario["song"] in playlist.songs

При выполнении Cua-Bench записывает каждое действие вместе с состоянием среды, захватывая HTML-снапшоты, скриншоты и входные события, чтобы создать полные многошаговые траектории для обучения с учителем.

Ключевая возможность — перепроецирование траекторий. Одна записанная демонстрация человека может быть повторно отрендерена в 10 разных темах ОС, что дает 10 обучающих траекторий. Одинаковые действия, разные визуальные представления — так создаются надежные кросс-платформенные обучающие данные в масштабе.

Рабочий процесс разработки задач строится вокруг четырех декораторов: @tasks_config (вариации сценариев), @setup_task (инициализация среды), @evaluate_task (верификация успеха) и @solve_task (эталонное решение).

Идея cua-bench одновременно проста и гениальна: вместо того чтобы пытаться запечатлеть все возможные состояния интерфейса в реальном мире, фреймворк генерирует их синтетически, но с учетом всех нюансов — от ретро-стилей Windows 98 до специфики мобильных iOS. Это подход, который давно назрел. Нынешние агенты вроде Claude Computer-Use или Gemini 2.5 Computer-Use напоминают стажеров-первокурсников: блестяще справляются с задачами в идеальных лабораторных условиях, но теряются при малейшем отклонении от шаблона. Проблема не в «интеллекте» модели, а в банальном недостатке тренировочного разнообразия. Cua-bench предлагает «тренажерный зал» для таких агентов, где можно менять освещение, оборудование и правила игры, не выходя из кода. Успех этого подхода определит, станут ли компьютерные агенты универсальными цифровыми помощниками или останутся дорогими игрушками, работающими только в стерильных условиях демо-видео.

Представление разнообразия интерфейсов — от мобильных Android и iOS до настольных систем с разным уровнем «загромождения» рабочего стола — делает cua-bench мощным инструментом для создания действительно устойчивых ИИ-агентов. Вместо того чтобы собирать гигантские датасеты вручную, разработчики теперь могут программно генерировать необходимое разнообразие, что открывает путь к созданию агентов, которые будут работать одинаково хорошо независимо от того, какая версия Windows установлена у пользователя или какой размер шрифта он предпочитает.

Сравнение сред операционных систем Android и iOS для тестирования ИИ-агентов
Источник: huggingface.co
Различные интерфейсы операционной системы macOS с имитацией загромождённого рабочего стола
Источник: huggingface.co

Похожие записи