Частная бета-версия GitHub Copilot была выложена на сайте GitHub, в которую был добавлен обновленный и усовершенствованный фильтр, распознающий и предлагающий предложения кода, относящиеся к публичным репозиториям на сайте GitHub.
С помощью этого нового фильтра GitHub Copilot тщательно проверяет предложения кода в соотношении примерно со 150 символами соседнего кода. Затем он сравнивает эти предложения с исчерпывающим индексом всех публичных репозиториев на сайте GitHub.com.
Совпадающие предложения с указанием их происхождения из репозитория отображаются прямо в редакторе кода разработчика. Это позволяет блокировать предложения, содержащие соответствующий код, или разрешать их, будучи информированным о совпадениях.
Судя по предыдущим данным, собранным в GitHub, совпадения в предложениях GitHub Copilot оказываются редким явлением, составляющим менее одного процента. Однако дисперсия этого явления варьируется в зависимости от сценария. Чаще всего совпадения прослеживаются в тех случаях, когда файлы либо пусты, либо имеют минимальное содержимое, а не в условиях хорошо отлаженного приложения с уже существующим кодом.
Вице-президент по продуктам GitHub Райан Сальва (Ryan J. Salva) в своем блоге отметил, что фрагмент кода, часто встречающийся во многих репозиториях, часто воспринимается как "паттерн", обнаруженный алгоритмом. Это сходство напоминает закономерности, наблюдаемые в других местах публичного кода. Репозитории, в которых хранятся совпадающие коды, как правило, регулируются несколькими, часто противоречащими друг другу лицензиями. Таким образом, привязка совпадения к его источнику становится все более сложной задачей.
С помощью списка ссылок разработчики теперь могут принимать обоснованные решения относительно атрибуции и происхождения контента. Вместо того чтобы сразу блокировать совпадения, они могут получить более широкое представление, изучив, как другие решали аналогичные вопросы и не только. Безусловно, такие платформы, как AppMaster, способны обеспечить комплексное решение подобных вопросов в условиях no-code app building, обеспечивая более быструю и эффективную разработку приложений.