개발자가 업무에 활용하는 ChatGPT

아이나비시스템즈
7 min readJul 25, 2024

--

Ep.12

첫 공개부터 엄청난 관심을 끈 ChatGPT는 다양한 서비스 개발에 활용되고 있으며, 개발자들 역시 인공지능을 활용하여 보다 효율적으로 업무를 수행하고 있습니다. 오늘은 개발자가 업무에 ChatGPT를 이용하는 방식에 대해 소개하고자 합니다.

ChatGPT 소개

ChatGPT는 OpenAI가 개발한 대화형 인공지능 서비스로 대형 언어 모델 GPT-3.5와 GPT-4를 기반으로 만들어졌습니다.

2022년 11월에 프로토타입이 출시되면서 5일 만에 100만 사용자를 달성하며 주목받았고최신 버전인 GPT-4o(포오)는 이전 버전인 GPT-4나 GPT-3.5보다 더욱 자연스러운 대화를 할 수 있습니다.

ChatGPT 소개

처음 GPT-3.5에서는 한 번에 처리할 수 있는 최대 토큰이 4,096개여서 긴 문맥을 처리할 때 종종 문맥을 잃거나 불완전한 답변을 제공하는 경우가 있었습니다.

하지만 GPT-4o는 최대 32,768개의 토큰(단어와 구두점 포함)을 한 번에 처리할 수 있어, 긴 문맥을 이해하고 보다 정확한 답변을 제공할 수 있습니다.

다음은 GPT-3.5와 GPT-4o에 각각 “Python으로 퀵소트를 구현해 줘” 라는 요청을 하였을때 얻은 답변입니다.

GPT-3.5를 이용한 요청
GPT-4o를 이용한 요청

응답을 보았을 때 GPT-3.5에 “Python으로 퀵소트를 구현해 줘”라고 요청하면 코드와 간단한 설명만 제공하는 반면, GPT-4o는 3.5보다 자세한 알고리즘 설명과 코드, 그리고 코드 리뷰를 포함하여 더욱 완성도 높은 답변을 제공합니다.

프롬프트 작성 방법

ChatGPT를 효과적으로 사용하기 위해서는 명확하고 구체적인 프롬프트를 작성하는 것이 중요합니다. 다음은 좋은 프롬프트 작성 예시입니다.

  • 일반적인 프롬프트: “JavaScript로 배열을 정렬하는 함수를 작성해 줘.”
  • 구체적인 프롬프트: “JavaScript로 숫자 배열을 오름차순으로 정렬하는 함수를 작성해 줘. 배열의 길이는 가변적이며, 중복된 값도 처리해야 해.”

이와 같이 구체적이고 명확한 요구사항을 포함하면 ChatGPT가 더 정확한 답변을 제공할 수 있습니다.

프롬프트를 작성하기 어렵다면 프롬프트를 요청해서 작성할 수도 있습니다.

프롬프트를 위한 프롬프트 요청

ChatGPT 개발 업무에 적용하기

ChatGPT는 앞서 소개한 것처럼 개발 업무에서도 효율적으로 활용할 수 있습니다.

개발자는 ChatGPT를 통해 코드 생성, 코드 분석, 새로운 라이브러리 및 모듈 적용, 오류 수정, 문서 작성 등 다양한 업무에서 도움을 받을 수 있습니다.

  1. 코드 생성

예를 들어, 두 좌표 간의 거리를 계산하는 JavaScript 코드를 작성해야 할 때 다음과 같이 요청해서 코드를 얻을 수 있습니다.

코드 생성 예제

2. 코드 분석

프로젝트를 수행함에 있어 복잡한 코드를 분석해야 할 때 이용할 수 있습니다.

예를 들어, 두 좌표 간의 거리를 계산할 때 사용한 코드를 다음과 같이 분석할 수 있습니다.

코드 분석 예제

3. 신규 라이브러리/모듈 적용

개발 업무에서는 새로운 라이브러리나 모듈을 사용해야 할 때도 이용할 수 있습니다.

예를 들어 `iNavi Maps API`를 사용하여 지도와 마커를 생성하는 방법을 알 수 있습니다.

신규 라이브러리/모듈 적용 예제
신규 라이브러리/모듈 적용 예제

4. 오류 수정

코딩 업무 중에 발생한 오류에 대해서도 원인을 파악하고 해결할 때 활용할 수도 있습니다.

오류가 발생한 코드
오류 수정 예제

5. 문서 작성

업무에 관련된 문서를 작성할 때 도움을 받을 수 있습니다.

예를 들어, 현재까지 소개한 내용은 ChatGPT에서 생성된 대화를 바탕으로 작성된 문서입니다.

주의사항

ChatGPT를 활용하는 데 주의할 점도 있습니다.

먼저 OpenAI에서 공식적으로 다음과 같은 제한 사항을 언급하고 있습니다.

  • 부정확하거나 무의미한 답변: ChatGPT는 그럴듯하지만 부정확하거나 무의미한 답변을 작성할 때가 있습니다. 이는 학습 과정에서 사실 여부를 판단할 근거가 부족하기 때문입니다. 그리고 모델을 더 신중하게 훈련시키는 경우, 제대로 답변할 수 있는 질문도 거부할 수 있으며 모델의 자체 지식으로 생성된 잘못된 답변을 사실로 확신할 수 있습니다.
  • 장황함과 반복: GPT 모델은 지나치게 장황하고 특정 문구를 많이 사용합니다.
  • 애매한 질문 처리: 애매한 질문을 하게 되면 명확한 질문을 요청하지 않고 사용자의 의도를 추측하는 경향이 있습니다.
  • 부적절하거나 유해한 응답: 부적절하거나 유해한 지시를 거부하도록 설계되었지만 필터링되지 않거나 편향된 응답이 있을 수 있습니다.

또한 ChatGPT를 사용할 때는 입력된 모든 데이터와 응답이 학습에 활용될 수 있음을 염두에 두어야 합니다.

  • 소유권 및 저작권 침해: 생성된 출력물은 사용자가 소유권을 가지지만 타인의 저작권을 침해할 위험이 있습니다.
  • 데이터 삭제: 정책상으로 ChatGPT 계정을 삭제하면 모든 데이터가 30일 이내에 삭제되지만, 특정 대화나 프롬프트만 개별적으로 삭제할 수는 없습니다.
  • 개인정보 보호: 민감한 개인정보나 기밀정보를 입력하지 않도록 주의해야 하고 자세한 사항은 이용약관과 개인정보 보호정책을 확인하는 것이 중요합니다.

지금까지 개발자가 업무에 ChatGPT를 활용하는 방법에 대해 알아보았습니다. 오늘 글에서 소개한 것과 같이 ChatGPT는 개발자들에게 매우 유용한 도구이지만, 주의 사항에 대한 명확한 인지가 필요하며, 적절한 용도로만 사용되어야 합니다.

인공지능 기술은 빠르게 발전하고 있으며, ChatGPT 역시 계속해서 발전하고 있습니다. 새로운 기술을 적극적으로 수용하고, 자신의 역량을 향상시키기 위해 노력해야 하는 개발자들에게 발전하는 인공지능은 또 다른 기회이자 도전입니다.

아이나비시스템즈의 개발자들은 ChatGPT를 비롯한 다양한 인공지능 기술을 적극적으로 활용하여 업무 효율을 높일 수 있도록 노력하고 있습니다.

이 글이 많은 분께 도움이 되기를 바랍니다.

by 아이나비시스템즈 지도기술개발팀

--

--