ChatGPT를 더 잘 쓰는 방법 1탄

들어가며

벌써 23년의 마지막 달입니다. 올해 초에 ChatGPT가 나왔을 때만 해도 이제 우리 개발자들의 일자리가 줄어드는 것 아닐까? 하는 우려가 많았는데 다행히 아직까지는 안전한 것 같아요. 오히려 전 올 한해 동안 챗 지피티(ChatGPT) 덕택에 많은 시간을 아끼며 업무 생산성을 높였던 것 같습니다. 앞으로 좋은 개발자의 조건 중 하나가 챗 지피티 활용 능력이 되지 않을까 싶네요.

그런 의미에서 오늘은 챗 지피티를 더 잘 쓸 수 있는 방법을 공유하려고 합니다. 지난 5월에 듣고 기록해 뒀던 강의 노트인데요. 쓰윽 보기 좋을 것 같아서 올려봅니다.

※ ChatGPT에 대한 소개 및 저의 생각은 ChatGPT를 대하는 프런트엔드 개발자의 자세를 참고하세요 😄

챗 지피티 질문(질의) 방법

챗 지피티에 원하는 정보를 얻기 위해 질문을 입력하는 동작을 질의라고 합니다. 이 질의문을 작성할 때 아래 두 가지 원칙을 따르면 좋아요.

  1. 구체적이고 정확하게 질의문을 작성할 것
  2. GPT 모델이 소화할 시간을 줄 것

핵심 원칙 1 - 구체적이고 정확한 질의문 작성

짧은 것보다 긴 것이 대체적으로 더 좋은 결과를 만듭니다. 질의문을 할 때 꼭 알아두면 좋은 전략 4가지를 볼게요.

  • 전략 1: 구분자를 꼭 사용합니다. 아래 예시를 볼까요.
""
``
---
< >
<tag></tag>
  • 전략 2: 답변의 구조를 구체적으로 지정해서 질의하세요.
질의) 키가 title, author, genre인 JSON 파일을 만들어줘
  • 전략 3: 조건이 만족했는지 확인하세요.
질의) 위와 같은 문장이 있을 때 만약 문장 안에 스텝이 존재한다면 아래와 같은 형태로 결과를 내주세요.

- Step 1 :
- Step 2 : 

그렇지 않고 만약 스텝이 없다면 "스텝이 없습니다"라고 결과를 내주세요.
  • 전략 4: 질의할 작업의 성공적인 결과물의 예시를 몇 개 알려주고 난 다음에 모델에게 질의하는 방법도 있습니다.
질의) 다음과 같은 일관된 형식으로 답변을 줘.

- 자식 : 인내심이 뭔가요?
- 할머니 : 인내심이란 황야에서 초심을 잃지 않고 우두커니 서있는 모습과도 같으며... (은유적인 표현으로 답변을 달라는 의미임)
- 자식 : 회복이 뭔가요?

핵심 원칙 2 - 모델에게 생각할 시간을 주자

챗 지피티의 모델은 사람과도 같습니다. 복잡한 문제의 답을 구할 때는 여러 질의를 통해서 생각할 시간을 줘보세요.

  • 전략 1: 작업을 완료하기 위한 스텝을 적어보세요.
Step 1: ...
Step 2: ...
Step 3: ...

작업 결과를 아래와 같이 구조화 할수도 있습니다.

위 문장을 아래와 같이 요약해 주세요.

- Text: <text to summarize>
- Summary: <summary>
- Translation: <summary translation>
- Names : <list of names in Italian summary>
- Output JSON : <json with summary and num_names>

위 질의문에서 <> 구분자를 사용한 걸 보세요. 앞에서 언급한 구분자 사용 전략을 잘 적용했습니다.

  • 전략 2: 모델이 잘못된 결론을 내리기 전에 먼저 스스로 옳은지 판단할 수 있도록 지시문을 작성해 보세요.
질의) 아래 문제에 대한 학생의 답변이 맞는지 안맞는지 알려줘.

- 문제 : 2 더하기 2는?
- 학생 : 3입니다.

GPT 답변) 학생이 맞습니다.

위와 같이 단순하지 않고 복잡한 계산인 경우 오답을 말할 수 있다. 따라서, 아래와 같이 지시하자.

질의) 아래와 같은 문제가 있을 때 학생의 답을 평가하지 말고 너가 먼저 스스로 문제를 풀어봐. 그리고 너가 문제를 풀고 나면 너의 답변과 학생의 답을 비교해서 맞는지 확인해 봐. 너가 문제를 풀기 전까지는 학생이 답이 맞는지 안맞는지 결정하지 마.

결론을 내릴 때 아래의 형식을 따라봐.

- 문제 :
- 학생 답변 :
- 실제 정답 :
- 정답을 도출하기 위한 과정과 너의 답변 :
- 학생 답변이 너의 답변과 같은가?
- 학생 답변이 정답인가? (답변의 정답율)

모델의 한계

허언증이란 그럴싸하지만 실제로는 정확하지 않은 정보를 만들어내는 특징입니다. 아래 이미지는 눈감고 거짓말하는 챗 지피티의 답변입니다.

허언증을 남발하는 챗 지피티

그럼 허언증은 어떻게 피할 수 있을까요? 아래와 같이 질문해 보세요.

질의) 캡틴판교 회사의 굴 파스타에 대해서 알려줘

캡틴판교 라는 회사가 있어? 굴 파스타도 제조하거나 판매하고 있나? 이 회사와 관련된 정보를 먼저 찾아봐. 그리고 관련 정보를 바탕으로 답변을 해줘.

앞에서 거짓말 했던 챗 지피티에게 보다 정확한 질의로 참 교육을 시전합니다.

허언증을 피하는 기술

마무리

오늘은 챗 지피티에게 어떻게 질문하면 좋을지와 한계점 정도를 배워봤습니다. 반복 질의 방식과 요약하기, 실전 적용한 내용들도 있는데 요건 다음 글에서 다뤄볼게요. 한번에 너무 많은 글보다는 적절한 양이 더 기억에 많이 남을 것 같아서요 :)

그럼 2탄은 다음 주에 연재하겠습니다. 다들 추운데 감기 조심하시구요! ❤️

참고

ChatGPT Prompt Engineering for Developers