
GitHub Copilot возглавляет заряд в коммерческом программировании с помощью LLM
5 августа 2025 г.Таблица ссылок
Аннотация и 1 введение
2. Предыдущие концептуализации интеллектуальной помощи для программистов
3. Краткий обзор больших языковых моделей для генерации кода
4. Коммерческие инструменты программирования, которые используют большие языковые модели
5. Надежность, безопасность и последствия безопасности моделей ИИ, генерирующих код,
6. Изузаение юзабилити и дизайна программирования A-ассистентного
7. Опыт отчетов и 7.1. Писать эффективные подсказки сложно
7.2 Активность программирования сдвигается в сторону проверки и незнакомой отладки
7.3. Эти инструменты полезны для шаблона и повторного использования кода
8. Неадекватность существующих метафор для программирования A-A-Advisted
8.1. Помощь ИИ в качестве поиска
8.2. Помощь ИИ в качестве компиляции
8.3. Помощь ИИ в качестве парного программирования
8.4. Отчетливый способ программирования
9. Проблемы с применением программирования конечного пользователя
9.1. Выпуск 1: Спецификация намерений, разложение проблемы и вычислительное мышление
9.2. Выпуск 2: Правильность кода, качество и (над) уверенность
9.3. Выпуск 3: Понимание и обслуживание кода
9.4. Выпуск 4: Последствия автоматизации в программировании конечных пользователей
9.5. Выпуск 5: Код без кода и дилемма прямого ответа
10. Заключение
A. Источники отчета о испытании
Ссылки
4. Коммерческие инструменты программирования, которые используют большие языковые модели
Openai Codex-это версия GPT, которая настраивается в общедоступном исходном коде (Chen, Tworek, Jun, Yuan, De Oliveira Pinto, et al., 2021). Хотя сам Codex не является инструментом, ориентированным на программист, OpenAI коммерциализировал его в виде API, на котором можно построить.
Основная коммерческая реализация Codex до сих пор была в GitHub Copilot. [5] Copilot - это расширение, которое можно установить в редакторы кодов, такие как Neovim, Jetbrains и Visual Studio Code. Copilot использует Codex, опираясь на содержимое отредактированного файла, соответствующих файлов в проекте, а также путей файлов или URL -адресов репозитории. При запуска он генерирует код в месте курсора, почти так же, как автозаполнение.
Чтобы помочь расширить ожидания разработчика в отношении возможностей Copilot помимо предыдущего стандартного использования автозаполнения, предлагаемые идиомы использования для Copilot включают в себя: написание комментария, объясняющего, что выполняет функция, и подпись функции, и позволяет копированию завершить тело функции; завершение кода шаблона; и определение испытательных случаев (рисунки 1 и 5). Программисты могут ездить на велосипеде между разными поколениями из модели, и как только конкретное завершение будет принято, его можно отредактировать, как и любой другой код.
По состоянию на 23 июня 2022 года Amazon анонсировала функцию, подобную Copilot под названием Codewhisperer, [6], которая также применяет большую языковую модель, обученную на корпусе исходного кода для создания автозаполнений на основе комментариев и кода. Маркетинговый материал описывает набор функций безопасности, таких как: обнаружение при сгенерированном коде, аналогична коду в учебном наборе, обнаружение известных уязвимостей безопасности в сгенерированном коде, и «удаление кода, который можно считать предвзятым и несправедливым» (хотя это последнее утверждение вызывает скептицизм). В настоящее время Codewhisperer не широко доступен, и, таким образом, мало что известно о его использовании на практике.
Другие коммерческие реализации функций автозаполнения A-Asististed включают Visual Studio Intellicode (Silver, 2018) (рис. 4) и табрин (рис. 3) [7]. Они более ограничены по объему, чем Copilot, и их пользовательский опыт соиззвителен для использования «традиционного» автозаполнения, то есть автозаполнения, которая обусловлена статическим анализом, синтаксисом и эвристикой. [8]. Структура модели машинного обучения, используемой этими реализациями, не раскрывается публично; Тем не менее, оба полагаются на модели, которые были обучены крупным корпусам общедоступного исходного кода.
Интересно отметить, что, несмотря на широкий спектр типов интеллектуальной помощи программиста, мы обсуждали в разделе 2 для нескольких аспектов программирования (создание, транскрипция, модификация, отладка и обучение), коммерческие реализации помощи, основанные на крупных языковых моделях до сих пор, направлены главным образом на авторизацию. Авторизм может рассматриваться как первое естественное применение модели генеративного языка, но знания о программировании в этих моделях, конечно, могут быть использованы для оказания помощи программистам в других видах деятельности.
Авторы:
(1) Advait Sarkar, Microsoft Research, Кембриджский университет (advait@microsoft.com);
(2) Эндрю Д. Гордон, Microsoft Research, Эдинбургский университет (adg@microsoft.com);
(3) Карина Негрину, Microsoft Research (cnegreanu@microsoft.com);
(4) Christian Poelitz, Microsoft Research (cpoelitz@microsoft.com);
(5) Sruti Srinivasa Ragavan, Microsoft Research (a-srutis@microsoft.com);
(6) Бен Зорн, Microsoft Research (ben.zorn@microsoft.com).
Эта статья есть
[5] https://copilot.github.com/
[6] https://aws.amazon.com/codewhisperer/features/
[7] https://www.tabnine.com/
[8] По состоянию на 15 июня 2022 года Tabnine объявила о переходе на автозаполнение, управляемое языком, которое больше напоминает способности Copilot (Weiss, 2022).
Оригинал