GitHub Copilot

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Vonavy (обсуждение | вклад) в 09:10, 13 июня 2022 (Создано переводом страницы «GitHub Copilot»). Она может серьёзно отличаться от текущей версии.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
GitHub Copilot
Логотип программы GitHub Copilot
Тип SaaS
Разработчики GitHub, OpenAI
Операционные системы Microsoft Windows, Linux, macOS, веб
Первый выпуск 27 октября 2021
Последняя версия 1.28.6134
Тестовая версия 1.28.6136
Сайт copilot.github.com

GitHub Copilot — это инструмент с использованием искусственного интеллекта, совместно разработанный GitHub и OpenAI для помощи пользователям таких интегрированных сред разработки как Visual Studio Code, Visual Studio, Neovim и JetBrains в автодополнении кода[1]. В настоящее время он доступен только в виде предварительной версии. Инструмент был впервые анонсирован 29 июня 2021 года и лучше всего подходит для пользователей, сохдающих код на Python, JavaScript, TypeScript, Ruby и Go[2][3].

История

29 июня 2021 года GitHub анонсировал GitHub Copilot в качестве расширения в предварительной версии для Visual Studio Code[1][4].

26 октября 2021 года данный инструмент был выпущен в виде плагина в JetBrains Marketplace[5].

27 октября 2021 года GitHub выпустил плагин GitHub Copilot для Neovim в качестве общедоступного репозитория[6].

29 марта 2022 года было официально объявлено о доступности Copilot для Visual Studio 2022[7].

Функции

GitHub Copilot работает на основе OpenAI Codex?!, модели искусственного интеллекта, созданной OpenAI — исследовательской лабораторией искусственного интеллекта[8]. OpenAI Codex — это модифицированная производственная версия языковой модели Generative Pre-trained Transformer 3 (GPT-3), использующей глубокое обучение для создания текста, похожего на человеческий[9]. Например, при наличии задачи программирования на естественном языке Codex может сгенерировать код для её решения[10]. Она также может описывать входной код на английском языке и переводить код между языками программирования[10]. Лицензия Codex GPT-3 предоставляется исключительно Microsoft, материнской компании GitHub[11].

OpenAI Codex в Copilot обучается на выбранных общедоступных репозиториях GitHub на английском языке и другом общедоступном исходном коде[3]. Сюда входит отфильтрованный набор данных из 159 гигабайт кода Python, полученный из 54 миллионов общедоступных репозиториев GitHub[12].

Согласно собственному сайту, GitHub Copilot включает в себя вспомогательные функции для программистов, такие как преобразование комментариев в исполняемый код и автозаполнение для фрагментов кода, повторяющихся разделов кода и целых методов или функций[3][13]. В GitHub сообщают, что функция автозаполнения Copilot точна примерно в половине случаев; например, с некоторым кодом установленным по заголовку функции языка Python, Copilot правильно автозаполнил остальную часть кода тела функции в 43 % случаев с первой попытки и в 57 % случаев после десяти попыток[3].

В GitHub заявляют, что функции Copilot позволяют программистам ориентироваться в незнакомых фреймворках и языках, сокращая количество времени, затрачиваемое на чтение документации[3].

Принятие

С момента выпуска Copilot начали возникать опасения по поводу его безопасности и образовательного воздействия, а также разногласия по поводу лицензирования создаваемого им кода[2][10].

Споры о лицензировании

Хотя большая часть кода, выводимого Copilot, может быть классифицирована как преобразующая работа[англ.], в GitHub признают, что небольшая его часть скопирована дословно, что привело к опасениям относительно того факта, что полученный код недостаточно преобразован, чтобы его можно было классифицировать как добросовестное использование, и мог нарушать авторские права первоначального владельца[2]. Данный факт оставляет Copilot на непроверенном правовом основании, хотя GitHub заявляет, что «обучение моделей машинного обучения на общедоступных данных считается добросовестным использованием в сообществе машинного обучения»[2].

Официальные документы FSF

28 июля 2021 года Фонд свободного программного обеспечения (FSF) опубликовал финансируемый призыв к созданию официальных документов по философским и юридическим вопросам, связанным с Copilot[14]. Дональд Робертсон, менеджер по лицензированию и соблюдению требований FSF, заявил, что «Copilot поднимает много [...] вопросов, которые требуют более глубокого изучения»[14]. 24 февраля 2022 года в FSF объявили, что ими было получено 22 статьи по данному вопросу, и с помощью процесса анонимного обзора были выбраны для выделения 5 из них[15].

Вопросы безопасности

В документе, принятом к публикации на симпозиуме Института инженеров электротехники и электроники по безопасности и конфиденциальности в 2022 году, оценивалась безопасность кода, сгенерированного Copilot, для 25 основных уязвимостей кода MITRE (например, межсайтовый скриптинг, обход пути) в 89 различных сценариях и 1 689 программах[16]. Это было сделано по осям разнообразия слабых мест (способности реагировать на сценарии, которые могут привести к различным уязвимостям кода), разнообразия подсказок (способности реагировать на одну и ту же уязвимость кода с небольшими вариациями) и разнообразия доменов (возможности генерировать аппаратные спецификации уровня передачи регистров в Verilog)[16]. Исследование показало, что на разных языках по данным осям 39,33 % наилучших из предложений и 40,73 % от общего числа предложений приводят к созданию уязвимостей в коде. Кроме того, было обнаружено, что небольшие несемантические (вроде комментариев) изменения, внесенные в код, могут повлиять на его безопасность[16].

Вопросы образования

В документе, опубликованном в феврале 2022 года Ассоциацией вычислительной техники, оценивается влияние Codex, технологии, используемой Github Copilot, на обучение начинающих программистов[10]. В исследовании используются оценочные вопросы из вводного класса по программированию в Оклендском университете, и сравниваются ответы Codex с успеваемостью студентов[10]. Исследователи обнаружили, что Codex в среднем показал результаты лучше, в сравнении с большинством учащихся; однако его производительность снизилась на вопросах с ограничением возможностей, которые можно использовать в решении (например, условные операторы, коллекции и циклы)[10]. Учитывая данную проблему, «только 2 из 10 решений [Codex] были верны, но оба [...] нарушили установленные ограничения». В документе делается вывод о том, что Codex может быть полезен для предоставления учащимся разнообразных решений, но также может привести к чрезмерной уверенности и плагиату[10].

Планы на будущее

На своем веб-сайте GitHub заявляет, что если предварительная версия Copilot окажется успешной, они планируют коммерциализировать инструмент в будущем[3]. Кроме того, Microsoft — материнская компания GitHub — заявила о своих планах на будущее по коммерциализации Copilot как части своих продуктов Visual Studio[17].

Смотрите также

Примечания

  1. 1 2 Gershgorn, Dave. GitHub and OpenAI launch a new AI tool that generates its own code. The Verge (29 июня 2021). Дата обращения: 6 июля 2021.Gershgorn, Dave (29 June 2021). "GitHub and OpenAI launch a new AI tool that generates its own code". The Verge. Retrieved 6 July 2021. Ошибка в сносках?: Неверный тег <ref>: название «:0» определено несколько раз для различного содержимого
  2. 1 2 3 4 5 6 GitHub Copilot · Your AI pair programmer. GitHub Copilot. Дата обращения: 7 апреля 2022. Ошибка в сносках?: Неверный тег <ref>: название «:2» определено несколько раз для различного содержимого
  3. Introducing GitHub Copilot: your AI pair programmer (амер. англ.). The GitHub Blog (29 июня 2021). Дата обращения: 7 апреля 2022.
  4. GitHub Copilot - IntelliJ IDEs Plugin | Marketplace. JetBrains Marketplace. Дата обращения: 7 апреля 2022.
  5. https://github.com/github/copilot.vim {{citation}}: |title= пропущен или пуст (справка)
  6. GitHub Copilot now available for Visual Studio 2022 (амер. англ.). The GitHub Blog (29 марта 2022). Дата обращения: 7 апреля 2022.
  7. Krill, Paul. OpenAI offers API for GitHub Copilot AI model (англ.). InfoWorld (12 августа 2021). Дата обращения: 7 апреля 2022.
  8. OpenAI Releases GPT-3, The Largest Model So Far (амер. англ.). Analytics India Magazine (3 июня 2020). Дата обращения: 7 апреля 2022.
  9. 1 2 3 4 5 6 7 Finnie-Ansley, James (2022-02-14). The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming. Australasian Computing Education Conference. Association for Computing Machinery: 10–19. doi:10.1145/3511861.3511863. ISBN 978-1-4503-9643-1. Ошибка в сносках?: Неверный тег <ref>: название «:1» определено несколько раз для различного содержимого
  10. OpenAI is giving Microsoft exclusive access to its GPT-3 language model (англ.). MIT Technology Review. Дата обращения: 7 апреля 2022.
  11. OpenAI Announces 12 Billion Parameter Code-Generation AI Codex (англ.). InfoQ. Дата обращения: 7 апреля 2022.
  12. Sobania, Dominik (2022). A Comprehensive Survey on Program Synthesis with Evolutionary Algorithms. IEEE Transactions on Evolutionary Computation: 1. doi:10.1109/TEVC.2022.3162324. ISSN 1941-0026.
  13. 1 2 FSF-funded call for white papers on philosophical and legal questions around Copilot. Free Software Foundation (28 июля 2021). Дата обращения: 11 августа 2021.
  14. Publication of the FSF-funded white papers on questions around Copilot. Free Software Foundation (24 февраля 2022).
  15. 1 2 3 Заполните автора и заголовок. arXiv:[1].Pearce, Hammond; Ahmad, Baleegh; Tan, Benjamin; Dolan-Gavitt, Brendan; Karri, Ramesh (16 December 2021). "Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions". arXiv:2108.09293 [cs.CR].
  16. Novet, Jordan. Microsoft and OpenAI have a new A.I. tool that will give coding suggestions to software developers (англ.). CNBC (29 июня 2021). Дата обращения: 5 апреля 2022.