← Назад к блогу

Инструмент компьютерного использования Claude: Полное руководство разработчика по AI-автоматизации рабочего стола

· Save Team
claudeaicomputer-useautomationapideveloperanthropic

Что если вы могли бы сказать AI «открой Firefox, перейди на сайт, заполни форму и сохрани результат» — и он действительно это сделал? Не через хрупкий Selenium-скрипт. Не через кастомную интеграцию с API. Просто… смотря на экран и используя мышь и клавиатуру, как человек.

Именно это делает инструмент компьютерного использования Claude.

Что такое Computer Use?

Computer use — это бета-функция API, позволяющая Claude взаимодействовать с настольными средами через:

  • Захват скриншотов — Claude видит происходящее на экране
  • Управление мышью — клики, перетаскивание, прокрутка
  • Ввод с клавиатуры — ввод текста, нажатие горячих клавиш
  • Автоматизация рабочего стола — взаимодействие с любым приложением

Ключевое слово — любым. В отличие от традиционной автоматизации (Selenium для браузеров, AppleScript для macOS), Claude не нужны специальные API или селекторы элементов. Он смотрит на пиксели на экране и решает, куда кликнуть. Точно так же, как вы.

Как это работает (Цикл агента)

Computer use следует простому циклу:

  1. Вы отправляете Claude задачу — «Сохрани картинку с котом на рабочий стол»
  2. Claude запрашивает действие инструмента — «Сделай скриншот»
  3. Ваше приложение выполняет — захватывает экран, возвращает изображение
  4. Claude анализирует и запрашивает следующее действие — «Кликни по координатам (500, 300)»
  5. Повторяется до завершения задачи

Этот цикл называется циклом агента. Claude постоянно запрашивает действия (скриншот, клик, ввод, прокрутка), а ваше приложение их выполняет, пока Claude не определит, что задача завершена.

Вот минимальный вызов API для начала работы:

import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    tools=[
        {
            "type": "computer_20251124",
            "name": "computer",
            "display_width_px": 1024,
            "display_height_px": 768,
            "display_number": 1,
        },
        {"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"},
        {"type": "bash_20250124", "name": "bash"},
    ],
    messages=[{
        "role": "user",
        "content": "Save a picture of a cat to my desktop."
    }],
    betas=["computer-use-2025-11-24"],
)

Бета-заголовок "computer-use-2025-11-24" обязателен. Три инструмента (компьютер, текстовый редактор, bash) работают вместе, давая Claude полный контроль над средой.

Доступные действия

Инструмент computer use поддерживает богатый набор взаимодействий:

Базовые действия

  • screenshot — захват текущего отображения
  • left_click — клик по координатам [x, y]
  • type — ввод текстовой строки
  • key — нажатие клавиши или комбинации (например, ctrl+s, alt+tab)
  • mouse_move — перемещение курсора

Расширенные действия (модели Claude 4.x)

  • scroll — прокрутка в любом направлении с управлением величиной
  • left_click_drag — клик и перетаскивание между координатами
  • right_click, middle_click — дополнительные кнопки мыши
  • double_click, triple_click — многократные клики
  • hold_key — удержание клавиши в течение определённого времени
  • wait — пауза между действиями

Новейшее дополнение: Zoom

Доступно на Claude Opus 4.6, Sonnet 4.6 и Opus 4.5:

  • zoom — осмотр определённой области экрана в полном разрешении

Особенно полезно, когда Claude нужно прочитать мелкий текст или идентифицировать тонкие детали UI.

Вычислительная среда

Claude не подключается напрямую к вашему компьютеру. Вам нужно предоставить изолированную среду — обычно Docker-контейнер, запускающий:

  • Виртуальный дисплей — Xvfb (X Virtual Framebuffer) рендерит рабочий стол
  • Рабочая среда — лёгкий оконный менеджер, например Mutter
  • Приложения — Firefox, LibreOffice, файловые менеджеры и т.д.
  • Реализации инструментов — код, преобразующий запросы Claude в реальные операции с мышью/клавиатурой

Anthropic предоставляет эталонную реализацию со всем необходимым, предварительно настроенным в Docker. Это самый быстрый способ начать.

Построение цикла агента

Вот упрощённый цикл агента, обрабатывающий взаимодействие:

async def agent_loop(task: str, max_iterations: int = 10):
    client = anthropic.Anthropic()
    messages = [{"role": "user", "content": task}]

    tools = [
        {
            "type": "computer_20251124",
            "name": "computer",
            "display_width_px": 1024,
            "display_height_px": 768,
        },
        {"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"},
        {"type": "bash_20250124", "name": "bash"},
    ]

    for _ in range(max_iterations):
        response = client.beta.messages.create(
            model="claude-opus-4-6",
            max_tokens=4096,
            messages=messages,
            tools=tools,
            betas=["computer-use-2025-11-24"],
        )

        messages.append({"role": "assistant", "content": response.content})

        # Extract tool calls
        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result,
                })

        if not tool_results:
            return messages  # Task complete

        messages.append({"role": "user", "content": tool_results})

Функция execute_tool — это место, где вы подключаете реальный захват экрана, клики мышью и ввод с клавиатуры к вашей вычислительной среде.

Масштабирование координат: подводный камень

API ограничивает изображения максимальным размером 1568px по длинной стороне. Если ваш дисплей больше (например, 1512x982), скриншоты уменьшаются — но Claude возвращает координаты на основе меньшего изображения.

Необходимо масштабировать координаты обратно:

import math

def get_scale_factor(width, height):
    long_edge = max(width, height)
    total_pixels = width * height
    long_edge_scale = 1568 / long_edge
    total_pixels_scale = math.sqrt(1_150_000 / total_pixels)
    return min(1.0, long_edge_scale, total_pixels_scale)

scale = get_scale_factor(1512, 982)

# When Claude says "click at (450, 300)", scale it up:
def execute_click(x, y):
    screen_x = x / scale
    screen_y = y / scale
    perform_click(screen_x, screen_y)

Пропуск этого шага означает, что клики Claude будут мимо цели. Это самая распространённая ошибка реализации.

Советы по промптам для лучших результатов

Computer use лучше всего работает с чёткими, структурированными промптами:

  1. Будьте конкретны. «Открой Firefox, перейди на example.com и нажми кнопку Войти» работает лучше, чем «войди на сайт».

  2. Попросите Claude проверять. Добавьте в промпт: «После каждого шага делай скриншот и оценивай, достигнут ли нужный результат. Продолжай только после подтверждения.»

  3. Используйте горячие клавиши. Выпадающие меню и полосы прокрутки сложно нажать. Попросите Claude использовать Tab, Enter и клавиши со стрелками.

  4. Предоставляйте примеры. Для повторяемых задач включайте в промпт примеры скриншотов и ожидаемые вызовы инструментов.

  5. Используйте XML-теги для учётных данных. Если Claude нужно войти в систему, передавайте учётные данные в тегах <robot_credentials>. Но будьте осторожны — риски инъекции промптов выше, когда Claude взаимодействует с ненадёжным контентом.

Безопасность: отнеситесь серьёзно

Computer use имеет уникальные риски безопасности:

  • Инъекция промптов через содержимое экрана. Claude читает всё на экране. Вредоносная страница может отображать инструкции, переопределяющие ваш промпт.
  • Автономные действия. Claude может нажимать ссылки, принимать диалоги или переходить туда, куда вы не планировали.
  • Раскрытие учётных данных. Если Claude видит пароли или токены на экране, они становятся частью разговора.

Anthropic встроил классификаторы, отмечающие потенциальные инъекции промптов на скриншотах. Но лучшая защита — изоляция:

  • Запускайте в выделенной VM или Docker-контейнере с минимальными привилегиями
  • Не давайте доступ к чувствительным аккаунтам без наблюдения
  • Ограничьте доступ в интернет списком разрешённых доменов
  • Требуйте подтверждения человека для важных действий (покупки, создание аккаунтов и т.д.)

Что строить

Computer use лучше всего подходит для задач, где скорость не критична, но автоматизация ценна:

  • Автоматизированное тестирование — тестируйте любые настольные приложения, не только веб-приложения
  • Сбор данных — навигация по сайтам и извлечение информации
  • Интеграция с устаревшими системами — автоматизация рабочих процессов в приложениях без API
  • Заполнение форм — заполнение веб-форм на множестве сайтов
  • Исследовательские рабочие процессы — поиск, чтение и компиляция информации из сети
  • QA и мониторинг — проверка корректного рендеринга UI

Для рабочих процессов исследования и сбора данных такие инструменты, как Save, хорошо дополняют computer use — когда Claude переходит на страницу, преобразование её в чистый Markdown даёт структурированный, готовый для AI контент вместо сырых скриншотов.

Текущие ограничения

Обратите внимание на эти бета-ограничения:

  • Задержка. Каждое действие требует вызова API, захвата скриншота и ответа. Медленнее, чем человек кликает мышью.
  • Точность зрения. Claude может неправильно прочитать мелкий текст или неверно идентифицировать элементы UI. Новое действие zoom помогает, но не идеально.
  • Прокрутка. Значительно улучшилась в последних версиях, но сложные взаимодействия прокрутки всё ещё могут быть ненадёжными.
  • Таблицы. Выбор ячеек труден. По возможности используйте навигацию с клавиатуры.
  • Нет создания аккаунтов в соцсетях. Claude намеренно не создаёт аккаунты и не выдаёт себя за людей в социальных сетях.

Ценообразование

Computer use следует стандартному ценообразованию использования инструментов:

  • Накладные расходы системного промпта: 466-499 токенов
  • Определение инструмента: 735 токенов на инструмент (для Claude 4.x)
  • Скриншоты: тарифицируются как визуальные токены (варьируется в зависимости от разрешения)
  • Каждый вызов API в цикле агента — отдельный платный запрос

Для типичной задачи из 10 шагов ожидайте использования 15 000-50 000 токенов в зависимости от размеров скриншотов и сложности ответов.

Начало работы

  1. Попробуйте эталонную реализацию. Клонируйте anthropic-quickstarts, запустите Docker-контейнер, поэкспериментируйте.
  2. Начинайте с простых задач. «Открой текстовый редактор, напечатай Hello World, сохрани файл.» Добейтесь работы цикла агента перед сложными рабочими процессами.
  3. Добавьте защитные меры. Установите ограничения итераций. Валидируйте координаты. Логируйте каждое действие. Добавьте подтверждение человека для необратимых действий.
  4. Оптимизируйте промпты. Чем лучше инструкции, тем меньше итераций нужно Claude — и тем ниже затраты на токены.

Computer use представляет фундаментальный сдвиг в том, что возможно с API для AI. Вместо создания пользовательских интеграций для каждого приложения можно дать Claude тот же интерфейс, который используют люди — экран, мышь и клавиатуру — и позволить ему разобраться с остальным.

Будущее автоматизации — это не больше API. Это AI, который может использовать интерфейсы, которые у нас уже есть.