주요 링크
핵심 요약
- 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 기반 도구를 사용하여 코드를 생성할 때는, 단순히 복사해서 붙여넣기보다는 코드가 실제로 어떤 작업을 수행하는지 이해하려는 노력이 필요합니다.