GitHub Copilot Workspace 써보니
Copilot Workspace 2개월 사용기, 이슈에서 PR까지 자동으로 만들어주는 경험
이슈를 열면 코드가 나온다고?
GitHub Copilot Workspace를 처음 본 건 동료 슬랙 메시지에서였다. "이슈에서 바로 구현 계획이 나오고, 코드까지 짜준다"고 했다. 솔직히 반신반의했다. Copilot 자동완성도 반절은 쓸모없는데, 이슈 하나로 전체 구현을 해준다고?
근데 2개월 써보니까, 완전히 틀린 말은 아니었다. 반은 맞고 반은 아쉽다.
처음에 감동받은 순간
GitHub 이슈에 "로그인 실패 시 에러 메시지가 표시되지 않음"이라고 적었다. Copilot Workspace가 자동으로 분석을 시작한다. 관련 파일을 찾고, 어떤 파일을 수정해야 하는지 계획을 세운다. 그리고 실제 코드 변경을 제안해준다.
첫 번째 이슈에서 제안된 코드가 실제로 동작했다. 에러 핸들링 로직이 빠져있었는데, catch 블록에 setState를 추가하고 에러 메시지 컴포넌트를 렌더링하는 코드까지 만들어줬다. 파일 3개를 수정해야 하는 건데, 3개를 다 정확히 짚어낸 게 인상적이었다. (정확히는 파일 3개 중 2개는 완벽했고 1개는 수정이 필요했다.)
여기서부터 현실이 보이기 시작했다
단순한 버그 수정은 잘한다. 근데 새로운 기능 구현은 갈 길이 멀다. "결제 모듈에 쿠폰 할인 기능을 추가해줘"라는 이슈를 넣었을 때, 나온 계획은 나름 그럴듯했다. 근데 실제 코드는 기존 결제 플로우와 충돌하는 부분이 있었고, 쿠폰 검증 로직이 클라이언트 사이드에만 있어서 보안 이슈가 있었다.
가장 답답했던 건 프로젝트의 컨벤션을 이해 못 한다는 점이다. 우리 팀은 에러 처리를 커스텀 Result 타입으로 하는데, Workspace가 생성한 코드는 try-catch를 썼다. 이런 걸 매번 수정해야 했다. 2개월 동안 Workspace가 생성한 코드를 그대로 머지한 건 전체의 23% 정도. 나머지 77%는 수정이 필요했다.
근데 계획 기능은 진짜 유용하다
코드 생성보다 계획 기능이 훨씬 가치 있다. 이슈를 분석하고 "이 파일의 이 함수를 수정해야 하고, 여기에 새 파일이 필요하고, 테스트는 이렇게 작성해야 한다"는 계획을 세워주는 것. 이게 생각보다 시간을 많이 절약해준다.
이전에는 이슈를 받으면 코드베이스를 뒤져서 어디를 수정해야 할지 파악하는 데 30분에서 1시간이 걸렸다. Workspace의 계획을 참고하면 이게 10분으로 줄어든다. 계획이 100% 정확하지는 않지만, 출발점으로는 충분하다.
2개월 정리하면
코드 생성: 단순 버그 수정은 쓸 만하다. 복잡한 기능은 아직 멀었다. 계획 기능: 이건 진짜 좋다. 이슈 분석 시간을 확실히 줄여준다. 가격: 팀 플랜 기준 1인당 월 19달러인데, 계획 기능만으로도 충분히 뽕을 뽑을 수 있다.
아쉬운 점은 프로젝트 컨벤션 학습이 부족한 것, 그리고 모노레포에서 잘 동작하지 않는다는 것. 우리 모노레포에서 Workspace를 돌리면 관련 없는 패키지의 파일을 수정하려고 하는 경우가 있었다. 이건 앞으로 개선될 거라 믿는데, 지금 당장은 신경 쓰인다.
사실 가장 큰 깨달음은, AI 코딩 도구가 "코딩을 대체하는 것"이 아니라 "코딩의 시작점을 잡아주는 것"이라는 거다. 여전히 결정하고 판단하는 건 사람이다. 근데 시작점을 잡아주는 것만으로도 꽤 큰 가치가 있다.