Инструмент компьютерного использования Claude: Полное руководство разработчика по AI-автоматизации рабочего стола
Что если вы могли бы сказать AI «открой Firefox, перейди на сайт, заполни форму и сохрани результат» — и он действительно это сделал? Не через хрупкий Selenium-скрипт. Не через кастомную интеграцию с API. Просто… смотря на экран и используя мышь и клавиатуру, как человек.
Именно это делает инструмент компьютерного использования Claude.
Что такое Computer Use?
Computer use — это бета-функция API, позволяющая Claude взаимодействовать с настольными средами через:
- Захват скриншотов — Claude видит происходящее на экране
- Управление мышью — клики, перетаскивание, прокрутка
- Ввод с клавиатуры — ввод текста, нажатие горячих клавиш
- Автоматизация рабочего стола — взаимодействие с любым приложением
Ключевое слово — любым. В отличие от традиционной автоматизации (Selenium для браузеров, AppleScript для macOS), Claude не нужны специальные API или селекторы элементов. Он смотрит на пиксели на экране и решает, куда кликнуть. Точно так же, как вы.
Как это работает (Цикл агента)
Computer use следует простому циклу:
- Вы отправляете Claude задачу — «Сохрани картинку с котом на рабочий стол»
- Claude запрашивает действие инструмента — «Сделай скриншот»
- Ваше приложение выполняет — захватывает экран, возвращает изображение
- Claude анализирует и запрашивает следующее действие — «Кликни по координатам (500, 300)»
- Повторяется до завершения задачи
Этот цикл называется циклом агента. 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 лучше всего работает с чёткими, структурированными промптами:
-
Будьте конкретны. «Открой Firefox, перейди на example.com и нажми кнопку Войти» работает лучше, чем «войди на сайт».
-
Попросите Claude проверять. Добавьте в промпт: «После каждого шага делай скриншот и оценивай, достигнут ли нужный результат. Продолжай только после подтверждения.»
-
Используйте горячие клавиши. Выпадающие меню и полосы прокрутки сложно нажать. Попросите Claude использовать
Tab,Enterи клавиши со стрелками. -
Предоставляйте примеры. Для повторяемых задач включайте в промпт примеры скриншотов и ожидаемые вызовы инструментов.
-
Используйте 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 токенов в зависимости от размеров скриншотов и сложности ответов.
Начало работы
- Попробуйте эталонную реализацию. Клонируйте anthropic-quickstarts, запустите Docker-контейнер, поэкспериментируйте.
- Начинайте с простых задач. «Открой текстовый редактор, напечатай Hello World, сохрани файл.» Добейтесь работы цикла агента перед сложными рабочими процессами.
- Добавьте защитные меры. Установите ограничения итераций. Валидируйте координаты. Логируйте каждое действие. Добавьте подтверждение человека для необратимых действий.
- Оптимизируйте промпты. Чем лучше инструкции, тем меньше итераций нужно Claude — и тем ниже затраты на токены.
Computer use представляет фундаментальный сдвиг в том, что возможно с API для AI. Вместо создания пользовательских интеграций для каждого приложения можно дать Claude тот же интерфейс, который используют люди — экран, мышь и клавиатуру — и позволить ему разобраться с остальным.
Будущее автоматизации — это не больше API. Это AI, который может использовать интерфейсы, которые у нас уже есть.