- 약 1년간 GitHub Copilot을 무료로 사용한 뒤 접근 권한이 사라지자 실제 효용을 되돌아봤고, 개인 프로젝트에서는 Copilot 없이 개발할 때 더 생산적이었다고 판단함
- Copilot은 잘 맞으면 반복 코드와 보일러플레이트를 빠르게 채워 주지만, 주 사용처인 picom에서는 대규모 코드베이스 이해보다 단순 패턴 작성에 주로 쓰였음
- picom은 X11 compositor이고 글쓴이가 메인테이너로 참여하는 프로젝트라, 일반적인 학습 사례와 잘 맞지 않는 독특한 코드베이스라는 제약이 있었음
- 가장 큰 불편은 어떤 작업을 맞힐지 알기 어려운 예측 불가능성과, 제안까지 보통 2~3초 이상 기다려야 하는 속도였음
- 현재 Copilot에는 비용을 지불할 만큼의 생산성 향상이 없지만, 더 똑똑해지거나 몇 배 빨라지면 평가는 달라질 수 있음
개인 프로젝트에서 Copilot이 잘 맞았던 순간
- Copilot은 약 1년 동안 무료로 사용할 수 있었고, 사용에 익숙해진 뒤 접근 권한이 사라지면서 Copilot 없는 개발 방식에 다시 적응해야 했음
- 잘 작동할 때는 머릿속 코드를 바로 화면에 써 주는 듯한 마법 같은 경험을 줬고, 보일러플레이트 코드를 직접 작성할 때의 불편함도 더 크게 느껴졌음
- 다만 순수한 생산성만 보면 Copilot이 없는 편이 더 나았음
- 이 사용 경험은 개인 프로젝트에 한정됨
- 직장 업무에는 Copilot을 사용하지 않음
- 생성형 AI의 도덕성, 저작권, 오픈소스 코드 학습과 기업 이익 문제는 다루지 않음
- 대부분의 개인 개발 시간은 picom에 쓰임
- picom은 X11 compositor이며, 글쓴이는 메인테이너임
- X11이 사실상 수명 종료에 가까워지고 Wayland로 이동하는 상황에서, 특정 데스크톱 환경에 묶이지 않은 compositor로는 picom이 거의 유일한 선택지라고 봄
- picom에는 로깅 시스템, 문자열 처리 함수, 정렬처럼 일반적인 구성요소가 있지만 전체 구조는 꽤 독특함
- Copilot이 학습 중 비슷한 프로젝트를 봤을 가능성이 낮아, 코드베이스 전체를 추론하는 용도로는 잘 맞지 않았음
- 실제 활용은 반복 코드 작성과 보일러플레이트에 주로 머물렀음
- 유용했던 예시는 단순하고 지루한 코드였음
- 이스케이프 문자 파싱 코드에서
\t이후의 분기 작성 - enum을 문자열로 매핑하는 코드
- 공통 패턴을 가진 글루 함수 작성
- 이스케이프 문자 파싱 코드에서
- 반복적이고 재미없는 코드를 대신 처리해 주는 점은 프로그래밍을 재미있게 유지하는 데 분명히 도움이 됨
생산성을 깎아먹은 예측 불가능성과 속도
- 첫 번째 문제는 예측 불가능성임
- Copilot은 맞을 때 매우 유용하지만, 어떤 작업을 맞히고 어떤 작업을 틀릴지 미리 알기 어려움
- 1년 동안 사용하면서 처음보다 판단은 나아졌지만, 세부적인 작동 방식을 완전히 파악하지는 못함
- 사람이 할 수 있을 것처럼 Copilot의 능력을 추정하면 쉽게 빗나감
- 예를 들어 주석 기반으로 한 함수를 잘 작성했다고 해서, 비슷해 보이는 다른 코드도 잘 작성하리라 기대하기 어려움
- 인간과의 상호작용에서 쌓은 직관은 AI에 그대로 적용되지 않으며, 실제로 시도하기 전에는 성공 여부를 확실히 알기 힘듦
- 두 번째 문제는 속도임
- C 언어 서버로 사용하는
clangd는 타이핑보다 빨라 제안이 사실상 즉시 나타남 clangd제안이 도움이 되지 않아도 기다릴 필요가 없어 개발 흐름이 끊기지 않음- Copilot은 제안을 받기까지 보통 최소 2~3초를 기다려야 했음
- 큰 코드 덩어리를 작성하려 할수록 대기 시간은 더 길어짐
- 기다린 뒤에도 사용할 수 없는 코드가 나오는 경우가 많아, 주석 지시를 다듬어 다시 시도할지 일부만 받아들이고 나머지를 직접 작성할지 매번 판단해야 했음
- 이런 왕복 과정은 자주 발생하지 않더라도 개발 시간을 낭비함
- C 언어 서버로 사용하는
- 현재 시점에서는 Copilot이 생산성을 높여 주지 않으므로 비용을 지불할 생각이 없음
- GitHub이 1년 무료 제공으로 사용자를 중독시키려 했다면, 이 경우에는 실패한 셈임
- Copilot이 조금 더 똑똑해지거나 현재보다 몇 배 빨라지면 평가는 달라질 수 있음