GitHub Copilot: различия между версиями

Материал из DZWIKI
Перейти к навигации Перейти к поиску
(Новая страница: «{{Заготовка}} == См. также == * IntelliSense == Примечания == {{Примечания}} == Ссылки == {{википедия|Gi...»)
 
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{Заготовка}}
{{Заготовка}}
'''GitHub Copilot''' — инструмент с использованием [[Искусственный интеллект|искусственного интеллекта]], совместно разработанный ''[[GitHub]]'' и ''[[OpenAI]]'' для помощи пользователям таких [[Интегрированная среда разработки|интегрированных сред разработки]] как ''[[Visual Studio Code]]'', ''[[Microsoft Visual Studio|Visual Studio]]'', ''[[Vim|Neovim]]'' и ''[[JetBrains]]'' в автодополнении кода<ref name=":0">{{Cite web
|lang=en
|url=https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code
|title=GitHub and OpenAI launch a new AI tool that generates its own code
|author=Гершгорн, Дэйв
|website=[[The Verge]]
|date=2021-06-29
|access-date=2022-06-13
}}</ref>. Инструмент был впервые анонсирован 29 июня 2021 года и до 21 июня 2022 был доступен только в виде предварительной версии.
Лучше всего он подходит для пользователей, создающих код на ''[[Python]]'', ''[[JavaScript]]'', ''[[TypeScript]]'', ''[[Ruby]]'' и ''[[Go]]''<ref name="Verge legal">{{Cite news
|url=https://www.theverge.com/2021/7/7/22561180/github-copilot-legal-copyright-fair-use-public-code
|title=GitHub's automatic coding tool rests on untested legal ground
|date=2021-07-07
|accessdate=2022-06-13
|website=The Verge
|author=Гершгорн, Дэйв
|lang=en
}}</ref><ref name=":2">{{Cite web
|lang=en
|url=https://copilot.github.com/
|title=GitHub Copilot · Your AI pair programmer
|website=GitHub Copilot
|access-date=2022-06-13
}}</ref>.
== История ==
29 июня 2021 года ''GitHub'' анонсировал ''GitHub Copilot'' в качестве расширения в предварительной версии для Visual Studio Code<ref name="автоссылка1">{{Cite web
|url=https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code
|title=GitHub and OpenAI launch a new AI tool that generates its own code|author=Gershgorn
|first=Dave
|website=[[The Verge]]
|date=29 June 2021
|access-date=6 July 2021
}}</ref>.
26 октября 2021 года данный инструмент был выпущен в виде [[плагин]]а в ''JetBrains Marketplace''<ref>{{Cite web|lang=en|url=https://plugins.jetbrains.com/plugin/17718-github-copilot/versions/stable|title=GitHub Copilot - IntelliJ IDEs Plugin {{!}} Marketplace|website=JetBrains Marketplace|access-date=7 April 2022}}</ref>.
27 октября 2021 года ''GitHub'' выпустил плагин ''GitHub Copilot'' для ''Neovim'' в качестве общедоступного репозитория<ref>{{Cite web|lang=en|url=https://github.com/github/copilot.vim|title=Neovim plugin for GitHub Copilot|website=GitHub|date=2021-10-27}}</ref>.
29 марта 2022 года было официально объявлено о доступности ''Copilot'' для ''Visual Studio 2022''<ref>{{Cite web|lang=en-US|url=https://github.blog/2022-03-29-github-copilot-now-available-for-visual-studio-2022/|title=GitHub Copilot now available for Visual Studio 2022|website=The GitHub Blog|date=29 March 2022|access-date=7 April 2022}}</ref>.
21 июня появилось официальное объявление о выходе ''Copilot'' из предварительного тестирования и доступности его для всех желающих по подписочной системе<ref>{{Cite web
|lang=en
|url=https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/
|title=GitHub Copilot is generally available to all developers|website=The GitHub Blog
|date=2022-06-21
|access-date=2022-06-23
|archive-url  = https://web.archive.org/web/20220711235640/https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/
|archive-date = 2022-07-11
}}</ref><ref>{{Cite web
|lang=en
|url=https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/
|title=Introducing GitHub Copilot: your AI pair programmer
|website=The GitHub Blog
date=2021-06-29
|access-date=2022-06-13
}}</ref><ref>{{cite web
|url          = https://habr.com/ru/post/674658/
|title        = GitHub Copilot
|lang        = ru
|date        = 2022-07-01
|access-date  = 2022-07-12
|website      = Хабр
|archive-url  = https://web.archive.org/web/20220703155003/https://habr.com/ru/post/674658/
|archive-date = 2022-07-03
}}</ref>.
== Принятие ==
С момента выпуска ''Copilot'' начали возникать опасения по поводу его безопасности и образовательного воздействия, а также разногласия по поводу лицензирования создаваемого им кода<ref name="автоссылка3">{{Cite news
|url=https://www.theverge.com/2021/7/7/22561180/github-copilot-legal-copyright-fair-use-public-code
|title=GitHub's automatic coding tool rests on untested legal ground
|date=7 July 2021
|accessdate=11 July 2021
|website=The Verge
}}</ref><ref name="автоссылка4">{{Cite journal
|author=Finnie-Ansley
|first=James
|date=14 February 2022
|title=The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming
|url=https://doi.org/10.1145/3511861.3511863
|journal=Australasian Computing Education Conference|publisher=Association for Computing Machinery
|pages=10–19
|doi=10.1145/3511861.3511863
|isbn=978-1-4503-9643-1
}}</ref>.
=== Споры о лицензировании ===
Хотя большая часть кода, выводимого ''Copilot'', может быть классифицирована как {{Не переведено 3|преобразующая работа|4=Transformative use}}, в ''GitHub'' признают, что небольшая его часть скопирована дословно, что привело к опасениям относительно того факта, что полученный код недостаточно преобразован, чтобы его можно было классифицировать как [[добросовестное использование]], и мог нарушать авторские права первоначального владельца<ref name="Verge legal" />. Данный факт оставляет ''Copilot'' на непроверенном правовом основании, хотя ''GitHub'' заявляет, что «обучение моделей машинного обучения на общедоступных данных считается добросовестным использованием в сообществе машинного обучения»<ref name="автоссылка3" />.
==== Официальные документы FSF ====
28 июля 2021 года [[Фонд свободного программного обеспечения]] (''FSF'') опубликовал финансируемый призыв к созданию официальных [[Белая книга|документов]] по философским и юридическим вопросам, связанным с ''Copilot''<ref name="FSFCall">{{Cite web|url=https://www.fsf.org/blogs/licensing/fsf-funded-call-for-white-papers-on-philosophical-and-legal-questions-around-copilot|title=FSF-funded call for white papers on philosophical and legal questions around Copilot|date=28 July 2021|publisher=Free Software Foundation|access-date=11 August 2021}}</ref>. Дональд Робертсон, менеджер по лицензированию и соблюдению требований ''FSF'', заявил, что «''Copilot'' поднимает много […] вопросов, которые требуют более глубокого изучения»<ref name="FSFCall" />. 24 февраля 2022 года в FSF объявили, что ими было получено 22 статьи по данному вопросу, и с помощью процесса анонимного обзора были выбраны для выделения 5 из них<ref>{{Cite web|lang=en|url=https://www.fsf.org/news/publication-of-the-fsf-funded-white-papers-on-questions-around-copilot|title=Publication of the FSF-funded white papers on questions around Copilot|date=2022-02-24|publisher=Free Software Foundation}}</ref>.
=== Вопросы безопасности ===
В документе, принятом к публикации на симпозиуме [[Институт инженеров электротехники и электроники|Института инженеров электротехники и электроники]] по безопасности и конфиденциальности в 2022 году, оценивалась безопасность кода, сгенерированного Copilot, для 25 основных уязвимостей кода ''[[MITRE]]'' (например, межсайтовый скриптинг, обход пути) в 89 различных сценариях и 1 689 программах<ref name=":4">{{Статья|ссылка=http://arxiv.org/abs/2108.09293|автор=Хаммонд Пирс, Бали Ахмад, Бенджамин Тан, Брендан Долан-Гавитт, Рамеш Карри|заглавие=Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions|год=2021|язык=en|издание=arXiv:2108.09293 [cs]}}</ref>. Это было сделано по осям разнообразия слабых мест (способности реагировать на сценарии, которые могут привести к различным уязвимостям кода), разнообразия подсказок (способности реагировать на одну и ту же уязвимость кода с небольшими вариациями) и разнообразия доменов (возможности генерировать аппаратные спецификации [[Уровень регистровых передач|уровня передачи регистров]] в [[Verilog]])<ref name=":4" />. Исследование показало, что на разных языках по данным осям 39,33 % наилучших из предложений и 40,73 % от общего числа предложений приводят к созданию уязвимостей в коде. Кроме того, было обнаружено, что небольшие несемантические (вроде комментариев) изменения, внесённые в код, могут повлиять на его безопасность<ref name=":4" />.
=== Вопросы образования ===
В документе, опубликованном в феврале 2022 года [[Ассоциация вычислительной техники|Ассоциацией вычислительной техники]], оценивается влияние ''Codex'', технологии, используемой ''Github Copilot'', на обучение начинающих программистов<ref name="автоссылка4" />. В исследовании используются оценочные вопросы из вводного класса по программированию в [[Оклендский университет|Оклендском университете,]] и сравниваются ответы ''Codex'' с успеваемостью студентов<ref name=":1" />. Исследователи обнаружили, что ''Codex'' в среднем показал результаты лучше, в сравнении с большинством учащихся; однако его производительность снизилась на вопросах с ограничением возможностей, которые можно использовать в решении (например, [[Ветвление (программирование)|условные операторы]], [[Коллекция (программирование)|коллекции]] и [[Цикл (программирование)|циклы]])<ref name=":1" />. Учитывая данную проблему, «только 2 из 10 решений [''Codex''] были верны, но оба […] нарушили установленные ограничения». В документе делается вывод о том, что ''Codex'' может быть полезен для предоставления учащимся разнообразных решений, но также может привести к чрезмерной уверенности и плагиату<ref name=":1" />.


== См. также ==
== См. также ==

Текущая версия от 18:50, 12 июля 2022

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

История

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

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

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

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

21 июня появилось официальное объявление о выходе Copilot из предварительного тестирования и доступности его для всех желающих по подписочной системе[8][9][10].

Принятие

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

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

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

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

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

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

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

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

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

См. также

Примечания

  1. Гершгорн, Дэйв. GitHub and OpenAI launch a new AI tool that generates its own code (англ.). The Verge (29 июня 2021). Дата обращения: 13 июня 2022.
  2. GitHub Copilot · Your AI pair programmer (англ.). GitHub Copilot. Дата обращения: 13 июня 2022.
  3. Gershgorn. GitHub and OpenAI launch a new AI tool that generates its own code. The Verge (29 июня 2021). Дата обращения: 6 июля 2021.
  4. GitHub Copilot - IntelliJ IDEs Plugin | Marketplace (англ.). JetBrains Marketplace. Дата обращения: 7 апреля 2022.
  5. Neovim plugin for GitHub Copilot (англ.). GitHub (27 октября 2021).
  6. GitHub Copilot now available for Visual Studio 2022 (амер. англ.). The GitHub Blog (29 марта 2022). Дата обращения: 7 апреля 2022.
  7. GitHub Copilot is generally available to all developers (англ.). The GitHub Blog (21 июня 2022). Дата обращения: 23 июня 2022. Архивировано 11 июля 2022 года.
  8. Introducing GitHub Copilot: your AI pair programmer (англ.). The GitHub Blog date=2021-06-29. Дата обращения: 13 июня 2022.
  9. GitHub Copilot. Хабр (1 июля 2022). Дата обращения: 12 июля 2022. Архивировано 3 июля 2022 года.
  10. 11,0 11,1 GitHub's automatic coding tool rests on untested legal ground. The Verge (7 июля 2021). Дата обращения: 11 июля 2021.
  11. 12,0 12,1 Шаблон:Cite journal
  12. 13,0 13,1 FSF-funded call for white papers on philosophical and legal questions around Copilot. Free Software Foundation (28 июля 2021). Дата обращения: 11 августа 2021.
  13. Publication of the FSF-funded white papers on questions around Copilot (англ.). Free Software Foundation (24 февраля 2022).
  14. 15,0 15,1 15,2 Хаммонд Пирс, Бали Ахмад, Бенджамин Тан, Брендан Долан-Гавитт, Рамеш Карри. Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions (англ.) // arXiv:2108.09293 [cs]. — 2021.
  15. 16,0 16,1 16,2 Ошибка цитирования Неверный тег <ref>; для сносок :1 не указан текст

Ссылки