OpenAI CUA — обзор революционных костылей

от автора

Доброго времени суток!
В данной статье мы рассмотрим главные фичи из последнего release note от OpenAI.

Неужели его скоро заменит AI?

Неужели его скоро заменит AI?

P.S. Туториал по работе с CUA (Computer Using Agent) и код идут в комплекте под катом.

Release Note

Начнем с обзора предложенных нам фич.
Для тех, кто ещё не ознакомился с данной публикацией, ссылка: тут

Для тех, у кого не ловит забугорный интегрет спойлер: тут
Скриншот поста с описанием новых фич

Скриншот поста с описанием новых фич

Итак, нам предлагают новый Responses API, смысла в выпуске которого я на данный момент особо не вижу, т.к. де факто это тот же самый Completions.
Да и работает оно +- также…

Хотя, если изучить текущий раздел с документацией, то мы увидим, что многие примеры с кодом, включающие в себя openai.chat.completions.какой_то_вызов — были переписаны на client.responses.какой_то_такой_же_вызов .

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

А теперь к фичам:

  • Web search — позволяет вашему коду осуществлять поиск в интернете с последующей обработкой через GPT модель. Искать информацию в интернете ChatGPT умеет уже довольно давно. OpenAI просто выдала нам API к этому функционалу.

    Из интересного — их система поиска не подвержена таким мелочам, как постоянно вылетающая капча или проверки браузера, которые постоянно вставляют палки в колеса при использовании того же Selenium.

    А что это значит? Это значит что эта фича идеально может подойти для написания разного рода парсеров. Вы только представьте, 1 парсер на 30 онлайн магазинов автозапчастей (например).

    Мы попробовали реализовать такую штуку и столкнулись с рядом проблем:

    • По какой то причине GPT категорически отказывался кушать запросы с поисковыми операторами, по типу site:целевой_сайт.com или filetype:pdf, хотя ChatGPT умеет это делать. При попытке спарсить характеристики товара по конкретной ссылке — мы получали результаты с сторонних сайтов :\

    • Цена вопроса — слишком велика. На 10 запросов к GPT с Web Search уходит аж целых 0.04$ (4 цента)!

      Получается, что на 1000 запросов у нас улетит примерно 40$. А что такое 1000 запросов для парсера? Это разминка…

      Для сравнения, при использовании DeepSeek + настроенного стенда с распараллеленными Selenium затраты на 1000 запросов коммунисты оценили нам примерно в 0.02$ (~20 центов, т.е. на 4 цента у нас не 10, а 200 запросов).

      DeepSeek хоть и местами глупее своих капиталистических собратьев в лице GPT моделей от OpenAI — так он и дешевле + вполне подходит для парсинга контента и формирования на выходе валидного JSON в необходимом формате.

      К тому же выдает иногда шедевральные панчлайны

      К тому же выдает иногда шедевральные панчлайны

      Итого: На текущий момент использование Web search в качестве очевидного варианта применения выходит совершенно нерентабельно.

  • File search — функционал для обучения GPT модельки на базе какой-либо документации. Он уже давно есть у Assistants API и его просто вынести ещё и в новый Responses API.

  • Computer Use — о, кажись что то интересненькое…

    Сейчас как раз на слуху модели, которые умеют самостоятельно работать с системой, а некоторые ещё и делают это параллельно.

    Но это в пресс релизах и youtube нарезках все радужно и красиво, а что на практике?
    А на практике никто простым смертным пока что такую игрушку в руки не дает.

    Так что для вас далее будем пробовать разобраться, что из себя представляет этот самый CUA.

  • Agents SDK — фреймворк, для организации разного рода коопераций GPT моделей. Предположим, что мы настроили 5 чатботов — специалистов разных мастей. Так вот, в кратце с Agents SDK — мы можем закинуть их теперь в групповой чат и дать команду.

    Впринципе мы и раньше могли это сделать, какое то время назад я пробовал играться с таким подходом, но считаю что нецелесообразно настраивать 5 моделей на кооперацию, когда можно настроить 1 модель хорошим правильным промптом и получить тот же самый результат. Впрочем, возможно мы не сталкивались с задачами такого рода, которые требуют кооперации GPT моделей для их решения.

    В любом случае, у нас есть теперь для этого инструментарий. Это лучше, чем если бы его не было.

Computer Using Agents

Что это и зачем оно надо?
Последний год мы замечали, что нет-нет, да промелькнет в новостной ленте статья о том, что ChatGPT прикрутили к виртуалке и теперь оно спокойно заменяет целый офисный отдел в компании X.
Так ли все красочно на самом деле?

По своей сути — Computer Using Agent это своего рода спецификация, описывающая набор методов (абстрактный сферический компьютер в вакууме), поддержку которых нам необходимо реализовать для того, чтобы AI смог начать использовать наше устройство.

Вот оно (взято отсюда):

from typing import Protocol, List, Literal, Dict   class Computer(Protocol):     """Defines the 'shape' (methods/properties) our loop expects."""      @property     def environment(self) -> Literal["windows", "mac", "linux", "browser"]: ...     @property     def dimensions(self) -> tuple[int, int]: ...      def screenshot(self) -> str: ...      def click(self, x: int, y: int, button: str = "left") -> None: ...      def double_click(self, x: int, y: int) -> None: ...      def scroll(self, x: int, y: int, scroll_x: int, scroll_y: int) -> None: ...      def type(self, text: str) -> None: ...      def wait(self, ms: int = 1000) -> None: ...      def move(self, x: int, y: int) -> None: ...      def keypress(self, keys: List[str]) -> None: ...      def drag(self, path: List[Dict[str, int]]) -> None: ...      def get_current_url() -> str: ...

Работа такого агента заключается в зацикливании ввода-вывода, до тех пор, пока задача не будет решена.

Иллюстрация алгоритма работы CUA с сайта OpenAI.

Иллюстрация алгоритма работы CUA с сайта OpenAI.

Получается CUA — это просто зацикленная GPT модель с Vision и Function calling.

По какой то причине, в репозитории openai-cua-sample-app — толком нету этого самого sample app.

Т.е. я, предположим будучи новичком в python, не смог бы разобраться что это и зачем нужно. Да и в целом, как я понимаю из коробки оно на обычной виртуалке не запустится, в репозитории идет речь о docker и scrapybara.

Интересно конечно, но не то что нам надо для обзора.
Вторым камнем в колеса была документация (спасибо, что она есть!).
Acknowledge safety checks — по моему мнению не хватает деталей работы данной штуки.
Есть пример кода, но это именно что пример, т.к. функционал для взаимодействия с Computer — не реализован там полностью.

Ну и третье препятствие на пути к тест драйву: Доступ к CUA API предоставляется только тем, кто уже работает с OpenAI Platform и имеет Tier 3-5 лимиты.
В целом при желании тот же Tier 3 получить вполне легко, но вы должны взаправду подобраться к лимитам их использования, прежде чем сможете запросить доступ к ним.

Как хорошо, что у нас Tier 5 и мы можем приступить к тестам.

Заводим агента у себя дома

Виртуального, разумеется.

Итак, настроим сначала окружение.

Шаг 1: Запускаем VMWare (или любую другую систему виртуализации) и создаем ВМ.
Шаг 2: Ставим туда Windows/Ubuntu/Что угодно на ваш выбор. Я поставил Windows 10.
Шаг 3: Качаем туда Python + Chrome + я поставил темные обои, чтобы vision моделям было легче читать текст с ярлыков.

Шаг 4: Переписываем/дописываем пример из документации OpenAI. Я под win10 накидал все на pyautogui: репозиторий.

Шаг 5: Ставим агенту посильную задачу и запускаем.

Запускаем CUA

OpenAI настоятельно просят нас ограничиться задачами, касающимися работы с браузером. По их заявлениям в любых более сложных задачах — все печально.

Ок, ставим задачу: Find information about the Boeing-737 on Wikipedia and write down its characteristics in new google doc.

Запускаем наш макет качественного софта…

Первые 10 минут работы нашего агента

Далее bandicam заявил что записывать экран более 10 минут он отказывается, так что…

Ещё 3 минуты работы нашего агента

Итого: 13 минут на решение задачи.

Мы получили результат работы агента. Это было долго, это было дорого (почти 9$!) и результат вышел весьма посредственным.

А на рисерч улетело аж 22.36$ (это дорого относительно GPT O1/O3)

А на рисерч улетело аж 22.36$ (это дорого относительно GPT O1/O3)

Но придираться к конечному результату в данном случае не стоит. Мы же не описали четкие критерии и формат ожидаемого гугл дока? Ну а для GPT логично предположить — на форматирование пофиг.

Характеристики оно в документ записало, так что задачу можно считать выполненной!

Итоги

На данный момент любая автоматизация через CUA — это те ещё костыли.
Причем исходя из стоимости работы данной системы — костыли с позолотой.
Ставка нашего агента получается равной примерно 41.5$ в час.
О каком либо коммерческом использовании данной технологии речи не идет.

Пока что рядовой офисный работник выйигрывает у бездушного AI своей производительностью и низкой стоимостью (относительно ставки 41.5$/час)!

Когда сравнил свою почасовую ставку - со ставкой CUA.

Когда сравнил свою почасовую ставку — со ставкой CUA.

Да и идея оптимизировать работу исключительно с веб сервисами через… Вот это! — Супер иррациональна. В оптимизациях веба гораздо проще работать с API сервисов, благо у многих популярных сервисов оно есть. В данном ключе, решение той же самой задачи с поиском информации в вики и генерации гугл дока — могло бы быть достигнуто в 1-2 запроса к GPT с Function calling (за ~0.02-0.04$) и пары сотен строчек кода на питоне.

Несмотря на это — CUA весьма крутая технология, которая в будущем (когда её удешевят, оптимизируют и доработают) вполне возможно начнет заменять людей в решении каких-либо рутинных задач.

У неё есть ключевое свойство, которого не было у GPT моделей с момента их появления — универсальность.

Вспоминаем как Уилл Смитт кушал спагетти лет 5 назад на сгенерированных нейросетями видео:

Бесспорно - выглядит вкусно

Бесспорно — выглядит вкусно
Для тех, кому нужно больше Уилла Смитта
3 брата Уилл, Уелл и Смитт за обедом

3 брата Уилл, Уелл и Смитт за обедом

Сейчас мы не успеваем удивляться тем синематикам и их качеству, которые нейронки способны нам выдать.

Так что… Ждем, когда эта революционная технология собственно говоря произведет эту самую революцию.

Немного рекламы

Мы — компания StartDuck (startduck.com), больше года занимаемся внедрением AI автоматизаций в различные бизнес процессы.

Наша платформа AI автоматизации: ai.startduck.com.
Наш конструктор чатботов: bigduck.ai
Телеграм: t.me/startduck

Всем тем, кто дочитал статью до конца желаем хорошего настроения на целый день! 🙂

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Как бы вы назвали общество, куда человечество перейдет от постиндустриального, при массовом распростанении AI агентов?

0% постпостиндустриальное0
0% постироничное0
36.36% цифровое4
18.18% безработное2
9.09% беззаботное1
36.36% Мы не узнаем, т.к. ИИ поработит и уничтожит человечество раньше4

Проголосовали 11 пользователей. Воздержались 2 пользователя.

ссылка на оригинал статьи https://habr.com/ru/articles/890714/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *