GitHub Copilot 베타 사용 후기 - 실무 적용 가능성

도입 배경

6월에 발표된 GitHub Copilot 베타를 9월 말부터 실무에 사용해봤다. VSCode 확장으로 설치하면 코드 작성 중 자동 완성 형태로 제안이 들어온다.

유용했던 케이스

1. 반복적인 CRUD 로직

// 함수명과 파라미터만 작성하면
async function updateUserProfile(userId: string, data: ProfileData) {
  // 이후 코드를 거의 정확하게 제안함
  const user = await prisma.user.findUnique({ where: { id: userId } });
  if (!user) throw new Error('User not found');
  return prisma.user.update({
    where: { id: userId },
    data: { ...data, updatedAt: new Date() }
  });
}

2. 테스트 코드 작성

기존 함수를 보고 describe, it 블록을 제안하는 정확도가 꽤 높았다. 엣지 케이스까지는 아니지만 기본 테스트 스켈레톤은 충분히 생성 가능했다.

3. 타입 정의

API 응답 인터페이스나 Props 타입을 작성할 때 필드 몇 개만 입력하면 패턴을 파악해서 나머지를 제안했다.

한계

  • 복잡한 비즈니스 로직은 오히려 혼란 가중
  • 보안이 중요한 코드는 제안을 신뢰하기 어려움
  • 주석을 과도하게 믿고 엉뚱한 코드 생성
  • 네트워크 지연으로 제안 타이밍이 애매할 때 있음

결론

보일러플레이트 작성 시간을 20~30% 정도 단축시켜주는 느낌이다. 하지만 제안을 무비판적으로 수용하면 안 되고, 여전히 코드 리뷰는 필수다. 당분간은 보조 도구로만 활용할 예정이다.