Meta AI представляет AI-помощника в написании кода

 Meta AI представляет многострочное авторство кода с помощью искусственного интеллекта.

CodeCompose, инструмент для написания кода на основе искусственного интеллекта, используемый десятками тысяч разработчиков в Meta, претерпел масштабирование от предоставления однострочных к многострочным предложениям. Этот переход включал решение уникальных проблем для улучшения удобства использования. Изначально многострочные предложения могли нарушать рабочий процесс, постоянно перемещая существующий код, что потенциально снижало производительность и удовлетворение. Кроме того, генерация многострочных предложений занимала значительно больше времени, что потребовало вложений для уменьшения ощущаемой задержки.

Благодаря оптимизации модели хостинга, задержка для многострочных предложений улучшилась в 2,5 раза. Последующие эксперименты с участием десятков тысяч инженеров показали, что многострочные предложения составляли значительную часть принятых символов и почти удвоили процент сэкономленных нажатий клавиш по сравнению с однострочными предложениями. Несмотря на это, менее 1% инженеров в Meta отказались от многострочных предложений после их внедрения.

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

Многострочный алгоритм CodeCompose разработан для автоматического запуска при вводе пользователем текста, при этом он выбирает точки запуска и ограничивает предложения текущим контекстом пользователя. Несмотря на то, что генерация точных многострочных предложений более сложна, алгоритм на основе контекста позволяет отображать предложения, соответствующие текущему мыслительному процессу пользователя, помогая его мыслям без введения ненужных отвлечений.

Архитектура системы CodeCompose: клиентский редактор, отображающий предложения, языковой сервер для посредничества в запросах к хостинг-сервису модели CodeCompose. В запросе флаг “многострочный” передается в сервис модели.

Авторы решали следующие задачи в этой статье:

Задача 1: Отталкивающий эффект: Команда разработала алгоритм на основе контекста для решения этой проблемы. Алгоритм запускает многострочные предложения исключительно тогда, когда курсор находится в конце контекста. Предложения остаются видимыми до конца текущего блока, и после принятия курсор автоматически перемещается в конец предложенного блока.

Пример “отталкивающего” эффекта однострочного предложения: курсор пользователя находится между ключевым словом “def” и функцией “quicksort”, встроенное предложение появляется и сдвигает существующий код пользователя вправо.

Пример показывает многострочный “отталкивающий” эффект: курсор пользователя находится между именем функции и следующей строкой, содержащей выражение “test1 = 1”. Когда появляется предложение, существующая строка сдвигается вниз, нарушая поток разработчика и заставляя его пересматривать предложенную функцию “quicksort”, а также определять правильное местоположение своего существующего кода.

Задача 2: Отзывчивый пользовательский интерфейс: Признавая, что многострочные предложения требуют больше времени для генерации, были предприняты усилия для минимизации ощущаемой задержки пользователя и увеличения принятия по сравнению с однострочными предложениями. Это включало (i) введение индикатора пользовательского интерфейса для информирования пользователей о генерации многострочного предложения и (ii) реализацию оптимизаций в сервисе хостинга модели, таких как Flash Attention и постоянный кэш K-V.

Задача 3: Эффективность выпуска в производство: Во время внедрения многострочных предложений команда тщательно отслеживала различные метрики, включая уровень принятия, уровень отображения, задержку и пропускную способность. Это оценка помогла оценить общую эффективность многострочных предложений по сравнению с однострочными предложениями.

Были обнаружены схожие результаты, отмечено, что хотя разработчики воспринимали ускорение написания кода, им часто требовалось больше времени на проверку сгенерированного кода. Напротив, другие исследования показали, что сгенерированные предложения способствовали обнаружению новых API.

Если вам нужны рекомендации по управлению ИИ в бизнесе, свяжитесь с нами по адресу hello@itinai.com. Чтобы быть в курсе последних новостей об ИИ, подписывайтесь на наш Telegram-канал.

Посмотрите на практический пример решения на основе ИИ: бот для продаж от itinai.ru/aisales, созданный для автоматизации общения с клиентами круглосуточно и управления взаимодействием на всех этапах пути клиента.

Изучите, как искусственный интеллект может улучшить ваши продажи и общение с клиентами. Познакомьтесь с нашими решениями на сайте itinai.ru

Полезные ссылки: