테크레시피

챗GPT 코딩 능력 “오래된 문제에는 효과적이지만…”

구글이나 미스트랄 AI 등에서 프로그래밍에 특화된 AI 도구가 등장하고 있으며 대형 기술 기업 CEO가 AI가 코드를 작성하니 더 이상 프로그래밍을 배울 필요가 없다고 발언하는 등 AI에 의한 프로그래밍이 주목받고 있다. 이런 AI 프로그래밍 능력을 분석한 연구가 공개됐으며 AI 모델이 훈련된 시기에 따라 어려움에 직면할 수 있다는 것이 밝혀졌다.

소프트웨어 엔지니어링 과학 저널(IEEE Transactions on Software Engineering) 2024년 6월호에 게재된 최신 연구 논문에서는 오픈AI 챗봇인 챗GPT에 의해 생성된 코드를 기능성, 복잡성, 보안이라는 3가지 측면에서 평가하고 있다. 그 결과 챗GPT는 기능적인 코드를 생성할 때 작업 난이도, 프로그래밍 언어 및 기타 다양한 요인에 따라 0.66~89%라는 폭넓은 성공률을 보이는 것으로 나타났다. AI는 인간보다 뛰어난 코드를 생성할 수도 있지만 분석에서는 AI 생성 코드와 관련된 보안상 우려도 지적되고 있다.

연구팀은 AI 코드 생성에 대해 생산성 향상과 소프트웨어 개발에서의 작업 자동화라는 점에서 이점을 가져올 수 있다고 지적하면서도 모델 장점과 한계를 파악하는 것도 중요하다고 강조했다. 연구팀은 포괄적인 분석을 통해 챗GPT 기반 코드 생성에서 발생하는 잠재적인 문제나 제한을 밝히고 생성 기술을 개선할 수도 있다고 말했다.

연구에서는 AI 코드 생성 한계를 자세히 조사하기 위해 GPT-3.5 기반 챗GPT에 C언어, C++, 자바, 자바스크립트, 파이썬 등 5개 프로그래밍 언어로 테스트 플랫폼(LeetCode)에서 모은 728가지 유형 코딩 문제를 해결하게 하는 테스트를 실시했다.

챗GPT 코딩 능력은 전체적으로 뛰어났으며 그 중에서도 2021년 이전부터 LeetCode에 존재하던 코딩 문제를 해결하려 할 때 뛰어난 성능을 보였다고 한다. 예를 들어 챗GPT는 낮음, 중간, 높음이라는 3가지 난이도 문제에 대해 각각 89%, 71%, 40% 확률로 기능적인 코드를 생성하는 데 성공했다.

하지만 2021년 이후 LeetCode에 게시된 코딩 문제의 경우 챗GPT는 기능적인 코드를 생성할 확률이 현저히 낮아진다고 한다. 이는 난이도가 낮은 문제에서도 마찬가지로 챗GPT가 애초에 문제의 의미를 이해하지 못하는 경우가 있다고 지적했다. 이에 대해 챗GPT는 인간이 가진 비판적 사고 능력이 부족하기 때문에 과거에 접한 적이 있는 문제에만 대처할 수 있다며 챗GPT가 비교적 새로운 코딩 문제에 잘 대처하지 못하는 이유가 이것이라고 설명하고 있다.

한편 챗GPT는 같은 코딩 문제를 해결한 인간의 코드보다 50%나 실행 시간 및 메모리 오버헤드가 작은 코드를 생성할 수 있다고 하며 AI 코드 생성이 뛰어나다는 점도 분명히 드러났다.

연구팀은 LeetCode로부터 피드백을 받아 챗GPT가 자체적으로 코딩 오류를 수정하는 능력에 대해서도 조사했다. 이 조사에 따르면 챗GPT는 컴파일 오류 수정은 잘하지만 자신의 실수를 수정하는 건 그다지 잘하지 못하는 것으로 밝혀졌다. 이에 대해 연구팀은 챗GPT는 알고리즘 문제 의미를 이해하지 못하기 때문에 잘못된 코드를 생성할 가능성이 있다며 다시 말해 단순한 오류 피드백 정보만으로는 불충분하다는 것이라고 기술했다.

또 연구팀은 챗GPT로 생성된 코드에는 널 테스트 부재 등 취약성이 존재한다고 지적했다. 다만 취약성 대부분은 쉽게 수정 가능하다고도 지적됐다.

이 밖에도 C언어로 생성된 코드가 가장 복잡하고 그 다음으로 C++와 파이썬이 뒤를 이었으며 이들은 인간이 작성한 코드와 비슷한 수준 복잡성을 보였다는 점도 밝혀졌다.

연구 결과에 대해 이런 결과를 바탕으로 볼 때 챗GPT를 사용하는 개발자가 챗GPT가 문제를 더 잘 이해하거나 취약성을 피할 수 있도록 추가 정보를 제공하는 게 중요하다는 걸 알 수 있다고 말했다. 예를 들어 더 복잡한 프로그래밍 문제에 직면했을 때 개발자는 가능한 한 관련 지식을 제공하고 잠재적인 취약성에 주의해야 한다는 점을 프롬프트로 챗GPT에 전달할 필요가 있다며 챗GPT를 이용한 코딩에 대한 힌트를 제시했다. 관련 내용은 이곳에서 확인할 수 있다.

이석원 기자

월간 아하PC, HowPC 잡지시대를 거쳐 지디넷, 전자신문인터넷 부장, 컨슈머저널 이버즈 편집장, 테크홀릭 발행인, 벤처스퀘어 편집장 등 온라인 IT 매체에서 '기술시대'를 지켜봐 왔다. 여전히 활력 넘치게 변화하는 이 시장이 궁금하다.

뉴스레터 구독