Skip to main content

GitHub 코필로트 코딩 에이전트를 사용하여 project 개선

Copilot 코딩 도우미을 이용해 프로젝트에서 문제를 찾아 해결합니다.

누가 이 기능을 사용할 수 있나요?

Copilot 코딩 도우미는 GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business,GitHub Copilot Enterprise 플랜과 함께 사용할 수 있습니다. 에이전트는 GitHub에 저장된 모든 리포지토리에서 사용할 수 있습니다. 단, 관리형 사용자 계정가 소유한 리포지토리에서는 에이전트가 명시적으로 비활성화되어 있습니다.
Sign up for Copilot

참고

Copilot 코딩 도우미에 대한 소개는 GitHub 코필로트 코딩 에이전트 정보을(를) 참조하세요.

소개

최신 개발은 종종 좋은 의도로 시작됩니다 : 빠른 스크립트, 프로토 타입, 어쩌면 하나의 작은 것을 자동화하는 작업. 그러나 프로젝트가 발전함에 따라 이러한 초기 노력은 취약해질 수 있습니다.

본 튜토리얼은 속도를 늦추지 않고 운영 중인 프로젝트를 개선하기 위해 Copilot 코딩 도우미를 사용하는 방법을 보여줍니다.

다음 섹션에서는 다음을 수행합니다.

  • Copilot가 프로젝트의 응답을 조정 시 사용할 수 있는 사용자 지정 지침이 프로젝트에 포함되어 있는지 확인합니다.
  • Copilot 코딩 도우미에 대한 환경 설정 파일이 있어야만 프로젝트의 종속성을 미리 설치해 작업을 더 빠르게 시작할 수 있습니다.
  • Copilot를 가져와 코드를 개선할 수 있는 방법을 확인하고, 해당 작업에 대한 문제 항목을 생성하세요.
  • 문제 항목에 할당하여 Copilot에게 코딩 작업을 위임합니다.

1. 사용자 지정 지침 확인

  1. GitHub의 리포지토리로 이동합니다.

  2. 다음 사용자 지정 지침 파일 중 하나 이상이 있는지 확인합니다.

    • .github/copilot-instructions.md
    • .github/instructions/**/*-instructions.md
    • AGENTS.md
  3. 이러한 파일이 있는 경우 파일을 보고 지침이 적절하고 최신 상태인지 확인합니다.

    자세한 내용은 GitHub Copilot 응답을 사용자 지정하는 방법에 대한 정보의 "효과적인 사용자 지정 지침 작성" 섹션과 사용자 지정 지침의 예제 라이브러리를 참조하세요.

  4. 리포지토리에 사용자 지정 지침 파일이 없는 경우 Copilot 코딩 도우미를 사용하여 .github/copilot-instructions.md의 지침에 따라 파일을 만듭니다.

  5. Copilot 코딩 도우미이 생성한 풀 리퀘스트를 검토합니다. 이 프로젝트에서 작업하는 데 Copilot가 알아야 할 모든 정보를 .github/copilot-instructions.md 파일이 제공하는지 확인합니다.

    파일에는 다음이 포함되어야 합니다.

    • 코드베이스 및 소프트웨어의 수행 사항에 대한 명확한 요약입니다.
    • project 구조 개요입니다.
    • 기여 지침. 예를 들어 코드베이스를 빌드하고, 형식 지정하고, 린트하고, 테스트하는 방법과 풀 요청을 병합하기 전에 충족해야 하는 요구 사항.
    • 주요 기술 원칙.
  6. 필요에 따라 파일을 편집합니다.

  7. 끌어오기 요청의 "대화" 탭 아래쪽에서 검토할 준비를 클릭한 다음 끌어오기 요청을 병합하는 일반적인 프로세스를 완료합니다.

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.        **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-paper-airplane" aria-label="paper airplane icon" role="img"><path d="M.989 8 .064 2.68a1.342 1.342 0 0 1 1.85-1.462l13.402 5.744a1.13 1.13 0 0 1 0 2.076L1.913 14.782a1.343 1.343 0 0 1-1.85-1.463L.99 8Zm.603-5.288L2.38 7.25h4.87a.75.75 0 0 1 0 1.5H2.38l-.788 4.538L13.929 8Z"></path></svg>를** 클릭하거나 <kbd>Enter</kbd> 키를 누릅니다.
    
  7. "최근 에이전트 세션" 목록에서 시작된 새 에이전트 세션을 클릭합니다.

    Copilot가 작업을 수행하면서 활동 로그가 표시됩니다. Copilot이(가) 완료되면 완료된 작업에 대한 요약이 생성됩니다.

  8. 요약을 읽고 풀 요청 보기를 클릭합니다.

  9. 필요에 따라서 Copilot을(를) 검토자로 추가할 수 있습니다. 자세한 내용은 GitHub Copilot 코드 검토 사용을(를) 참조하세요. Copilot이(가) 검토 주석을 추가할 때까지 기다린 다음, 메모에 대한 응답으로 필요하다고 생각되는 내용을 변경합니다.

  10. 끌어오기 요청을 직접 검토하여 새 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 파일에 필요한 내용을 변경합니다.

           `@copilot`을 사용하여 검토 주석에서 원하는 변경 사항을 Copilot에 요청할 수 있습니다. 다음은 그 예입니다.
    

    @copilot - comment the file more thoroughly

  12. 끌어오기 요청의 "대화" 탭 아래쪽에서 검토할 준비를 클릭한 다음 끌어오기 요청을 병합하는 일반적인 프로세스를 완료합니다.

  13. GitHub의 리포지토리에서 새로 추가된 .github/workflows/copilot-setup-steps.yml 파일을 엽니다.

  14. 페이지 위 오른쪽의 실행 보기를 클릭하십시오.

  15.        **워크플로 실행을** 클릭한 다음 대화 상자에서 **워크플로를 실행**하여 새 워크플로를 테스트합니다.
    
  16. 워크플로가 올바르게 실행되고 종속성을 설치했는지 확인합니다. .github/workflows/copilot-setup-steps.yml 파일을 편집하여 오류를 수정합니다.

3. Copilot가 기술 부채를 식별하도록 합니다.

이제 Copilot에 올바른 컨텍스트가 있고 (선택적) 즉시 사용할 수 있는 환경이 있으므로 리포지토리에서 기술 부채를 드러내고 우선순위를 정하는 데 사용할 수 있습니다.

  1. 다음 프롬프트 상자에서 버튼을 클릭하여 해당 프롬프트를 Copilot 채팅 on 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.        **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-comment" aria-label="comment" role="img"><path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> Ask** 모드가 선택되어 있는지 확인합니다.
    
  3.        **옥티콘 "globe" aria-hidden="true" aria-label="globe" %} 모든 저장소** 드롭다운을 사용하여 저장소를 선택합니다.
    
  4.        **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-paper-airplane" aria-label="paper airplane icon" role="img"><path d="M.989 8 .064 2.68a1.342 1.342 0 0 1 1.85-1.462l13.402 5.744a1.13 1.13 0 0 1 0 2.076L1.913 14.782a1.343 1.343 0 0 1-1.85-1.463L.99 8Zm.603-5.288L2.38 7.25h4.87a.75.75 0 0 1 0 1.5H2.38l-.788 4.538L13.929 8Z"></path></svg>를** 클릭하거나 <kbd>Enter</kbd> 키를 누릅니다.
    
  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.        **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-paper-airplane" aria-label="paper airplane icon" role="img"><path d="M.989 8 .064 2.68a1.342 1.342 0 0 1 1.85-1.462l13.402 5.744a1.13 1.13 0 0 1 0 2.076L1.913 14.782a1.343 1.343 0 0 1-1.85-1.463L.99 8Zm.603-5.288L2.38 7.25h4.87a.75.75 0 0 1 0 1.5H2.38l-.788 4.538L13.929 8Z"></path></svg>를** 클릭하거나 <kbd>Enter</kbd> 키를 누릅니다.
    
  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에 문제를 위임하고 결과 끌어오기 요청을 검토하는 것입니다.

  1. 이전 섹션에서 Copilot가 생성한 문제 항목 중 하나를 엽니다.

  2. Copilot가 작업이 완료되었음을 확인하는 데 사용할 수 있는 승인 조건이 문제 항목에 포함되어 있는지 확인합니다.

  3. 수정해야 하는 문제와 이 문제에 대한 작업의 예상 결과를 정확하게 설명하는 데 필요하다고 생각되는 변경을 수행합니다.

  4.        **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-agent" aria-label="agent icon" role="img"><path d="M14.5 8.9v-.052A2.956 2.956 0 0 0 11.542 5.9a.815.815 0 0 1-.751-.501l-.145-.348A3.496 3.496 0 0 0 7.421 2.9h-.206a3.754 3.754 0 0 0-3.736 4.118l.011.121a.822.822 0 0 1-.619.879A1.81 1.81 0 0 0 1.5 9.773v.14c0 1.097.89 1.987 1.987 1.987H4.5a.75.75 0 0 1 0 1.5H3.487A3.487 3.487 0 0 1 0 9.913v-.14C0 8.449.785 7.274 1.963 6.75A5.253 5.253 0 0 1 7.215 1.4h.206a4.992 4.992 0 0 1 4.586 3.024A4.455 4.455 0 0 1 16 8.848V8.9a.75.75 0 0 1-1.5 0Z"></path><path d="m8.38 7.67 2.25 2.25a.749.749 0 0 1 0 1.061L8.38 13.23a.749.749 0 1 1-1.06-1.06l1.719-1.72L7.32 8.731A.75.75 0 0 1 8.38 7.67ZM15 13.45h-3a.75.75 0 0 1 0-1.5h3a.75.75 0 0 1 0 1.5Z"></path></svg> Copilot에 할당하기**를 클릭합니다.
    
  5. "이슈에 Copilot 할당"에서 할당을 클릭합니다.

    Copilot가 문제 항목에 작업을 시작합니다. 잠시 후 초안 끌어오기 요청에 대한 링크가 문제에 추가됩니다.

  6. 초안 끌어오기 요청에 대한 링크를 클릭합니다.

    Copilot이(가) 끌어오기 요청 작업을 완료하면, "[WIP]"가 끌어오기 요청 제목에서 제거되고, 당신이 검토자로 추가됩니다.

    Copilot가 풀 요청 작업을 비동기식으로 작업한 후 검토자로 추가되면 풀 리퀘스트를 검토하기 위해 돌아오도록 할 수 있습니다.

  7. 부가적으로, Copilot가 몇 분 동안 작동한 후 풀 리퀘스트의 세션 보기를 클릭하여 Copilot가 수행 중인 작업의 로그를 볼 수 있습니다.

  8. 풀 요청의 "Conversation" 탭에서 Copilot를 검토자로 추가하는 선택도 있습니다.

  9. 검토자로 추가된 후 변경 내용을 직접 검토하고 필요한 내용을 변경합니다.

           `@copilot`을 사용하여 검토 주석에서 원하는 변경 사항을 Copilot에 요청할 수 있습니다.
    
  10. 끌어오기 요청의 "대화" 탭 아래쪽에서 검토할 준비를 클릭한 다음 끌어오기 요청을 병합하는 일반적인 프로세스를 완료합니다.

5. 이 프로세스를 반복합니다.

  1. Copilot가 여러 이슈를 만든 경우, 섹션 4를 반복하여 Copilot를 다른 이슈 중 하나에 할당합니다.
  2. Copilot에서 만든 모든 문제를 닫은 후, 섹션 3의 과정을 반복하여 다른 문제 영역을 선택하고, 섹션 4의 과정을 반복하여 Copilot에 문제를 할당한 후 변경 사항을 검토하고 병합합니다.

결론

Copilot 코딩 도우미는 모든 프로젝트의 코드 품질을 개선하는 데 도움을 줄 수 있으며, 특히 수개월 또는 수년 동안 자연스럽게 성장한 프로젝트의 기술적 부채를 줄이는 데 유용합니다. Copilot 코딩 도우미를 사용하면 AI 도우미가 대신 작업해주지 않았다면 시간을 내기 어려웠을 개선 사항을 적용할 수 있습니다.

Copilot은(는) 개발자로서 여러분을 대체하지 않습니다. 이 프로세스의 모든 단계에서 {% 데이터 variables.product.prodname_copilot_short %}에게 원하는 작업을 명확히 지정하고, 변경하거나 추가하는 코드를 신중하게 검토해야 하지만, 다른 중요한 작업을 수행하면서 동시에 개선 사항을 구현할 수 있습니다.

다음 단계

GitHub 블로그에 대한 이 사례 연구를 읽어보세요. GitHub 청구 팀이 GitHub Copilot의 코딩 에이전트를 사용하여 기술 부채를 지속적으로 소실시키는 방법.