https://www.youtube.com/watch?v=R-lIeSR8-hE
구독중인 코딩애플님 유투브 영상에서 Copilot을 사용하는 내용을 우연히 보게되어서 AI기반의 코드 자동 완성 기반 서비스 Copilot을 오늘 처음으로 사용해보게 되었습니다. 본 글은 우선 Copilot의 가이드 글은 아니고 사용해본 후기기 때문에 자세한 Copilot의 설치 방법은 다루지 않습니다.
Copilot을 이용하면 원하는 코드를 텍스트로 입력하면, Github 코드들을 기반으로 학습된 인공지능 GPT-3 모델을 이용해서 코드를 직접 생성해주는 들어만 보면 아주 혁신적인 도구입니다.
https://www.youtube.com/watch?v=a9349pRiCRk
사실 Copilot이 나온진 1년이 더 넘었습니다. 당대에는 정식 출시는 되지 않았고 클로즈 베타로 베타 테스터들에게만 공개해서 일부만 사용할 수 있었는데 중간에 전염성 조항이 있는 GPL 의 라이선스 문제 이슈가 터졌었습니다.
Github 마저 마이크로소프트에 인수된 마당에 GPL 라이선스의 창시자인 리처드 스톨만씨가 이걸 보고 무슨 생각을 하고 계실까요 ㅎㅎㅎ (아마 엄청 화내고 있지 않을까 싶으신..?)
어쨌던 이 문제 때문에 정식 출시는 안되고 사장되버린 프로젝트인줄 알았으나..
http://www.aitimes.com/news/articleView.html?idxno=145330
https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/
미국 현지시각으로 2022년 6월 21일 코파일럿이 정식 공개됨에 따라 모든 사람이 사용할 수 있게 되었습니다.
심지어 장사질 잘하는 마이크로소프트 답게 돈주고 팔기까지 합니다.
구독제로써 달에 10달러, 년에 100달러네요. IDE 같은 프로그램도 아니고 단순히 VScode나 IDE에 플러그인으로 딸린 서비스가 이정도 가격이라는건 상당히 비싸보이긴 합니다.
뭐 가격은 그렇다 쳐도 라이선스 문제는 도대체 어떻게 해결한걸까요..? GPL 라이선스가 있는 것들은 다 피해서 러닝을 한것일까요..? 진실은 미궁속이지만 이거 써보고 싶은 욕망은 절대 못참죠.
Github에서 Student 계정으로 받으면 무료로 사용가능합니다.
학교 이메일이랑 재학증명서 주면 인증 기다릴필요도 없이 바로 학생계정 인증 가능하구요.
이후에 Vscode 가서 Github Copilot 익스텐션 깔고 쓰면 끝입니다.
지원 언어는 TS, JS, C, C++, Java, C# 정도가 대표적입니다.
주석에 원하는 내용을 적으면 코드를 자동완성해주고, 함수의 경우 위에 설명을 적고 (한글도 가능해짐) 함수 이름을 대충 적어주면 저렇게 자동 완성을 해줍니다.
코드가 마음에 들면 tab을 눌러서 사용하고, 마음에 들지않으면 윈도우 기준으로 Alt + [ 나 Alt + ] 로 코드를 넘겨서 원하는 코드를 찾고 tab으로 선택해서 쓰면 됩니다.
솔직히 처음 썼을때 엄청나게 신기했습니다. 인공지능 기술이 발전하고 있는건 알고 있었는데 이 정도 완성도 일줄은..? 단 원하는 코드 단어 선정을 잘해줘야 하고 제대로 된 코드가 없으면 같은 내용만 계속 나오는 문제가 있습니다.
그럼에도 확실한건 제대로만 사용하면 귀찮게 작성해야 하는 코드들은 노가다를 혁신적으로 줄여줄 수 있다는 점입니다.
main 함수를 적어주지도 않았는데 이렇게 방금 만든 함수를 사용할 수 있도록 자동 완성까지 해줍니다 ㄷㄷㄷ
특히 타입 스크립트에선 API 까지 가져와서 네트워크 통신 로직을 만들어주고, async function 으로 잡으면 그에 맞춰서 또 코드를 생성해주고.. 이제 상용 + 학생들한텐 무료로 데이터들이 더 쌓일 건데 앞으로 행보가 더 기대가 됩니다.
다만 이렇게 빼온 코드들의 라이선스나 저작권 문제는 아직도 미지수긴 합니다.
학부 레벨의 간단한 과제를 할 때도 굉장히 유용해보입니다.
이렇게 재귀적으로 구현된 dfs까지 만들어줍니다.
tab을 친다음에 원하는 코드가 안나오고 계속 반복되는 내용만 나온다면 원문에 엔터가 있는것이라
엔터를 계속치면서 원하는 코드가 나올때까지 잘 찾아보시면 됩니다. (중요)
사실 알고리즘 공부할 땐 저런 기능을 사용하는거 자체가 공부하는 의미가 무용해지는 수준이긴한데 자기가 알고리즘 고수라 백준에서 맨날 알고리즘들 구현하는게 귀찮으면 한번 사용해보셔도 괜찮을 거 같습니다.
그나저나 저 코드는 어떤분이 짜신걸까요..? 친절하게 주석까지 달려있네요
그리고 신기하게 여기서 만들어주는 코드는 문제없이 실행이 다 됩니다. 깃허브에 그 많은 코드중에 완벽히 작동하는게 그리 많지 않을건데 어떻게 한거지..? 진짜 신기하네요
추가적으로 이거 때문에 개발자들이 다 망한다는 소리가 있던데 아직은 비약이 심해보입니다.
솔직히 써보면 코드 생성기 그 이상 그 이하도 아니라서요.
실제로 없어질만한건 노가다하면서 프로그램 짜내는 코더들이지 프로그래머나 컴퓨터 과학자들은 아직까지 대체될 일은 전혀 없어보입니다~
2022-09-09 추가
점점 사용법을 익혀가면서 경이로움을 느끼고 있습니다.
얼토당토 없는 INPUT만 안주면 대부분 만들어 줍니다.
물론 이걸 쓰다보면 생각을 안하고 코드 복붙이나 다름없는 코드를 만들게 될 수 있다는 단점이 있어서 저는 최대한 자제하고 있긴 한데 진짜 쩔긴 쩌네요
웹 파싱도 잘되면 좋을거라고 기대하면서 해봤으나 학습된 데이터에 기반하는 M.L 기반상 제대로 작동하긴 어려워 보입니다.
물론 코드에 대한 기본 스켈레톤 코드는 어떻게 작성할지 알게 되었으므로 실제로 보고 약간의 수정만 가해주면 됩니다.
사실 온도가 아니라 날씨 가져오는게 목표였긴한데 ㅎㅎㅎ.. 그래도 코드 스니펫을 이렇게 제공해준다는 점이 좋습니다.
Github 가 학생들한테 코파일럿을 무료로 풀 수 있게도 했고 앞으로 데이터가 더 쌓일것이니 행보가 기대 됩니다..만
여기 있는 코드를 갖다써서 프로그램을 만들어도 고소를 안당할진 잘 모르겠습니다 ^^;;;
'프로그래밍 > Etc' 카테고리의 다른 글
VS 2022 C/C++ Compiler보다 더 깐깐한 gcc/g++ Compiler! (0) | 2022.10.31 |
---|---|
[Solved.ac] 새싹 100% (0) | 2022.09.30 |
[VIM] ESC 입력 시 (일반모드) 자동으로 영문으로 전환해주는 유틸리티 (0) | 2022.06.13 |
[VSCODE] code-server에서 파일 한꺼번에 받기 (2) | 2022.03.18 |
에타 전체 검색기능엔 % 기호를 넣을 수 없다 (0) | 2022.02.14 |