본문 바로가기
IT/IT 잡지식

GitHub Copilot #3 Copilot Chat

by 큰공 2024. 2. 6.
728x90
반응형

GitHub Copilot  Copilot Chat #3

2024.01.25 - [IT/IT 잡지식] - GitHub Copilot #1 시작하기

 

GitHub Copilot #1 시작하기

GitHub Copilot 시작하기 AI Coding 이 대세입니다. 요즘 개발자들은 IDE 옆에 ChatGPT가 필수적으로 띄워져있는 모습을 볼 수 있습니다. GhatGPT 가 세상을 뒤엎은게 엊그제 같은데, 여러가지 AI Coding 툴들이

coinpipe.tistory.com

2024.02.05 - [IT/IT 잡지식] - GitHub Copilot #2 AI Code Suggestion

 

GitHub Copilot #2 AI Code Suggestion

GitHub Copilot AI Code Suggestion #2 2024.01.25 - [IT/IT 잡지식] - GitHub Copilot #1 시작하기 GitHub Copilot #1 시작하기 GitHub Copilot 시작하기 AI Coding 이 대세입니다. 요즘 개발자들은 IDE 옆에 ChatGPT가 필수적으로 띄

coinpipe.tistory.com

 

 이전 포스팅에서 GitHub Copilot 이란 무엇이고, Copilot 을 이용해서 AI Cdoe Suggestion 을 하는 방법에 대해서 알아보았습니다.

 오늘은 Github Copilot Chat 기능을 실제로 사용해보고 어떤 기능이 있는지 알아보도록 하겠습니다.

 

 Copilot 기능 중 IDE 와 결합된 AI Chat 기능을 이용해서 다양한 질문을 해보고, 어떻게 사용할 수 있는지에 대한 Tip 을 공유해보도록 하겠습니다.

Copilot Chat WaitList 등록

 indivisual 계정으로 Android Studio 에서 사용하기 위해서는 waitlist 등록이 필요합니다. 등록 후 1주 정도 지나니, Chat이 가능하게 됩니다. 설명으로는 메일이 온다고 했는데, 따로 메일이 오지 않았습니다.

 

GitHub Copilot Chat

 waitlist 등록 이후 승인이 되면, 현재 (24년 2월 6일 기준) Android Studio 에서는 beta 버젼으로 사용가능하게 됩니다. 

 Copilot 에서 코파일럿이 뭔지 소개해달라고 해봤습니다.

 

Copilot 지원 언어

 Copilot은 파이썬, 자바스크립트, 타입스크립트, 루비, 자바, C++, C#, Go, PHP, 코틀린 등등 Github에 등록된 다양한 언어 모두를 지원합니다. jetpack compose 도 당연히 지원한다고 하네요.

 AI 이기 때문에 Github 에 등록되어 사용하는 모든 프로그래밍 언어를 지원하는것으로 보이며, Github에 등록이 많이된 언어인 JavaScirpt 를 가장 잘 이해한다고 합니다.

최신 정보 데이터 확인

 학습된 AI 는 현재 시간을 알지 못합니다. Copilot 는 Code 기반이기 때문에, 현재 시간을 물었는데, Java 에서 현재 시간을 가져오는 방법에 대해서 예시로 제시해 주는 모습을 보여줍니다.

 또한, IDE 상으로 아무런 파일을 열고 있지 않으면, 위와 같이 Java 로 된 시간을 알려주게 됩니다.

 

 여러 다른 AI Chat 을 이용해서 현재 시간을 물어보면 아래와 같이 대답하고 있습니다.

 

ChatGPT

 

GPT-4 Boost By 뤼튼

 GPT-4 는 현재시간을 정확하게 알고 있군요!

 

Android Studio Bot

 

 

구글 바드 (Bard)

 구글 바드는 미래에서 온 녀석인가 봅니다.

 

여러가지 AI Chat Bot 을 이용해서 살펴본 결과 GPT-4 를 사용하는 것만 유일하게 현재 시간을 알려줍니다. 이는 AI Chat Bot 기능이 현재 데이터를 가지고 있지 못하다는것을 반증해보여주는 결과입니다. AI Chat 이 방대한 Code를 학습한 결과가 이전의 결과 이다보니 이런 현상이 발생하고 있으며, 이는 Chat Bot 이 제안해주는 코드 중에 Deprecated 된 함수가 많은 것으로 이어집니다.

 

문맥 학습 기능

 IDE 상으로 현재 코틀린 파일을 열고 있을 경우, Chat이 이를 감지하여, 현재 열린 파일의 언어가 무엇인지 판단 (Kotlin) 하여, 예제코드를 코틀린으로 작성해주게 됩니다. 

 즉, Copilot Chat 은 IDE와 연동하여, 현재 열려진 코드를 인식하고, 분석한 뒤에 답변을 해주는 기능을 가지고 있습니다.  Copilot 에서는 이를 "문맥 학습 기능"이라고 한다.

 

현재 열려있는 파일이 코틀린으로 작성된 안드로이드 코드 (MainActivity.kt) 이며, 이상태에서 현재 시간을 알려달라고 했을 때, 현재 시간을 알 수 있는 코드를 작성해 줍니다.

 

IDE 연동

 파일 연동

위 과정으로 통해서 Copilot Chat 은 현재 IDE 상에 열려있는 파일을 알 수 있습니다. 코드 작성을 할 때, Chat Bot 이 코드를 알고 있는 상태와 모르고 있는 상태에서의 코드 제안은 완전히 다른 결과를 초래 합니다. Chat GPT 를 통해서 개발을 진행할 때, 현재 있는 코드 전체를 복사하거나 일부를 복사하는 형태로 문의하곤 했는데, Copilot 은 IDE 연동으로 이런 과정 자체가 불필요하게 됩니다. 

 현재 열려있는 파일이 뭐냐고 물어보면 경로까지 정확하게 알려줍니다.

 

 파일 위치 연동

 또한, IDE 상에 블럭으로 표시해둘 경우, 이것이 무엇인지도 파악하고 어떤 내용인지도 설명할 수 있습니다.

 

함수 파악

또한, 파일 전체를 알 수 있으므로 해당 파일의 함수명만 얘기해도 그것이 무엇인지 정확하게 설명해 줍니다.

 

여러 파일 열기

여러 파일을 한번에 참조하는 기능도 가지고 있으며, IDE 상에 파일을 열어 놓고 있거나, 채팅창 밑에 "+" 을 선택해서 파일을 더 추가하여 검토 할 수도 있습니다. 

 

요약

copilot chat 은 chatGPT 와 유사하나, 코드 베이스의 답변만 제공하여, IDE와 연동되어 파일 참조도 가능하다!

728x90
반응형

댓글