Skip to main content

Использование программирующего агента GitHub Copilot для улучшения проекта

Найдите и исправите проблемы в проекте с Агент кодирования Copilot.

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

Агент кодирования Copilot доступен с планами GitHub Copilot Pro, GitHub Copilot Pro+, Бизнес GitHub Copilot и GitHub Copilot Enterprise. Агент доступен во всех репозиториях, хранящихся на GitHub, за исключением репозиториев, принадлежащих управляемые учетные записи пользователей и где он был явно отключен.
Sign up for Copilot

Примечание.

Общие сведения о Агент кодирования Copilotсм. в разделе Сведения об агенте программирования GitHub Copilot.

Введение

Современная разработка часто начинается с благих намерений: быстрый скрипт, прототип, возможно, действие для автоматизации одной маленькой задачи. Но по мере развития проектов эти ранние усилия могут становиться хрупкими.

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

В следующих разделах мы рассмотрим:

  • Убедитесь, что проект содержит пользовательские инструкции, которые Copilot может использовать для адаптации ответов под ваш проект.
  • Убедитесь, что есть файл настройки среды для Агент кодирования Copilot, чтобы он мог быстрее приступать к задачам, предварительно установив зависимости вашего проекта.
  • Заставьте Copilot искать улучшения кода, а затем создавать проблемы для этой работы.
  • Делегировать работу по программированию Copilot, назначив её задаче.

1. Проверьте индивидуальные инструкции

  1. Зайдите в свой репозиторий GitHub.

  2. Проверьте, существует ли хотя бы один из следующих пользовательских файлов инструкций:

    • .github/copilot-instructions.md
    • .github/instructions/**/*-instructions.md
    • AGENTS.md
  3. Если существует какой-либо из этих файлов, просмотрите файл и проверьте, что инструкции адекватны и актуальны.

    Для получения дополнительной информации см. раздел «Написание эффективных пользовательских инструкций» в Сведения о настройке ответов GitHub Copilot, а также библиотеку примеров на AUTOTITLE.

  4. Если в репозитории нет пользовательских инструкций, используйте Агент кодирования Copilot для создания .github/copilot-instructions.md файла, следуя инструкциям в Добавление пользовательских инструкций репозитория для GitHub Copilot.

  5. Просмотрите pull request, который создаёт Агент кодирования Copilot. Проверьте, что .github/copilot-instructions.md файл содержит Copilot всю необходимую информацию для работы над этим проектом.

    Файл должен включать:

    • Четкое описание кодовой базы и того, что делает программное обеспечение.
    • Обзор структуры проекта.
    • Правила взносов. Например, как собирать, форматировать, использовать и тестировать кодовую базу, а также какие требования должны быть выполнены перед объединением pull-запросов.
    • Ключевые технические принципы.
  6. Редактируйте файл по мере необходимости.

  7. Нажмите «Готовы для просмотра » внизу вкладки «Conversation» pull-запроса, затем выполните обычный процесс слияния pull request.

2. Проверьте наличие файла настройки среды

          `copilot-setup-steps.yml` Файл рабочего процесса GitHub Actions может помочь Агент кодирования Copilot быстрее приступить к выполнению задач, предварительно установив зависимости, используемые проектом.

Создание этого файла необязательно, но это хорошая идея, если вы регулярно используете Агент кодирования Copilot в репозитории.

  1. В вашем репозитории GitHub проверьте, существует ли следующий файл:

    Text
    .github/workflows/copilot-setup-steps.yml
    

    Совет

    Быстрый способ сделать это — скопировать вышеуказанный путь, перейти на главную страницу вашего репозитория и вставить путь в поле «Перейти к файлу».

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

  3. Если у вас ещё нет файла copilot-setup-steps.yml , выполните следующие шаги, чтобы получить Агент кодирования Copilot и создать его для вас.

  4. В верхней части любой страницы вашего репозитория на сайте GitHub нажмите .

  5. Скопируйте и вставьте следующий запрос в диалог «Агенты»:

    Text
    Analyze this repository to understand the dependencies that need to be installed on the development environment to work on the code in this repository. Using this information, and the details about the `copilot-setup-steps.yml` file that are given in https://docs.github.com/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-environment, add a `.github/workflows/copilot-setup-steps.yml` to this repository. This Actions workflow file should install, in the development environment for Агент кодирования Copilot, all of the dependencies necessary to work on the code in this repository. Make sure that the workflow job is named `copilot-setup-steps`.
    
  6. Нажмите или нажмите Enter.

  7. В списке «Недавние сессии агента» нажмите на новую сессию агента, которая началась.

    Это отображает журнал активности, так как Copilot работают над задачей. Когда Copilot завершится, он сгенерирует сводку того, что он сделал.

  8. Прочитайте резюме, затем нажмите Просмотреть pull request.

  9. По желанию добавьте Copilot как рецензент. Дополнительные сведения см. в разделе Использование проверки кода GitHub Copilot. Дождитесь, пока Copilot добавит комментарии к отзывам, затем внесите любые изменения, которые, по вашему мнению, нужны в ответ на комментарии.

  10. Проверьте pull request самостоятельно, убедившись, что шаги настройки в новом copilot-setup-steps.yml файле правильны.

    Файл рабочего процесса, созданный Copilot, должен содержать on: workflow_dispatch триггер, позволяющий запускать рабочий процесс вручную, и задача должна быть названа copilot-setup-steps так, как показано в этом извлечении:

    on:
      workflow_dispatch:
      push:
        paths:
          - .github/workflows/copilot-setup-steps.yml
      pull_request:
        paths:
          - .github/workflows/copilot-setup-steps.yml
    
    jobs:
      copilot-setup-steps:
        runs-on: ubuntu-latest
    
  11. Внесите необходимые изменения в copilot-setup-steps.yml файл в pull request.

    Вы можете попросить Copilot внести изменения за вас, добавив @copilot комментарий к отзыву. Рассмотрим пример.

    @copilot - comment the file more thoroughly

  12. Нажмите «Готовы для просмотра » внизу вкладки «Conversation» pull-запроса, затем выполните обычный процесс слияния pull request.

  13. Откройте недавно добавленный .github/workflows/copilot-setup-steps.yml файл в вашем репозитории на GitHub.

  14.        **Нажмите «Просмотр работ»** в правом верхнем углу страницы.
    
  15. Нажмите «Запустить рабочий процесс », а затем «Запустить рабочий процесс » в диалоговом диалоге, чтобы протестировать новый рабочий процесс.

  16. Проверьте, что рабочий процесс работает корректно и устанавливает зависимости. Исправьте любые сбои, отредактировав .github/workflows/copilot-setup-steps.yml файл.

3. Пусть Copilot найдёт технический долг

Теперь, когда Copilot имеет правильный контекст и (по желанию) готовую к использованию среду, вы можете использовать её для выявления и приоритетизации технического долга в вашем репозитории.

  1. Нажмите кнопку в следующем поле запроса, чтобы отправить этот запрос на Копилот Чат на GitHub.com.

    Copilot prompt
    What technical debt exists in this project? Give me a prioritized list of up to 5 areas we need to focus on. For each, describe the problem and its consequences.
    
  2. Убедитесь, что Режим Ask выбран.

  3. Используйте выпадающее меню All repositories , чтобы выбрать ваше репозиторие.

  4. Нажмите или нажмите Enter.

  5. Ознакомьтесь с деталями в ответе Copilot.

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

    Copilot prompt
    /create-issue
    
    Create a GitHub issue to address the first of the problem areas that you identified.
    
    If the problem area requires substantial work, create one main issue for the entire problem area and then sub-issues that allow the work to be split up into manageable chunks, which will be tackled in separate pull requests that can be easily reviewed. For a large body of work, do not create a single issue that attempts to address the entire problem.
    
    The issue, or each sub-issue if these are created, must include a description of the problem, a set of acceptance criteria, and pointers on what files need to be added/updated.
    
  7. Отредактируйте этот запрос по необходимости. Например, в зависимости от ответа, который дал Copilot, возможно, стоит заняться другой проблемной областью, которую выявил Copilot, а не первую.

  8. Убедитесь, что режим Ask всё ещё выбран ().

  9. Нажмите или нажмите Enter.

  10. Прочитайте черновик, который генерирует Copilot, редактируйте его по мере необходимости.

  11. Если Copilot создаёт единственный черновик, указывающий на необходимость создания подвыпусков, запросите Copilot сделать это за вас:

    Copilot prompt
    Go ahead and create sub-issues that chunk this work into manageable pieces.
    
  12. Нажмите «Создать» или «Пересмотреть и создать» — в зависимости от количества подготовленных выпусков.

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

4. Получите Copilot для устранения проблемы

Теперь, когда проблемы созданы, следующий шаг — делегировать её на Copilot и просмотреть полученный pull request.

  1. Откройте одну из задач, которую Copilot создал для вас в предыдущем разделе.

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

  3. Внесите любые изменения, которые считаете необходимыми, чтобы точно описать проблему, которую нужно устранить, и ожидаемый результат работы по этой проблеме.

  4. Нажмите Назначить Copilot.

  5. В разделе «Assign Copilot to issue» нажмите Assign.

    Copilot начнёт работать над проблемой. Через несколько минут к выпуску появится ссылка на черновик pull request.

  6. Перейдите по ссылке на черновик pull request.

    После того как Copilot завершит работу над pull-запросом, он удалит «[WIP]» из названия pull request и добавит вас в качестве рецензента.

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

  7. Опционально, после того как Copilot работает несколько минут, вы можете нажать View session на pull request, чтобы увидеть журнал того, что делает Copilot.

  8. По желанию, на вкладке «Conversation» pull-запроса добавьте Copilot как рецензент.

  9. После того как вас добавили в качестве рецензента, самостоятельно проверьте изменения и внесите необходимые изменения.

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

  10. Нажмите «Готовы для просмотра » внизу вкладки «Conversation» pull-запроса, затем выполните обычный процесс слияния pull request.

5. Повторяйте этот процесс

  1. Если Copilot создаёт несколько проблем, повторите раздел 4, присваивая Copilot одной из других проблем.
  2. После закрытия всех задач, созданных Copilot, повторите раздел 3, выберите другую проблемную область и пройдите по разделу 4, чтобы назначить задачи в Copilot и пересмотреть и объединить изменения.

Conclusion

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

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

Дальнейшие шаги

Прочитайте этот кейс-стади в блоге GitHub: Как команда по биллингу GitHub использует агент кодирования в GitHub Copilot для постоянного снижения технического долга.