Skip to main content

Ответственное использование GitHub Copilot CLI

Узнайте, как использовать GitHub Copilot CLI ответственно, понимая свои цели, возможности и ограничения.

Кто может использовать эту функцию?

GitHub Copilot CLI доступен для планов GitHub Copilot Pro, GitHub Copilot Pro+, Бизнес GitHub Copilot и GitHub Copilot Enterprise планов.

Если вы получаете Copilot из организации, политика Интерфейс командной строки Copilot должна быть включена в параметрах организации.

Примечание.

GitHub Copilot CLI находится в Общедоступная предварительная версия сзащитой данных и может быть изменен.

О GitHub Copilot CLI

GitHub Copilot CLI предоставляет интерфейс, похожий на чат, в терминале, который может автономно создавать и изменять файлы на вашем компьютере и выполнять команды. Вы можете попросить Copilot выполнить любое действие с файлами в Active Directory.

GitHub Copilot CLI могут генерировать индивидуальные изменения на основе вашего описания и конфигураций, включая такие задачи, как исправление ошибок, внедрение инкрементных новых функций, прототипирование, документация и обслуживание кодовой базы.

Во время работы над вашей задачей агент Copilot имеет доступ к локальной среде терминала, где он может вносить изменения в ваш код, выполнять автоматические тесты, запускать линтеры и выполнять команды, доступные в вашей среде.

Агент был оценен на различных языках программирования с английским языком в качестве основного поддерживаемого языка.

Агент работает, используя комбинацию обработки естественного языка и машинного обучения, чтобы понять вашу задачу и внести изменения в базу кода для ее выполнения. Этот процесс можно разбить на несколько шагов.

Обработка входных данных

Запрос на ввод от пользователя объединяется с другой релевантной контекстуальной информацией для формирования запроса. Этот запрос отправляется в большую языковую модель для обработки. Входные данные могут быть в форме простого естественного языка, фрагментов кода или ссылок на файлы в терминале.

Анализ языковой модели

Затем запрос передается через большую языковую модель, которая является нейронной сетью, которая была обучена на большом теле данных. Языковая модель анализирует запрос ввода, чтобы помочь агенту по причине задачи и использовать необходимые средства.

Создание ответов

Языковая модель создает ответ на основе его анализа запроса. Этот ответ может принимать форму предложений на естественном языке, предложений кода, изменений файлов и выполнения команд.

Форматирование вывода

Ответ, сгенерированный агентом, будет отформатирован и представлен вам. GitHub Copilot CLI использует подсветку синтаксиса, отступы и другие функции форматирования для внесения ясности в сгенерированный ответ.

Агент также может захотеть выполнять команды в локальной среде и создавать, редактировать или удалять файлы в файловой системе для выполнения задачи.

Вы можете оставить отзыв оператору после того, как он ответит в окне интерактивного чата. Затем агент повторит отправку обратной связи в языковую модель для дальнейшего анализа. Как только агент внесет изменения на основе обратной связи, он вернет дополнительный ответ.

Copilot предназначен для предоставления наиболее подходящего решения для решения задач. Однако он может не всегда предоставлять ответ, который вы ищете. Вы несете ответственность за проверку и проверку ответов, созданных Copilot для обеспечения их точности и соответствия требованиям. Дополнительные сведения см. в разделеУлучшение результатов из GitHub Copilot CLI далее в этой статье.

Варианты использования для GitHub Copilot CLI

Вы можете делегировать задачу Copilot в различных сценариях, включая, но не ограничивается:

  • Обслуживание кодовой базы: Работа над исправлениями, связанными с безопасностью, обновлениями зависимостей и целевым рефакторингом.
  • Документация: Обновление и создание новой документации.
  • Разработка функций: Реализация инкрементных запросов функций.
  • Улучшение охвата тестами: Разработка дополнительных тестовых наборов для управления качеством.
  • Прототипирование новых проектов: Создание новых концепций.
  • Настройка среды: Выполнение команд в терминале для настройки локальной среды для работы над существующими проектами
  • Найдите нужную команду для выполнения задачи: Copilot может предоставить предложения по командам для выполнения задач, которые вы пытаетесь выполнить.
  • Объясните незнакомую команду: Copilot может предоставить описание функциональности и назначения команды на естественном языке.

Улучшение результатов из GitHub Copilot CLI

GitHub Copilot CLI может поддерживать широкий спектр задач. Чтобы улучшить получаемые ответы и устранить некоторые ограничения агента, вы можете принять различные меры.

Дополнительные сведения об ограничениях см. в разделеОграничения GitHub Copilot CLI далее в этой статье.

Убедитесь, что задачи хорошо ограничены

GitHub Copilot CLI использует ваше приглашение в качестве ключевого контекста при создании запроса на вытягивание. Чем более четко и хорошо ограничен запрос, назначенный агенту, тем лучше результаты вы получите. Идеальная проблема включает в себя:

  • Четкое описание проблемы, необходимой для решения или необходимой работы.
  • Полные критерии принятия решений о том, как выглядит хорошее решение (например, должны быть модульные тесты?).
  • Подсказки или указатели на изменения файлов.

Настройка взаимодействия с дополнительным контекстом

GitHub Copilot CLI использует вашу подсказку, комментарии и код репозитория в качестве контекста при создании предлагаемых изменений. Чтобы повысить производительность Copilot, рассмотрите возможность реализации пользовательских инструкций Copilot, чтобы помочь агенту лучше понять ваш проект и способы создания, тестирования и проверки его изменений. Дополнительные сведения см. в разделе "Добавление пользовательских инструкций в репозиторий" вРекомендации по использованию GitHub Copilot для работы над задачами.

Использование GitHub Copilot CLI в качестве средства, а не замены

Хотя GitHub Copilot CLI может быть мощным инструментом для генерации кода и документации, важно использовать его как инструмент, а не как замену человеческого программирования. Вы всегда должны просматривать и проверять команды, сгенерированные GitHub Copilot CLI, чтобы убедиться, что они соответствуют вашим требованиям и не содержат ошибок или проблем с безопасностью.

Использование безопасных методов написания кода и проверки кода

Хотя GitHub Copilot CLI может генерировать синтаксически правильный код, он не всегда может быть безопасным. Рекомендуется всегда следовать рекомендациям по безопасному кодированию, таким как предотвращение жестко закодированных паролей или уязвимостей внедрения SQL, а также соблюдение рекомендаций по проверке кода для решения ограничений агента. Вы всегда должны принимать те же меры предосторожности, что и любой код, который вы пишете, который использует материал, который вы не исходили независимо, включая меры предосторожности, чтобы обеспечить его пригодность. К ним относятся строгое тестирование, сканирование IP-адресов и проверка уязвимостей системы безопасности.

Предоставьте отзыв

Если у вас возникнут какие-либо проблемы или ограничения с GitHub Copilot CLI, мы рекомендуем вам отправить отзыв с помощью/feedback команды.

Меры безопасности для GitHub Copilot CLI

Ограничение имеет доступ только к файлам и папкам в каталоге и ниже, из которого был вызван GitHub Copilot CLI. Убедитесь, что вы доверяете файлам в этом каталоге. Если Copilot захочет получить доступ к файлам за пределами текущего каталога, он запросит разрешение. Предоставьте ему разрешение только в том случае, если вы доверяете содержимому этого каталога.

Copilot запросит разрешение перед изменением файлов. Прежде чем предоставлять разрешение, убедитесь, что он изменяет правильные файлы.

Copilot также будет запрашивать разрешение перед выполнением команд, которые могут быть опасными. Внимательно просмотрите эти команды, прежде чем дать разрешение на запуск.

Дополнительные сведения о методах обеспечения безопасности при использовании GitHub Copilot CLI см. в разделе "Соображения безопасности" вAUTOTITLE.

Ограничения GitHub Copilot CLI

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

Ограниченная область

Языковая модель, используемая GitHub Copilot CLI, была обучена на большом объеме кода, но все еще имеет ограниченную область применения и может быть не в состоянии обрабатывать определенные структуры кода или непонятные языки программирования. Для каждого языка качество получаемых предложений может зависеть от объема и разнообразия обучающих данных для этого языка.

Потенциальные смещения

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

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

GitHub Copilot CLI генерирует код и естественный язык на основе контекста проблемы или комментария в репозитории, который потенциально может раскрыть конфиденциальную информацию или уязвимости при неосторожном использовании. Перед слиянием следует внимательно просмотреть все выходные данные, сгенерированные GitHub Copilot CLI.

Неточный код

GitHub Copilot CLI может генерировать код, который кажется допустимым, но на самом деле может быть неправильным семантически или синтаксически правильным или может неточно отражать намерения разработчика.

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

Общедоступный код

GitHub Copilot CLI может генерировать код, который совпадает или почти совпадает с общедоступным кодом, даже если для политики "Предложения, соответствующие общедоступному коду" установлено значение "Блокировать". См. раздел AUTOTITLE.

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

Управление рисками и подотчетность пользователей в выполнении команд

Требуется дополнительная осторожность при запросе или разрешении GitHub Copilot CLI выполнить команду, особенно в отношении потенциальной разрушительности некоторых предлагаемых команд. Вы можете столкнуться с командами для удаления файлов или форматирования жесткого диска, что может вызвать проблемы при неправильном использовании. Хотя такие команды могут потребоваться в определенных сценариях, необходимо быть осторожным при принятии и выполнении этих команд.

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

Дополнительные материалы