본문 바로가기

GPT 활용법

ChatGPT로 반복적인 코드 작성 팁

ChatGPT로 단순한 코드 작성하기

 

어떻게 프롬프트에 입력하면 한 번에 원하는 결과를 얻을 수 있을까? 

 

안녕하세요. 오랜만에 돌아온 앱개발지식나눔입니다. 오늘은 ChatGPT 프롬프트로 간단한 enum을 만들고 그것을 바탕으로 Switch 문을 만들어보겠습니다. 이 글은 프론트앤드, 백엔드, 서버 엔지니어 뿐만 아니라 코드를 작성하는 모든 분들을 대상자로 합니다. GPT에게 구조화된 질문을 통해 원하는 답을 쉽게 얻는 것을 목표로 하고 있습니다.

 

최근 실무에서 다른 개발자를 살펴보면 거의 대부분이 Chat GPT를 사용하여 자신의 코드를 수정하고 새로운 코드를 작성합니다. Chat GPT 나오기 전과 비교하면 엄청나게 다른 모습이죠. 하지만 다들 자신이 원하는 답을 얻기 위해 많은 시행착오를 거칩니다. 저 또한 처음 Chat GPT가 나오고나서 많은 시행착오를 거쳐 원하는 답을 쉽게 찾을 수 있는 노하우를 발견할 수 있었습니다.

 

많은 시행착오를 거치면서 Chat GPT에게 질문을 할 때 쉽게 답을 도출할 수 있는 공통적인 패턴과 방식을 발견할 수 있었습니다. 이런 노하우, 방법을 엮어 이 글에 녹일 수 있었습니다. 따라서 이번 글도 저의 노하우와 방법을 바탕으로 자신의 목적에 맞는 코드를 Chat GPT를 통해 작성하는 것을 목표로 합니다.

 

GPT는 하나의 도구로서 복잡하고 추상적인 작업은 아직 능력이 떨어지지만 단순 반복적이고 ‘패턴’ 이 있는 작업에는 매우 강력한 편입니다. 따라서 ChatGPT를 코드 작성에 사용해도 될지 판단할 때 '이것이 패턴이 있는가?'를 스스로에게 묻고 'Yes'라는 답이 나오면 GPT를 사용합니다.

 

Chat GPT로 작성하기 전에 우리는 enum을 왜 사용할까요? 문자열로 조건문을 비교할 때 철자를 실수할 수 있습니다. 하지만 enum과 switch를 이용하면 이러한 실수를 할 확률을 많이 내릴 수 있습니다. 그럼 이제 미국 대표 기념일을 enum으로 만들어보겠습니다.

 

미국 대표 기념일 GPT로 생성하기

 

여기서 어떤 언어로 만들지 명시를 안 했기 때문에 파이썬 문법으로 제작되었습니다. 저는 Swift로 enum을 작성할 예정이니 다음과 같이 질문해보겠습니다. (저는 프롬프트 지니를 사용하여 영어로 자동번역하여 질문합니다.)

 

 

 

Swift문법으로 enum을 작성하고 사용 예시까지 명시되었습니다. 그러면 여기에 발렌타인데이, 세인트 패트릭스 데이, 할로윈, 재향군인의 날을 추가해보겠습니다.

 

 

 

여기서 주목해야 할 점은 질문에 제가 GPT가 만든 변수명인 USHolidays을 언급했다는 점입니다. GPT는 이전 질문과 대답의 맥락을 어느정도 기억하고 있기 때문에 가능합니다. 하지만 질문과 대답이 많아질 수록 예전 질문과 대답은 잊혀짐으로 참고하셨으면 좋겠습니다. 또한 맥락을 기억하고 있어서 계속 프롬프트에 Swift를 명시하지 않았어도 파이썬이 아닌 Swift문법으로 답을 하고 있습니다. 지금까지 enum을 만들었는데 만약 회사에서는 카멜 표기법이 아닌 스네이크 표기법을 사용한다면 어떻게하면 될까요?

 

 

 

여기서도 질문에 USHolidays변수를 언급하였고 이것이 카멜 표기법으로 작성되었다는 것까지 알려주었습니다. 그리고 우리의 목적인 스네이크 표기법으로 각 항목을 바꿔달라고 말했습니다. 여기서 무엇을, 어떻게 바꿔달라고 확실히 명시했습니다. 예를 들어 ‘아까만든 변수를 스네이크 표기법으로 바꿔줘.’ 이렇게 추상적으로 물으면 GPT는 USHolidays를 스네이크 표기법으로 바꿀 확률이 높아집니다. USHolidays 안에 있는 변수를 바꿔달라고 정확히 요청했습니다. 항상 추상적이게 질문하지 말아야할 것을 기억해야합니다. ‘garbage input garbage out’.

 

 

 

그럼 enum을 가지고 switch문을 만들어봅시다. 이번 Switch문을 함수로 만들려고 합니다. 함수 이름은 ‘choiceUSHolidays’라고 만들고 싶고 매개변수와 일치한 항목의 String값을 리턴하고 싶습니다.

 

 

 

일단 요청 사항을 정리해보았습니다. 저는 GPT에 질문하기 전에 내가 요청해야 할 것을 미리 형식화 시킵니다. 그래야 까먹거나 누락하는 부분을 많이 없앨 수 있습니다. 함수는 크게 4가지로 구성됩니다. 코드 이름, 매개 변수, 리턴 값, 함수 내용으로 구성되고 각 항목이 필요가 없는 코드도 있습니다. 여기서는 4가지가 다 필요합니다. 그럼 다음 페이지에서 질문과 대답을 보겠습니다.

 

 

 

함수 조건에 명시했던 4가지가 질문에 들어갔습니다. 조건을 넣을 때 순서는 크게 상관이 없습니다. 결과를 한 번 분석해보겠습니다. 함수 이름은 ‘choiceUSHolidays’로 잘 들어왔고 매개변수로 USHolidays로 잘 전달받았습니다. 매개변수 이름은 holidays로 GPT가 알아서 정했습니다. 리턴 타입은 문자열이고 Enum의 항목을 String으로 바꾸어 전달합니다. ‘아까 전에 만든'을 통해 이전에 만들었던 enum을 가리킨다는 것을 알 수 있습니다. 그리고 아래 어떻게 이 함수를 사용하는지에 대한 함수도 만들었습니다.

 

정리

내용을 정리해보겠습니다. GPT로 함수를 생성할거면 꼭 함수의 속성 4가지를 정리하고 질문해야 합니다. 그리고 enum, switch를 만들거면 enum을 만들고 그것을 바탕으로 switch문을 만드는 것을 추천드립니다.

 

 

첫번째 GPT를 코드에 활용한 사례를 보면 ‘별거 아니네?’라고 생각할 수 있습니다. 맞습니다. GPT는 패턴화된 작업에 최적화되어있기 때문에 명령만 잘하면 너무나 좋은 도구입니다. 이번 글에서 꼭 알아두어야 할 것은 목표하는 항목들을 구체적으로 적어야한다는 점입니다. 그리고 맥락을 기억하고 있지만 GPT가 헷갈리지 않게 꼭 변수명을 질문에 언급해야한다는 점 그 이유는 질문과 대답이 오갈수록 예전 맥락을 잊기 때문이라는 점. 마지막으로 GPT가 만든 코드는 사람이 꼭 검수해야한다는 점. 이것만 기억한다면 이번 글을 완벽히 이해한거와 다름없습니다.