Computer Use

Computer Use (CUA, computer-use agent) — мультимодальная LLM, которая видит экран (скриншот) и управляет мышью и клавиатурой, как человек. Работает через универсальный интерфейс «экран + мышь + клавиатура» без API приложения. Решает автоматизацию legacy-софта и кабинетов без программного доступа.

Суть

Цикл одного шага: восприятие → рассуждение → действие → новый скриншот.

  1. Perception — скриншот попадает в контекст как изображение (для веба — плюс accessibility tree / DOM).
  2. Reasoning — «где я, что вижу, какой следующий шаг, не кликал ли уже сюда».
  3. Action — модель возвращает click(x,y), type("…"), scroll, key("Enter"); система исполняет и делает новый скриншот.

Это не «OCR + скрипт»: одна сеть одновременно смотрит, думает и кликает.

Зачем это нужно

~60% корпоративного ПО — legacy без API (банкинг, госсектор, маркетплейсы, партнёрские кабинеты). Где UI часто меняется, детерминированные скрипты (Selenium/RPA) ломаются, а CUA адаптируется. Выбор режима: API (если есть и покрывает) → RPA (стабильный UI) → CUA (нестабильный UI / нет API, дороже по токенам).

Как работает (ландшафт 2026)

  • Claude Computer Use (Anthropic, beta с окт 2024) — из коробки логирует действия/скриншоты.
  • ChatGPT Operator → ChatGPT Agent (OpenAI) — agent mode в чате, watch mode на чувствительных сайтах, встроенный детектор prompt injection. ⚠️ Отдельный браузер Atlas закрыт: объявлен 2026-07-10, перестал работать 2026-08-09, агентные возможности перенесены внутрь ChatGPT и Codex. Если где-то встречается «Atlas» как рабочий продукт — это устаревшее описание.
  • Google Gemini / Project Mariner — управление браузером со стороны Google, третий крупный вендор в категории наряду с Anthropic и OpenAI.
  • UI-TARS (ByteDance, Apache 2.0) — нативная GUI-модель (не обёртка над GPT), база Qwen-2-VL + RL по trajectories, 50B токенов на GUI-скриншотах, размеры 2B/7B/72B; self-host без зависимости от вендора.
  • browser-use — Python-библиотека: Chromium через CDP, авто-экстракция DOM, маскирование sensitive-data, работает с любой LLM (Anthropic/Google/OpenAI/Ollama). На практике из ноутбука: Agent(task=…, llm=…, browser_context=…, use_vision=True) — демо доставал цену Bitcoin с coinmarketcap.
  • Два разных бенчмарка, которые часто путают. OSWorld / OSWorld-Verified меряет управление полным рабочим столом, WebVoyager и WebArena — работу в браузере. Числа между ними несопоставимы, и лидеры разные: на WebVoyager впереди открытый browser-use (около 89%) и computer-using agent от OpenAI (около 87%), тогда как на десктопных задачах OSWorld те же агенты дают заметно меньше — у OpenAI около 38%. Claude уступает на чисто браузерных задачах, но остаётся единственным из тройки, кто ведёт полный десктоп, и на OSWorld-Verified модели Opus вышли в диапазон низких 80% (в майской редакции этой заметки было 72.7% — за квартал показатель вырос).
  • Бенчмарк OSWorld-Verified — профильная оценка для этого класса агентов: задачи управления реальным ПК через GUI. Содержательный факт, который стоит помнить: лучший результат впервые сравнялся с human baseline (~72%), а разрыв между лидером и остальными участниками — двукратный. Конкретные баллы не дублируются здесь намеренно — они живут в Benchmarks Agents вместе с правилами чтения бенчмарков (vendor-scores × 0.7, падение на приватных данных). Цифра, скопированная в две заметки, устаревает в двух местах, а замечают это в одном.

Когда CUA дешевле скриптов

Развилка не в цене за операцию — по ней скрипт выигрывает всегда. Она в стоимости поддержки при изменении интерфейса. Селектор ломается от любой правки вёрстки, и на чужом интерфейсе, который вы не контролируете, починка становится постоянной статьёй расходов; агент, смотрящий на экран, переживает косметические изменения без правок.

Отсюда практический критерий: считать надо не «токены против бесплатного скрипта», а токены против часов на починку, и решает частота изменений интерфейса, умноженная на число сценариев. Высокий объём на стабильном интерфейсе — скрипты; редкие операции на чужом меняющемся интерфейсе — CUA; посередине часто выигрывает гибрид, где агент находит путь один раз, а дальше выполняется записанный скрипт с откатом на агента при поломке.

Отдельно про надёжность защиты от индиректных инъекций на живых сайтах: рассчитывать на неё как на барьер нельзя — текстовые маркеры и разметка недоверенного блока относятся к гигиене нулевого уровня и не держат адаптивную атаку (Prompt Injection). На реальном вебе барьером остаются изоляция исполнения, whitelist доменов и HITL на необратимом.

Безопасность

Топ-риски: prompt injection (прямой и индиректный, угроза №1), Confused Deputy (агент с правами пользователя выполняет команды атакующего из интернета), data exfiltration, деструктивные действия (rm -rf), approval fatigue (жмёшь OK не читая). Защита: изоляция (Firecracker microVM / gVisor / hardened-контейнер), proxy с whitelist доменов, отдельные креды вне песочницы, явные tiers риска, HITL на high-risk (платежи, башкоманды, auth) — см. Guardrails.

Пример

Шаг computer-use через browser-use: use_vision=True подаёт скриншот в контекст модели, agent.run() крутит цикл «восприятие → рассуждение → действие».

async def agent_loop(llm, browser_context, query, initial_url=None):
    agent = Agent(
        task=query,
        llm=llm,
        browser_context=browser_context,
        use_vision=True,                 # скриншот страницы входит в контекст как изображение
        initial_actions=[{"open_tab": {"url": initial_url}}] if initial_url else None,
    )
    result = await agent.run()           # внутри: цикл скриншот -> рассуждение -> действие
    return result.final_result() if result else None

Связано с

  • AI Agent — CUA = агент, действующий в GUI вместо API
  • Guardrails — изоляция/HITL критичны именно для CUA
  • ReAct — цикл perceive→reason→act — это ReAct по скриншотам
  • Benchmarks Agents — OSWorld как мера CUA