GitHub의 AI 에이전트 정보
엔터프라이즈의 개발자는 AI를 페어 프로그래밍 도구로 사용하는 데 익숙할 수 있습니다. 이 모델에서 개발자는 프로젝트의 개발 단계에서 코드 제안을 받으며 AI 도우미와 동기적으로 작업하게 됩니다.
AI 에이전트는 동료 프로그래머와 더 유사합니다. 에이전트는 다음과 같은 기능을 수행할 수 있습니다.
- 비동기 작업(예, 테스트 실행 또는 백로그에서 이슈 해결 등)을 사람의 개입 없이 자동으로 수행합니다.
- 릴리스 후, 아이디어 구상 또는 최적화 등 개발 단계 이외 워크플로에도 기여합니다.
에이전트와 협업하면 직원들이 높은 수준의 계획과 같은 다른 우선 순위에 더 집중할 수 있으며, 자연어 프롬프트에 더 많은 기능을 제공함으로써 비개발자 역할에도 AI의 이점을 제공할 수 있습니다.
GitHub Copilot의 에이전트 AI 기능은 GitHub의 응집력 있는 플랫폼에 통합되어, 여러 타사 도구 채택보다 훨씬 간소화된 사용자 환경, 라이선싱, 거버넌스 제어를 제공합니다.
예제 시나리오
Mona's라는 부티크 우산 소매업체의 엔지니어링 매니저가 되었다고 상상해 보세요. 회사의 온라인 스토어에 AI 기반 위젯을 추가하는 임무를 팀에서 맡게 되었습니다. 이 위젯은 사용자의 위치와 현지 날씨 추세 등의 요인을 기반으로 맞춤형 추천을 제공하여 고객이 적합한 우산을 선택할 수 있도록 도움을 주는 기능입니다.
촉박한 마감일에 맞추기 위해 팀의 개발자와 비개발자 모두가 프로세스의 각 단계를 가속화하는 것을 목표로 합니다. 또한 새 기능이 출시된 이후에도 팀이 유지 관리 작업을 진행하는 데 과부하가 걸리지 않도록 해야 합니다.
참고 항목
GitHub는 AI 기반 플랫폼을 지속적으로 확장하고 있습니다. 이 문서에 설명된 기능 중 일부는 공개 미리 보기 단계일 수 있으며, 기본적으로 엔터프라이즈에서는 사용하지 못할 수도 있습니다. 각 기능별 리소스는 에이전트 AI 시작하기 섹션에서 확인할 수 있습니다.
1. Copilot 채팅으로 계획하기
-
계획을 시작하려면, 제품 관리자는
https://github.com/copilot
에서 Copilot 채팅 과 협업하여 진행해야 합니다.새로운 기능에 필요한 개발 작업을 파악하기 위해 Copilot이라는 개략적인 질문을 던졌습니다. 프로젝트와 관련된 중요한 컨텍스트를 Copilot에 제공하기 위해 모형 파일을 업로드하고 코드베이스가 저장된 리포지토리에 연결합니다.
-
PM이 Copilot과 협업하여 필요한 작업에 대한 개요를 파악한 후, Copilot에게 각 작업의 항목에 대한 이슈를 생성해 달라고 요청합니다.
Copilot은 몰입형 보기에서 이슈 초안을 작성하고, PM은 이를 다듬어 리포지토리에 게시하게 됩니다.
PM은 일부 이슈를 있으면 좋은 기능 또는 유지 보수로 표시합니다. 이러한 이슈는 Copilot 코딩 에이전트에 적합한 후보가 될 수 있습니다.
-
개발자가 빠르게 시작할 수 있도록 돕기 위해 PM은
https://github.com/copilot/spaces
에서 Copilot Spaces 를 통해 공간을 만듭니다. PM은 다이어그램 및 코드 파일에 대한 참조 등의 리소스를 수집하고, 몇 가지 테스트 질문을 제출한 다음, 해당 조직과 공간을 공유합니다.이제 개발자는 공간에서 질문을 할 수 있으며, Copilot에는 PM이 추가한 모든 컨텍스트가 이미 포함되어 있습니다.
2. GitHub Models 및 에이전트 모드를 이용하여 만들기
-
PM은 모델의 가격과 효율성을 기반으로 맞춤형 우산 추천을 제공할 최적의 AI 모델을 찾는 것부터 시작하도록 요청합니다.
-
개발자는 Copilot 채팅 에게 해당 작업에 적합한 여러 AI 모델을 추천하고 각 모델의 장단점을 설명해 달라고 요청했습니다. 유용한 컨텍스트를 제공하기 위해, 작업에 적합한 AI 모델 선택 GitHub Docs 문서의 정보를 참고하기를 Copilot에게 요청합니다.
-
최종 목록에서 하나의 모델을 선택하기 위해, 개발자는 GitHub Models 플레이그라운드를 사용하여 여러 모델 중 동일한 프롬프트의 결과를 비교합니다. 각 모델에 대해 API 키를 별도로 설정하지 않고, 단일 플랫폼에서 모델을 테스트하여 시간을 절약합니다.
-
모델이 결정되면, 개발자는 VS Code 에서 코드를 엽니다.
-
개발자는 새로운 위젯을 위한 코드를 작성하기 시작합니다. 작업 속도를 높이기 위해, Copilot 채팅 을 "Ask" 및 "Edit" 모드로 사용하여 구문 관련 질문과 높은 수준의 제안을 제공합니다.
팁
개발자는 AI를 활용하여 자신에게 가장 적합한 방식으로 작업하지만 조직에서 환경을 관리할 수 있습니다. 이렇게 시작할 수 있는 작업의 예는 다음과 같습니다.
- 개발자가 개발 작업에 사용할 수 있는 모델을 제어하여 규정 준수 요구 사항을 충족하고 비용을 관리합니다.
- Copilot 채팅의 범위에서 특정 파일을 제외합니다.
- GitHub Models에서 테스트된 효과적인 프롬프트를 저장하여 다른 사용자도 혜택을 누릴 수 있도록 합니다.
-
개발자가 일부 코드를 작성한 후, 에이전트 모드로 전환하여 Copilot에게 코드를 여러 개의 다른 함수로 리팩토링하여 가독성을 높여 달라고 요청합니다.
에이전트 모드에서 Copilot은 더 자율적으로 작업하며, 여러 파일을 업데이트하고, 개발자의 승인을 받아 작업 명령(예: 종속성 설치, 테스트 실행 등)을 실행할 수 있습니다.
팁
리포지토리에 사용자 지정 지침 파일을 추가하여 보다 일관된 환경을 만들 수 있습니다. 예를 들어, 해당 파일은 에이전트 모드가 확립된 명명 규칙을 준수하고, 조직의 표준에 따라 코드를 빌드하고, 테스트하고, Lint하기 위해 올바른 명령을 실행하는지 확인하는 데 도움이 될 수 있습니다.
-
개발자는 에이전트 작업의 결과를 검토하고 어떤 코드를 유지할지 선택합니다.
3. MCP 서버로 테스트하기
-
코드가 완료되면 개발자는 자동화된 브라우저 내 테스트 서비스인 Playwright를 사용하여 사이트의 로컬 빌드에서 테스트를 실행하려고 합니다.
- 리포지토리 관리자가 Playwright를 위해 MCP(모델 컨텍스트 프로토콜) 서버를 추가했습니다. 이를 통해 Copilot 에이전트는 Playwright와 통합할 수 있는 미리 정의된 인터페이스를 제공받게 됩니다.
- 개발자는 Copilot에게 테스트 시나리오를
.feature
파일에 간략하게 설명해 달라고 요청한 다음, Copilot에게 브라우저에서 테스트를 실행하도록 지시합니다. - 에이전트 모드에서 Copilot은 브라우저를 열고 UI의 다양한 요소를 클릭하면서 개발자에게 작업을 승인하도록 요청합니다. 개발자가 브라우저에서 테스트를 지켜보는 동안 Copilot은 실패한 테스트를 식별하고 코드 수정을 제안합니다.
-
테스트 결과에 만족하면, 개발자는 GitHub에 작업을 위한 끌어오기 요청을 열어달라고 에이전트 모드에 요청합니다.
팁
GitHub MCP 서버가 활성화된 경우, Copilot은 제목과 설명이 이미 입력된 상태로 VS Code에서 바로 끌어오기 요청을 여는 명령을 실행할 수 있습니다.
4. Copilot 코드 검토로 검토하기
- 리포지토리 소유자가 리포지토리에서 Copilot을 사용하여 자동 코드 검토를 구성했습니다. Copilot은 끌어오기 요청에 대한 초기 검토를 제공하며, 인간 검토자가 끌어오기 요청을 확인하기 전에 개발자가 수정할 수 있는 버그와 잠재적인 성능 문제를 식별합니다.
- 개발자의 동료가 끌어오기 요청을 검토하고 승인합니다. 작업을 병합할 준비가 완료되었습니다.
5. Copilot 코딩 에이전트로 최적화하기
-
릴리스 후, 제품 관리자는 고객 피드백을 수집하고, 날씨 데이터에 대한 보다 신뢰할 수 있는 API로 전환하여 위젯의 추천 기능을 개선할 기회를 파악합니다. 이 변경 내용을 구현하기 위해 이슈를 생성하고, GitHub에서 직접 Copilot에게 할당합니다.
-
Copilot 코딩 에이전트는 백그라운드에서 작동하며, 제품 관리자가 검토할 준비가 완료되었다고 표시하는 끌어오기 요청을 엽니다.
-
개발자가 Copilot의 끌어오기 요청을 검토하고 피드백을 남기면 Copilot에 반영됩니다. 마지막으로 개발자는 끌어오기 요청을 병합합니다.
팁
Copilot 코딩 에이전트에는 기본 가드레일이 포함되어 있습니다. 예를 들어, Copilot은 자체적으로 끌어오기 요청을 병합할 수 없습니다. 리포지토리 규칙 집합을 사용하여 대상 분기에 대한 추가 보호 기능을 정의할 수 있습니다.
-
나중에 별도의 기능을 개발하는 동안 개발자는 AI 위젯의 코드에서 작은 버그를 발견합니다. 컨텍스트 전환을 방지하기 위해 개발자는 VS Code에서 직접 끌어오기 요청을 열도록 Copilot에게 지시합니다.
@github Create a PR for the widget function to correctly validate that the user's age is a positive integer.
-
Copilot은 백그라운드에서 작동하며 GitHub에서 끌어오기 요청을 열어 다른 개발자가 검토할 수 있도록 준비합니다.
6. Copilot Autofix로 보안 강화
-
관리자가 리포지토리에서 code scanning을 활성화했으며, code scanning 경고는 코드에 잠재적인 취약성이 있음을 나타냅니다.
-
보안 관리자는 Copilot Autofix 에게 취약성의 수정 사항을 자동으로 제안하도록 요청하고, 개발자는 이를 검토하여 승인합니다.
에이전트 기반 AI 시작
이 문서에 언급된 기능을 시작하려면 다음 표의 링크를 사용합니다.
에이전트 AI 기능을 업무 흐름에 효과적으로 통합하려면 효과적인 교육, 거버넌스, 문화적 변화에 투자해야 합니다. 대규모 출시에 앞서 피드백을 수집하기 위해 교차 기능 집단을 대상으로 에이전트 기능을 실험해 보는 것이 좋습니다.
참고 항목
이러한 기능 중 일부는 프리미엄 요청을 사용할 수 있습니다. 프리미엄 요청 정보을(를) 참조하세요.
기능 | 자세한 정보 |
---|---|
Copilot 채팅의 몰입형 보기 | GitHub에서 GitHub Copilot에 질문하기 |
Copilot Spaces(공개 미리 보기) | Copilot Spaces를 활용한 컨텍스트 구성 및 공유 정보 |
Copilot 채팅 에이전트 모드 | VS Code에서 에이전트 모드 사용 |
콘텐츠 제외 | GitHub Copilot에서 콘텐츠 제외 |
MCP 서버(공개 미리 보기) | MCP(모델 컨텍스트 프로토콜)를 사용하여 Copilot Chat 확장 |
GitHub Models 플레이그라운드(공개 미리 보기) | AI 모델을 사용하여 프로토타이핑 |
사용자 지정 지침 | GitHub Copilot에 대한 리포지토리 사용자 지정 지침 추가 |
Copilot 코드 검토 | Copilot에서 자동 코드 검토 구성 |
Copilot 코딩 에이전트(공개 미리 보기) | 조직에서 Copilot 코딩 에이전트를 효과적으로 사용 |
Copilot Autofix | 코드 스캔을 위한 기본 설정 구성 |