본문 바로가기
기술 . Technology

코딩할 때 Chat GPT로 생산성 높이는 방법. EasyCode로 2인분 개발자가 되어보자. (VSCode Extension EasyCode)

by Nomad Trader 2023. 4. 11.
반응형
 

[Bing AI] Chat GPT(챗 GPT)를 내장한 마이크로소프트의 Bing AI(빙 AI) 가입 방법 & 사용법

아래 구글 트렌드 검색 결과처럼 연초부터 Chat GPT가 꾸준한 관심을 받고 있는데요, 생성형 AI가 새로운 검색 시장을 여는 열쇠가 될 것인지가 관건인 듯합니다. 2019년부터 OpenAI에 투자하며 전략

nomadtrader.tistory.com

이전에 Bing AI로 Chat GPT를 맛보았었는데, 사용하다 보니 알게 된 것이 있다.

아마 Chat GPT와 이것이 내장된 Bing AI 모두 사용해 본 사람은 알겠지만, Bing AI는 답변에 보수적인 편이다.

Chat GPT는 거뜬히 답변해 주는 것도 Bing AI는 대답을 회피하거나 비교해 보았을 때 내용이 부실한 경우가 잦다.

 

Chat GPT가 처음 공개되고, 실제로 생산성을 높여주는지에 대해서는 사실 반신반의하였다.

나는 파이썬으로 알고리즘 트레이딩 로직을 짜서 돌리거나 주식 퀀트에 활용하고 있다. 이에 도움이 될까 해서, 간단하게 코딩도 시켜보고 이것저것 물어봤는데 2% 부족한 느낌을 받았다. 실제로 사용하려면 수정을 거쳐야 했고 조금 버벅거리거나 하는 문제도 있었다.


그런데 최근 사용하고 있는 1) IDE인, VSCode에 쓸모 있는 Extension이 있어 소개하고자 한다.

사실 이렇게 담백하게 소개하면 아쉽고, "아직도 EasyCode를 안 쓰세요?"라고 소개하고 싶다.

 

VSCode 안에서 바로 Chat GPT를 사용할 수 있는 Extension인데, 사용해 보니 개발환경 바로 옆에 위치해 있어 너무 편하고 속도도 빨라 유용했다.

 

설치는 간단하다. VSCode 확장에 들어가 EasyCode를 검색한 후 바로 Install 해주면 된다.

확장에 EasyCode 검색 후
Install 해주면 끝.


설치만큼이나 사용법도 간단하다. 왼쪽 Task에 추가된 모습을 볼 수 있다. 별도의 로그인이나 유료구매 없이도 바로 사용할 수 있다.

대충 보니 코드도 써주고, 코드 넣으면 설명도 해주고, 유닛테스트도 해주고, 리팩터링도 해줄 수 있다고 한다.

 

영어로 물어보면 속도가 더 빠르다. 실제로 사용해 보면 알겠지만, 한글로 물어봐도 생성되는 속도가 꽤 빠르다. 이전에 홈페이지에서 사용했을 때와 비교하면 큰 차이가 느껴진다.

 

예시로 간단히 "googletrans 2) 라이브러리를 사용해서, 원하는 String을 입력하면 한국어로 출력되는 코드를 작성해 줘."라고 요청해 보았다. 단순하게 코드만 뱉어내는 것이 아니라, 친절하게 사용 예시와 출력 결과도 보여준다.

요청대로 코드를 잘 작성해준 모습

 

GPT의 강점은, 얘기하고 있는 환경에서 이전에 말했던 내용을 기억하고 상호작용이 가능하다는 것이다.

 

아래처럼 한 줄씩 설명해 달라고 하면 또 친절하게 설명해 준다. 가독성도 좋아서 이해가 쉽다.

현재 바둑기사가 여러 인공지능과 대국하며 배우는 것처럼, 설계 외적으로 비전공자도 일단 코딩 영역은 GPT한테 배워도 되겠다는 생각이 든다.

일본어도 같이 출력될 수 있게 해달라고 요청하니 손쉽게 다시 써주었다.

↓GPT가 작성해 준 googletrans 라이브러리를 사용한 간단한 번역 코드

from googletrans import Translator

def translate_to_korean_and_japanese(text):
    translator = Translator()
    korean_result = translator.translate(text, dest='ko')
    japanese_result = translator.translate(text, dest='ja')
    return korean_result.text, japanese_result.text

text = "Hello, how are you?"
korean_text, japanese_text = translate_to_korean_and_japanese(text)
print(korean_text)
print(japanese_text)

 

오늘은 간단한 코드 작성을 예시로 들어 보았다. 사용해 보면 코드 리팩터링도 잘해주고, 수정하거나 추가한 부분 주석 달아달라고 하면 달아주고, 코드를 보다가 이해가 어려운 함수를 설명해 달라고 하면 잘 설명해 준다.

기능이 많아지면 가끔 헤매기도 하는데, 이때 팁을 주자면 3) 메서드별로 집어서 질문하거나 원하는 바를 구체적이고 명확하게 전달하면 요지를 잘 파악할 수 있어 답변이 정확해진다.

 

또한, 처음부터 많은 요청을 하기보다 구현하기 쉬운 작은 단위부터 순차적으로 물어보고, 코드를 수정해 나가면 삽질도 덜 할 수 있고 GPT의 도움을 받지 않았을 때보다 훨씬 개발 속도가 올라간다.

 

실제로 내가 어떤 메서드를 사용해야 하는지 모르는 상태에서, 현재 코드에서 원하는 기능을 잘 말해 주었더니 적절한 메서드를 추천하여 코드에 추가해 주기도 하였다.

 

추가로, 5$만 내면(150,000 토큰) GPT-4를 사용할 수 있게 해 준다. 아직 GPT-4를 사용해보지 않았지만 얼마나 더 똑똑할지 기대되어 조만간 결제할 듯싶다.


전공자나 개발자에게도 큰 도움이 될 것이라 생각하는데, 코딩을 하는 비전공자에겐 너무나 큰 힘이 되지 않을 수 없다.

 

최근 며칠 동안 사용해 보면서 프롬프트 엔지니어링의 중요성을 깨닫게 되었다. 미묘한 단어의 차이로 다른 답변을 하는 GPT를 보면서 어떻게 하면 더 좋은 답변을 이끌어 낼 수 있도록 질문할지 고민하는 시간이 늘었다.

 

앞으로는 아는 것이 힘이 아니라, 모르는 것을 질문하는 것이 힘인 세상이 올지도 모른다는 생각이 든다.


 

1) 통합 개발 환경(IDE)이란 프로그래머가 소프트웨어 코드를 효율적으로 개발하도록 돕는 소프트웨어 애플리케이션

 

2) 라이브러리(library)는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다. 여기에는 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형 사양을 포함할 수 있다.

 

3) 메서드(method) 또는 멤버 함수는 객체 지향 프로그래밍에서 객체와 관련된 서브 루틴 (또는 함수)이자 클래스가 가진 기능

반응형

댓글