Всем привет!
Меня зовут Александр, я COO в SaaS-платформе аналитики данных. Последний год активно изучаю внедрение AI-решений в кросс-функциональные процессы. Делюсь полезными материалами, которые считаю стоят внимания. В основном про AI, изменение процессов, тренды и продуктовое видение.
У себя в телеграм-канале делюсь сжатыми и структурированными саммери статей.
Сегодняшний перевод — OpenAI Codex Hands-on Review
Codex позволяет ставить параллельные задачи для нескольких репозиториев через чат-интерфейс, создавая ощущение многопоточной работы. Однако, несмотря на удобство, реальная продуктивность остается под вопросом из-за нестабильного качества кода и проблем с выполнением задач.
В настоящее время Codex ориентирован на чат. Вы получаете доступ по приглашению или при оплате подписки Pro (200 долларов в месяц).
Получив доступ, вы начинаете с включения многофакторной аутентификации, которая требуется для использования Codex. Затем вы авторизуете приложение Codex GitHub для каждой организации, с которой хотите работать.
Затем Codex клонирует ваши репозитории в свои собственные изолированные среды, чтобы он мог выполнять команды и создавать ветки от вашего имени.
Если вы поддерживаете десятки публичных и частных репозиториев, эта настройка просто замечательна, потому что вы можете переключаться между проектами и ставить задачи для каждого из них, не покидая интерфейс.
Если у вас всего один или два репозитория, накладные расходы могут показаться больше, чем просто обращение за помощью к LLM или работа в редакторе с поддержкой ИИ, таком как Cursor.
Codex кажется, что был создан для меня.
Это подключение к GitHub позволяет вам указать, для какого репозитория и какой ветки предназначены ваши текущие инструкции, потому что основной интерфейс чата задуман как место, где вы можете быстро задавать дневные задачи в интерфейс, чтобы запускать несколько задач параллельно.
Я просмотрел руководство по лучшим практикам Codex, которое поощряет вас запускать столько задач, сколько вам нужно. Текущие ограничения скорости поддерживают это.
Это одна из вещей, которые мне больше всего нравятся в Codex, и которая меня больше всего радует по мере улучшения платформы, потому что это соответствует моему стилю работы.
К тому времени, как я приступаю к работе, у меня обычно есть длинный список дел, которые я хочу выполнить, поэтому запуск множества из них параллельно с помощью естественного языка кажется разумным интерфейсом.
Как я писал в Прогулки и разговоры с ИИ в лесу, в идеале я хотел бы начать утро в офисе, запустить множество задач,
разобраться с планированием, а затем отправиться на долгую прогулку на природе.
Codex можно использовать с моего телефона даже сегодня:
Думаю, в конечном итоге, когда будут устранены некоторые шероховатости, Codex поможет мне и другим эффективно выполнять нашу работу вне наших рабочих мест.
После того как ваша первоначальная задача некоторое время «поварилась», вы можете кликнуть по ней, чтобы просмотреть ход выполнения, увидеть логи и сделать последующие запросы через очень привычный интерфейс чата.
Как только вы будете удовлетворены изменениями в определённой ветке, вы можете сказать Codex, чтобы он открыл для вас PR, и он автоматически
заполнит описание.
Вы можете перейти к любой задаче, чтобы увидеть панель чата, а также необработанные логи, которые показывают команды и оболочки, которые Codex запускает для внесения изменений.
Запуск задач завершается ошибкой. Открытие запросов на слияние завершается ошибкой.
Почему?
Кто знает.
Я экспериментировал с Codex около 3 дней на момент написания статьи. Я ещё не заметил заметной разницы в производительности модели Codex, которая, как объясняет OpenAI, является потомком GPT-3 и владеет более чем 12 языками программирования.
Прямо сейчас кажется, что я могу запускать несколько задач параллельно с вероятностью 40-60%, что я буду достаточно доволен результатом, чтобы нажать кнопку «Открыть PR» вместо запроса изменений.
Пока Codex идеально подходит для выполнения множества задач по поддержке: небольших правок текста, изменений стиля и других мелких дел. Я пытался попросить его заняться более крупными рефакторингами, и это быстро становилось обременительным. Текущий рабочий процесс предполагает открытие нового pull-запроса для каждой итерации, что означает, что внесение последующих коммитов в существующую ветку в лучшем случае неудобно.
Обновлять существующие PR трудно.
Неясно, когда и будут ли изменения внесены в существующую ветку, и сейчас приложение побуждает вас создавать больше pull-запросов.
Это затрудняет многошаговые рефакторинги, потому что вы не можете надёжно повторять их в одной и той же ветке в Codex. Пока это не станет более плавным, я планирую использовать его в основном для закрытия быстрых задач, которые можно реализовать за один проход.
Надо сказать, я понимаю, что это намеренное дизайнерское решение. Оно, помимо прочего, снижает уязвимости, связанные с удалённым выполнением кода.
Это в настоящее время блокирует использование Codex для многих задач, для которых работающие разработчики захотят его использовать, а именно
разрешение надоедливых проблем с зависимостями путём установки более новой версии пакета и регенерации соответствующих файлов блокировки в процессе.
Codex не может получить доступ к интернету прямо сейчас, но у него есть свежескопированный репозиторий, доступный для его среды выполнения.
Это означает, что он не может pnpm add @tar-fs@latest
, даже если вы его об этом попросите. Так что пока я всё равно буду вытягивать эти ветки и исправлять их локально или комментировать @dependabot rebase
в PR, которые это поддерживают.
Пока нет, но я вижу, как это произойдёт, когда:
Больше задач станут выполняться за один раз благодаря дополнительным улучшениям или обучению модели, или, возможно, даже возможности мультиплексирования между разными моделями для разных задач.
Улучшится опыт разработчика в открытии и отправке изменений в существующие ветки для обновления уже открытого pull-запроса.
Codex обеспечит больше интеграций с дополнительными возможностями платформы OpenAI, такими как генерация изображений.
Codex (потенциально) станет больше высокоуровневым слоем оркестрации и сигнализации, из которого в основном работают люди.
На данный момент Codex полезен для выполнения низкоприоритетных, но многочисленных и утомительных задач по поддержке и небольших обновлений в начале дня.
Для значительного рефакторинга или создания новых функций я всё ещё лучше справляюсь сам в IDE с опциональной поддержкой LLM.
Я уверен, что скоро смогу использовать Codex как идеальный интерфейс для начала рабочего дня и для отслеживания того, что требует внимания и что будет дальше.