AI가 해주는 코딩

띠지·2021년 10월 27일
4
post-thumbnail

GitHub의 AI 페어 프로그램 익스텐션 GitHub Copilot technical preivew 사용기


1. 설치

2~3달 전쯤 유튜브에서 GitHub Copilot에 대한 영상을 봤었다.

영상을 너무 흥미있게 봐서 technical preview를 신청한 뒤 시간이 오래 지나 잊고 있었는데,

어제 메일이 와서 사용을 해볼 수 있었다.

소개 문서를 보니 VSC, IntelliJ, PyCharm 등에 설치 할 수 있었다.

나는 평소 자주쓰는 VSC에 설치를 했는데, 21년 10월 28일 기준으로 42만개의 다운로드 기록을 볼 수 있었다.

설치 과정에서 인증과정이 있는데, 아마 technical preview를 신청해야 이 부분에서 넘어갈 수 있는 것으로 보인다.

(cmd+shift+P를 눌러서 on/off가 가능하다)


2. 사용기

알고리즘을 시켜보았다...

사용방법은 간단한 데, 원하는 코드를 입력하고 기다리면 회색으로 추천 코드가 올라온다.

꼭 저렇게 함수명, 인자를 지정해야 하는 것은 아니고
주석을 달고 있을 때, 코드를 작성하고 있을 때 등 아무때나 copilot이 추천을 해준다.

책상에 책이 펴져 있었는데, 에라토스테네스의 체가 써있길래, 그냥 eratos라고 쳐보았다.

어떻게 알았는지 귀신같이 코드를 완성해주었다.

실행해 보았더니 정상적으로 소수들을 반환해주었다.

막상 설치하고 나니 뭐를 해야할지 모르겠어서 외판원 문제를 입력해보았다.

실행은 해보지 않았다.

주가를 가져오게 해보았다...

이번에는 사용례를 보고 apple의 주가를 가져오게 해보았다.

아까처럼 함수명과 인자를 입력해도 추천해주지만, 이번 사진처럼 주석을 자세하게 입력하는 것 만으로도 적절한 코드를 추천해준다.

실행해보니 작동하지는 않았다.

코드에 있던 url에 들어가서 파싱하는 부분을 고치니 제대로 작동했다.

질문을 해보았다...

유튜브 영상을 봤을 때 가장 안좋은 언어를 물어보길래

나는 가장 좋은 언어를 물어봤다. python에서는 Python을 추천해줬다.

궁금해서 JavaScript에서 실행해보니 JavaScript를 추천하더라...

위에 사진을 보면 Next, Previous 같은 기능이 있는데,

copilot은 하나의 답만 추천해주는 것이 아니라 다양한 코드를 제공해준다.

만약 제공해준 옵션이 마음에 들지 않는다면 다른 제안으로 바꿀 수 있다.

LeetCode를 풀게 해보았다...


LeetCode에 들어가서 보이는 문제 하나에 들어갔다.

왠지 초기에 주어진 코드를 copilot에게 가져다주면 완성 시켜줄 것 같아서...

적절한 코드인지는 모르겠으나 어떤 코드를 추천해줬다.

알 수 없는 한자 주석을 보아 중국인이 작성한 코드인가.. 하는 생각이 들었다.

신기하게도 제출해보니 통과되었다.

그것도 상위 10% 안에 들어가는 빠른 코드였다


3. 그래서..

사용 후기

  • 진짜 프로그램 개발할 때는 써보지 않아서 좀 더 사용해봐야 할 것 같다.
  • 부족한 영어실력 때문인지 아직 AI에게 완벽하게 내 뜻을 전달하지는 못하는 기분이다.
  • 추천 받은 코드가 100% 만사형통하는 코드는 아니였다.
  • 그래도 시리보다는 훨씬 똑똑한 것 같다.
  • 함수를 작성하면 테스트코드도 알아서 짜주는 사용예가 있었는데, 아무튼 정말 신기하긴 하다.

저작권과 관련해서

  • copilot의 FAQ 내용을 보면...

    • copilot은 github에 유저들이 올린 데이터를 기반으로 학습한다
    • copilot은 유저들이 올린 코드를 그대로 복붙하는게 아니라, 새롭게 합성해서 제시한다. (이후 코드의 저작권은 copilot 사용자에게 있음)
    • 정식 발매시 유료 버전을 제작할 계획이 있다
      고 한다.
  • 이미 있는 코드를 제공하는 것이 아닌 합성해서 만든 새로운 코드를 제공한다고 하는데, 위에 있는 leetcode의 일관된 주석 같은 것을 보면 합성한 코드로 보이지는 않는다.

    • copilot을 거친 코드는 copilot 사용자의 소유가 되는데, 이 부분에 대해서는 악용이 가능하지 않을까... 돈세탁 처럼 코드세탁을 할 수 있지 않을까 하는 생각이 든다.
  • 내가 작성해서 올린 코드를 보고 AI가 학습한다는 사실은 조금 께름칙하다. 도움이 되는 것 같지는 않다;

개발자는 사라질까?

  • 유튜브에서 본 영상과 같은 생각인데, copilot이 완벽한 코드를 추천해주는 것은 아니니 만큼, 관리자로서 개발자는 필요할 것이다.

    1. 위의 저작권과 관련된 이슈로 인해 회사에서 copilot을 사용할 수 있을지는 의문
    2. 만약 기술이 발전해 개발자가 정말 AI가 추천해주는 코드를 검사하는 역할만 수행하게 된다면, 많은 개발자가 일자리를 잃을 수도 있지 않을까 하는 생각은 든다.
  • 아직은 일자리 걱정 될만한 수준은 아니긴 한데, 정보 산업이 발전하는 속도를 보면 빠른 시일 내에 말도 안되는 정확성을 갖추게 될 수도 있을 것 같다.

참고 링크

profile
백엔드 개발자(지망생!)

0개의 댓글