매일 업데이트
2024-02-06 13:20 5 min

CodeGPT란 무엇이며 실제로 코드를 작성할 수 있습니까?

주요 링크

핵심 요약

  • CodeGPT는 인공지능(AI) 기반 코딩 보조 도구로, 자동 완성 및 코드 설명 등의 기능을 통해 프로그래머의 코드 작성 및 수정 작업을 지원합니다.
  • CodeGPT는 무료로 이용 가능하지만, 일부 추가 기능을 사용하려면 월 $9.99에서 $49.99 사이의 구독료가 필요합니다.
  • CodeGPT는 코드를 생성할 수 있지만, 결과물이 항상 오류가 없거나 최적의 코딩 관행을 따르는 것은 아닙니다. 따라서 생성된 코드를 이해하고 필요에 따라 수정하는 것이 중요합니다.

코드 작성에 도움을 줄 수 있는 AI 기반 도구를 찾고 있다면 CodeGPT를 한번쯤 들어보셨을 겁니다. 이것은 프로그래밍 작업을 할 때 활용할 수 있는 여러 AI 기반 도구 중 하나입니다. 그렇다면 CodeGPT는 실제로 코드를 작성할 수 있을까요?

CodeGPT란 무엇인가?

CodeGPT는 다양한 인공지능(AI) 모델을 활용하여 프로그래머들이 코드 작성 및 수정 작업을 더 효율적으로 할 수 있도록 돕는 확장 프로그램입니다. 이 프로그램은 자동 완성, 코드 설명, 리팩토링, 문서화, 단위 테스트, 오류 검사 및 디버깅 등 다양한 기능을 제공하여 빠르고 쉬운 프로그래밍을 지원합니다. 또한, 코드 편집기 내에서 ChatGPT와 유사한 인터페이스를 제공하여 사용자 편의성을 높였습니다.

CodeGPT의 강점 중 하나는 OpenAI 및 Google과 같은 여러 제공업체의 다양한 대형 언어 모델(LLM)과 연결할 수 있다는 점입니다. 또한 사용자가 자신만의 AI 에이전트를 만들어 프로젝트에 활용하거나 다른 사람들과 공유할 수 있도록 지원합니다.

CodeGPT는 Linux, macOS, Windows 환경에서 다양한 코드 편집기를 지원하지만, 현재는 VS Code 또는 VS Code의 파생 버전인 Cursor에서만 설치하고 사용할 수 있습니다.

CodeGPT 비용은 얼마인가?

CodeGPT는 무료로 다운로드하고 설치할 수 있지만, 확장 기능을 완전히 활용하려면 추가 비용이 발생합니다. CodeGPT는 사용자에게 필요한 기능에 따라 다양한 구독 패키지를 제공하며, 무제한 사용이 필요할 경우 유료 구독을 선택할 수 있습니다.

CodeGPT Plus 구독에는 세 가지 플랜이 있습니다. 기본 플랜은 월 $9.99, 스탠다드 플랜은 월 $19.99, 그리고 골드 플랜은 월 $49.99입니다. 확장 기능을 평가해 볼 수 있는 무료 평가판 기간도 제공됩니다. 각 패키지에 따라 무제한으로 상호 작용할 수 있는 특정 AI 에이전트가 제공됩니다.

OpenAI의 GPT-4 모델과 같은 타사 AI 모델을 무제한으로 사용하려면 추가 비용을 지불해야 한다는 점을 기억해야 합니다. OpenAI의 GPT-4 모델 자체는 무료로 사용할 수 있지만, VS Code나 커서 내에서는 직접 접근할 수 없습니다.

CodeGPT, 실제로 코드를 작성할 수 있나?

CodeGPT의 코드 생성 능력을 평가하기 위해 Python에서 두 가지 다른 코드 샘플을 생성해 보겠습니다.

첫 번째로, Python에서 필요한 모든 메서드를 포함하는 스택 데이터 구조를 생성하도록 CodeGPT에 요청했습니다. 사용한 프롬프트는 다음과 같습니다:

“Python에서 스택을 생성하고 필요한 모든 메서드를 포함해 주세요.”

CodeGPT는 다음과 같은 응답을 생성했습니다.

class Stack:
    def __init__(self):
        self.stack = []

    def push(self, item):
        self.stack.append(item)

    def pop(self):
        if self.is_empty():
            raise IndexError("Pop from empty stack")
        return self.stack.pop()

    def peek(self):
        if self.is_empty():
            raise IndexError("Peek from empty stack")
        return self.stack[-1]

    def is_empty(self):
        return len(self.stack) == 0

    def size(self):
        return len(self.stack)

이 예시를 통해 CodeGPT는 클래스를 사용하여 스택을 생성하고, 발생 가능한 오류를 처리하기 위한 검사도 포함할 수 있을 만큼 똑똑하다는 것을 알 수 있습니다. 예를 들어, 비어 있는 스택에서 peek 또는 pop을 시도할 경우 IndexError 오류가 발생합니다.

두 번째 과제에서는 CodeGPT에게 JSONPlaceholder API에서 얻은 JSON 형식의 응답을 CSV 파일로 변환하도록 요청했습니다. JSONPlaceholder API의 응답 형식은 다음과 같습니다:

{
    'userId': 1,
    'id': 1,
    'title': 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit',
    'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'
}

CodeGPT에 다음과 같이 질문했습니다.

“https://jsonplaceholder.typicode.com/posts/1에서 외부 API에 요청했고 응답을 받았습니다. 응답을 JSON 형식으로 변환했습니다. 이 데이터를 어떻게 CSV 파일에 저장할 수 있을까요?”

CodeGPT가 생성한 코드는 다음과 같습니다:

import csv
import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
data = response.json()

data = [data]

with open('output.csv', 'w', newline="") as output_file:
    writer = csv.DictWriter(output_file, fieldnames=data[0].keys())
    writer.writeheader()
    writer.writerows(data)

전반적으로 이 응답은 매우 만족스럽습니다. 추가적인 조정 없이 바로 사용할 수 있었습니다. CodeGPT는 또한 각 코드 줄의 목적을 설명하는 주석을 추가하여 처음으로 이 작업을 수행하는 사람들에게 큰 도움이 됩니다.

하지만 open() 함수를 호출할 때 응답의 인코딩 유형을 명시하지 않았다는 점이 한 가지 아쉬운 부분입니다. 기본 인코딩이 자동으로 적용되지만, 명시적으로 인코딩 유형을 지정하는 것이 권장되며, Python에서 파일에 쓸 때 좋은 관행으로 여겨집니다. 이는 잘못된 해석으로 인해 텍스트가 깨지는 것을 방지할 수 있습니다.

결론적으로, CodeGPT는 코드를 작성할 수 있지만, 항상 최상의 결과를 제공하지는 않을 수 있습니다. 결과물에 오류가 있을 수 있으며, 반드시 모범 사례를 따르지 않을 수도 있습니다. 따라서 CodeGPT와 같은 AI 기반 도구를 사용하여 코드를 생성할 때는, 단순히 복사해서 붙여넣기보다는 코드가 실제로 어떤 작업을 수행하는지 이해하려는 노력이 필요합니다.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.