GitHub Copilot 코딩 에이전트로 백로그를 마무리하세요
GitHub의 엔지니어들은 GitHub Copilot 코딩 에이전트를 1년 넘게 사용해 왔으며, 개발자의 실시간 시간과 에너지를 절약하는 데 도움이 될 수 있는 방법을 경험을 통해 연구했습니다. 우리는 작업을 통해 다음을 의미하는 편리한 약어인 WRAP을 개발했습니다.
- W – 효과적인 이슈 작성
- R – 지침을 구체화하세요
- A – 원자적 작업
- P – 코딩 에이전트와 페어링
WRAP은 코딩 에이전트를 최대한 활용하는 데 도움이 됩니다. 예를 들어, 우선순위를 정하기 어려운 문제로 가득 찬 백로그가 있을 수 있습니다. 아마도 새로운 기능을 출시하기 위해 일부 기술 부채 개선을 추진해야 했을 수도 있습니다. 아니면 개발 시간을 고객 버그 수정과 더 큰 열정의 프로젝트로 분할했을 수도 있습니다. WRAP은 코딩 에이전트를 사용하여 과거에는 시간이 없었을 수 있는 작업을 처리함으로써 신속하게 작업 속도를 높일 수 있도록 도와줍니다.
효과적인 이슈 작성
WRAP의 첫 번째 단계는 GitHub Copilot 코딩 에이전트에 할당할 효과적인 이슈를 작성하고 있는지 확인하는 것입니다. 본질적으로, 새로운 팀원에게 하는 것처럼 에이전트에 대한 컨텍스트를 추가하여 성공을 위한 코딩 에이전트를 설정하려고 합니다. 고려해야 할 일련의 지침은 다음과 같습니다.
- 코드베이스를 처음 접하는 사람을 위한 이슈인 것처럼 이슈를 작성하세요. 신규 사용자에게 필요한 컨텍스트가 무엇인지 고려한다면 코딩 에이전트가 작업을 효과적으로 완료하는 데 충분한 컨텍스트를 포함할 가능성이 높습니다.
- 작업이 수행되는 위치를 설명하는 제목을 만듭니다. 코딩 에이전트의 가장 좋은 점 중 하나는 원하는 만큼 많은 작업을 할당할 수 있다는 것입니다. 하지만 많은 작업을 할당한다는 것은 많은 풀 요청 검토를 처리해야 한다는 것을 의미합니다! 문제 제목이 작업의 성격과 발생 위치를 명확하게 설명하여 에이전트 패널을 쉽게 탐색할 수 있도록 하세요.
- 원하는 예시를 추가하세요. 특정 오류 처리 패턴 등 코딩 에이전트에서 구현하려는 내용을 이미 알고 있는 경우 문제에 예제를 포함하세요! 이러한 추가 컨텍스트를 통해 원하는 출력을 얻을 가능성이 훨씬 높아집니다.
시작하기 위한 몇 가지 예시 문제는 다음과 같습니다.
대신:
> async/await를 사용하도록 전체 저장소를 업데이트하세요.
다음과 같이 하십시오:
> 아래 예와 같이 최신 비동기/대기 패턴을 사용하도록 인증 미들웨어를 업데이트합니다. 이 작업의 검증을 위해 단위 테스트를 추가하여 극단적인 사례가 고려되는지 확인합니다.
>
async function exampleFunction() {
let result = await promise;
console.log(result); //”done!”
}
지침을 구체화하세요
WRAP의 다음 단계는 코딩 에이전트가 생성한 끌어오기 요청의 결과를 개선하기 위해 GitHub Copilot 사용자 지정 지침을 구체화하는 것입니다. 생성할 수 있는 다양한 사용자 정의 지침과 이를 사용하는 것이 적합한 다양한 사례가 있습니다.
- 저장소 사용자 정의 지침. 이는 저장소 전체에 적용할 수 있는 모든 정보를 저장하기에 좋은 장소입니다. 예를 들어, Go 애플리케이션이 있고 Go 코드를 작성하는 특정 방법을 선호하는 경우 저장소 사용자 정의 지침에 포함되어야 합니다. 시간이 지남에 따라 이러한 지침을 추가하면 해당 리포지토리에서 GitHub Copilot과의 상호 작용으로 인한 모든 응답이 향상됩니다. 다음은 이러한 저장소 사용자 정의 지침을 추가하는 방법에 대한 가이드입니다.
- 메모: 이것은 GitHub Copilot 코딩 에이전트의 첫 번째 사용 사례입니다! 저장소에 대한 사용자 정의 저장소 지침을 생성하도록 요청해 보세요.
- 조직 맞춤 지침. 전체 리포지토리에 대한 GitHub Copilot 사용자 정의 지침 세트를 생성하는 방법과 마찬가지로 전체 조직에 대한 GitHub Copilot 사용자 정의 지침 세트를 생성할 수도 있습니다. 이는 조직의 모든 저장소에 적용되는 모든 것에 이상적입니다. 예를 들어 모든 애플리케이션에 대해 생성해야 하는 테스트에 대한 요구 사항이 있을 수 있습니다. 다음은 조직 맞춤 지침 추가를 시작하는 방법에 대한 가이드입니다.
- 코딩 에이전트 맞춤형 에이전트. 저장소 및 조직 사용자 정의 지침과 유사하게 코딩 에이전트 사용자 정의 에이전트는 자연어 텍스트 파일로 생성할 수 있으며 기업, 조직 또는 저장소 수준에서 적용 가능합니다. 이는 자주 발생할 수 있는 반복적인 개발 작업에 이상적이지만 모든 단일 변경 사항 집합에 적용할 수는 없습니다. 예를 들어, 새 제품을 특정 저장소와 통합하기 위한 “통합 에이전트”를 생성할 수 있습니다. 사용자 지정 에이전트 생성을 시작하는 방법에 대한 가이드는 다음과 같습니다.
원자적 작업
코딩 에이전트는 작고 원자적이며 잘 정의된 작업을 처리하는 데 매우 능숙합니다. 그러나 큰 문제에도 유용할 수 있습니다! 더 큰 문제를 처리하려면 그 큰 문제를 여러 개의 독립적인 작은 작업으로 나누는 것이 좋습니다.
예를 들어, GitHub Copilot에 “Java에서 Golang으로 300만 줄의 코드를 다시 작성”하도록 요청하는 문제를 반드시 할당하고 싶지는 않을 것입니다. 이는 특정 작업에 비해 범위가 너무 클 수 있으며 이러한 변경 사항을 검토하는 것은 꽤 고통스러울 수 있습니다.
대신, 더 큰 문제를 Copilot이 처리할 수 있는 더 작은 문제로 나눌 수 있습니다.
- 인증 모듈을 Golang으로 마이그레이션하여 모든 기존 단위 테스트가 통과하는지 확인하세요.
- 동일한 API 인터페이스를 유지하면서 데이터 검증 유틸리티 패키지를 Golang으로 변환합니다.
- 기존 REST 엔드포인트와 응답을 유지하면서 사용자 관리 컨트롤러를 Golang에 다시 작성합니다.
큰 문제를 더 작은 원자성 작업으로 나누면 작업의 개별 부분을 테스트하고 검증하는 것이 훨씬 쉬워지며 개별 끌어오기 요청을 검토하는 것도 훨씬 쉬워집니다.
코딩 에이전트와 페어링
코딩 에이전트로 작업할 때 코딩 에이전트로서의 강점과 인간으로서의 강점을 기억하는 것이 중요합니다. 이렇게 하면 코딩 에이전트가 사용자가 원하거나 기대하는 대로 작동하지 않는 경우 좌절감을 덜 느끼게 될 것입니다.
예를 들어, 인간은 다음과 같은 일에 매우 능숙합니다.
- “이유:” 이해하기 인간은 작업이 생성된 이유를 잘 알고 있습니다. 또한 작업 변경으로 인해 처음에 문제가 발생한 근본적인 문제가 실제로 해결되는지 여부도 확인할 수 있습니다.
- 모호함 탐색: 인간은 AI보다 모호함을 탐색하는 데 훨씬 더 능숙합니다. 예를 들어 인간으로서 GitHub Copilot에서 완료할 때 생략할 수 없는 문제의 일부 부분(예: 어떤 종류의 테스트 및 원격 측정)을 수행할지 생략할 수 있습니다.
- 교차 시스템적 사고: 인간은 한 시스템에서 발생한 변경이 다른 시스템에 미치는 영향에 대해 훨씬 더 잘 생각합니다. 코딩 에이전트가 한 저장소에서 특정 작업을 완료하면 해당 작업이 다른 저장소에 어떤 영향을 미칠지 알 수 없습니다. 시스템 간 영향을 고려하는 것은 GitHub Copilot보다 인간에게 훨씬 더 나은 작업입니다.
반면 코딩 에이전트는 다음과 같은 기능에 매우 뛰어납니다.
- 지칠 줄 모르는 실행: 지금 코딩 에이전트에 10가지 작업을 할당하고 각 작업에서 작동할 것으로 기대할 수 있습니다.
- 반복적인 작업: 인간은 여러 파일에 걸쳐 명명 규칙을 업데이트하는 등 반복적인 작업을 수행할 때 지루해지거나 내용을 놓치는 경우가 많습니다. 하지만 GitHub Copilot은 이러한 작업을 완료하는 데 적합합니다!
- 가능성 탐색: 몇 가지 다른 방법으로 문제를 해결하는 것을 고려하고 있다면 이러한 다양한 방법을 코딩 에이전트에 할당할 수 있습니다. 이를 통해 많은 개발 리소스를 사용하지 않고도 각 전략이 어떻게 실행될 수 있는지에 대한 빠른 아이디어를 얻을 수 있습니다.ij
이것을 가지고 가세요
GitHub Copilot 및 WRAP을 장착하면 느린 백로그 문제가 더 이상 발생하지 않습니다.
업데이트해야 하는 종속성이 있습니까? 더 많은 테스트 범위를 사용할 수 있는 곳이 있나요? 코드베이스 전반에 걸쳐 채택하고 싶은 새로운 오류 처리 패턴이 있습니까? 아니면 리포지토리 지침 추가를 시작하고 GitHub Copilot 코딩 에이전트를 사용하고 싶으십니까?
WRAP을 사용하여 백로그를 마무리하세요!
GitHub Copilot 시작하기 >
작성자:



Post Comment