반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

꿈꾸는 사람.

Visual Studio Code에서 OpenAI의 GPT-3으로 혁신적인 코드 작성 및 분석 방법 본문

AI

Visual Studio Code에서 OpenAI의 GPT-3으로 혁신적인 코드 작성 및 분석 방법

현무랑 니니 2023. 2. 13. 01:11
반응형

1. Visual Studio Code에서 OpenAI의 GPT-3 사용하기

개요

OpenAI의 GPT-3은 자연어 응답과 완전한 코드를 생성하는 기능을 갖춘 최첨단 대규모 언어 모델이다. 
확장을 통해 GPT-3을 Visual Studio Code에 통합하여 개발자는 이 강력한 도구를 활용하여 보다 효과적이고 효율적으로 코드를 작성하고 분석할 수 있다.

 

주요 기능

① GPT-3으로 코드 작성

GPT-3의 코드 작성 기능은 개발자를 위한 게임 체인저로 개발 시간을 절약하고 생산성을 높일 수 있다. 
Visual Studio Code에서 GPT-3 프롬프트에서 자연어로 요청만 개발자는 코딩 문제에 대한 도움을 받고 코드 조각을 생성하고 전체 함수를 작성할 수도 있다.

특히 개발자는 새로운 프로그래밍 언어를 배우는데 시간을 소비하지 않고도 쉽고 빠르게 코드를 작성할 수 있다.

 

② GPT-3을 사용한 코드 분석

코드 작성 외에도 GPT-3을 사용하여 Visual Studio Code에서 코드를 분석할 수도 있다. 
예를 들어 개발자는 GPT-3에 버그에 대한 코드 조각을 분석하고 이를 수정하기 위한 제안을 제공하도록 요청할 수 있다. 
이는 대규모 프로젝트에서 작업하고 코드 문제를 신속하게 식별하고 수정해야 하는 개발자에게 특히 유용할 수 있다.

 

③ 보고서를 생성하고 코드 메트릭을 분석하는 것

코드 분석에 GPT-3를 사용할 수 있는 또 다른 방법은 보고서를 생성하고 코드 메트릭을 분석하는 것이다. 
예를 들어 개발자는 GPT-3에 코드 줄 수, 코드 복잡성, 버그 수를 포함하여 코드베이스의 전체 구조 및 성능에 대한 보고서를 생성하도록 요청할 수 있다. 
이는 코드베이스의 성능을 이해하고 개선이 필요한 영역을 식별해야 하는 개발자에게 유용한 도구가 될 수 있다.

결론

Visual Studio Code의 OpenAI의 GPT-3는 보다 효율적이고 효과적인 방식으로 코드를 작성하고 분석하려는 개발자를 위한 강력한 도구이다. 
코드 생성 및 작업 완료, 버그 코드 분석, 보고서 생성 기능을 통해 개발자는 시간을 절약하고 생산성을 높일 수 있다. 

 

2. Visual Studio Code에서 CodeGPT 사용 방법

개요

이 확장 중 하나인 CodeGPT을 통해 공식 OpenAI API를 통해 VSCode 내에서 GPT-3를 사용할 수 있다.
이것은 코드 편집기에서 ChatGPT를 사용하는 것과 동등한 기능을 제공한다.

사용 절차

VSCODE에서 CodeGPT 설치

확장을 선택하고 (1) 'code gpt'를 입력하여 (2) 표시된 첫 code gpt를 선택하고 (3) 설치를 선택한다.


 API KEY 생성 및 등록

설치 후 설정을 눌러 [확장 설정]을 선택한다.

OpenAI의 API Key를 등록하기 위해 [API Key]를 누르면 아래 팝업 창이 나타난다.

[Create new secret key]를 눌러 키를 생성하고 복사해둔다.

[ctrl+shift+p]를 눌러 나타난 팝업 창에 [codegpt set]을 넣고 엔터 키를 누르고 나타난 텍스트 박스에 키를 붙여 넣는다.

 

CodeGPT에게 코드 요청하기

B-Tree.py 파일을 만들고  [# make a b-tree program] (1)코멘트를 쓰고 (2) [ctrl_shift+i]를 누르면 CodeGPT가 다음과 같은 코드를 생성한다.

같은 코멘트에서 동일하게  CodeGPT를 실행하면 유사한 코드를 생성해 주는데 이번에는 들여쓰기 오류가 있어 이전 생성한 코드와 머지를 하였다.

생성된 코드는 아래 더보기를 참고하면 된다.

더보기

 

# make a b-tree program
 
class Node:
    def __init__(self, data):
        self.data = data  
        self.left = None
        self.right = None

 

# Function to insert a new node  
def insert(node, data):
 
    # If the tree is empty, return a new node
    if node is None:
        return Node(data)

 

    # Otherwise recur down the tree
    if data < node.data:
        node.left = insert(node.left, data)

 

    elif data > node.data:
        node.right = insert(node.right, data)

 

    # return the (unchanged) node pointer  
    return node

 

def inorder(node):
    if node is not None:
        inorder(node.left)
        print(node.data)
        inorder(node.right)

 

# Preorder function
def preorder(tree):
    if tree:
        print(tree.data)
        preorder(tree.left)
        preorder(tree.right)
 
# Postorder function      
def postorder(tree):
    if tree:
        postorder(tree.left)
        postorder(tree.right)
        print(tree.data)

 

# Given a binary search tree and a number, inserts a new Node with the given number in the correct place in the tree. Returns the new root pointer which the caller should then use (the standard trick to avoid using reference parameters).  
def search(node, data):

 

    # Base Case: If tree is empty or key is present at root, we're done
    if node is None or node.data == data:
        return node

 

    # Key is greater than root's key
    if node.data < data:
        return search(node.right, data)

 

    # Key is smaller than root's key
    return search(node.left, data)

 

root = None
root = insert(root, 50)
insert(root, 30)    
insert(root, 20)    
insert(root, 40)    
insert(root, 70)    
insert(root, 60)    
insert(root, 80)    

 

print("Inorder traveral of the given tree.")
print(inorder(root))
print(preorder(root))
print(postorder(root))

생성된 코드를 실행하면 정상적으로 수행된 결과를 볼 수 있다.

④ CodeGPT로 코드 분석하기

생성된 코드 중 inorder() 함수를 선택하고

마우스 오른쪽 버튼으로 클릭한 다음 "Explain CodeGPT" 옵션을 선택한다.

다음과 같이 CodeGPT가 새 창을 열고 코드를 설명한다.

간단한 코드 생성과 코드 분석을 통해 CodeGPT는 개발자에게 혁신적인 도구가 될 것으로 보인다.

이제 GPT와 같은 AI를 쓸 수 있는 개발 도구만이 살아남을 것이다.

반응형
Comments