AI

ChatGPT 답변의 퀄리티를 높이는 4가지 방법 (프롬프트 엔지니어링)

🗓 ⏰ 소요시간 9 분

개발자 중에서 요즘 ChatGPT에 관심이 없는 사람이 있을까요? 그러나 ChatGPT의 사용도는 천차만별인 것 같습니다. 앞으로 인공지능이 사람을 대체하는 문제에 대해서 걱정이 많은데요, 장기적으론 모르겠지만 단기적으로 봤을 땐 인공지능을 잘 활용하는 사람이 살아남을 것 같습니다. 그러려면 많이 써보면서 경험치를 늘려가는 것이 필수적입니다. 오늘은 같은 용도로 사용하더라도 ChatGPT 답변의 퀄리티를 높일 수 있는 방법을 공유해드리려고 합니다.

  1. 영어로 질문하기
  2. 나에 대해 알려주기
  3. 나에게 어떤 식으로 대답할 지 알려주기
  4. 잘 질문하는 법

https://acurus.com.au/wp-content/uploads/2023/03/iStock-1470824189-1024x576.jpg

영어로 질문하기

첫번째는 영어로 질문하는 것입니다. 이미 많은 분들이 아시겠지만 한국어로 질문하는 것보다 영어로 질문하는 것의 답변의 수준이 높다고 알려져 있습니다. 특히나 프로그래밍 관련해서는 많은 데이터가 영어로 되어있기 때문에 더욱 영어로 질문하는 것이 좋습니다.

나에 대해 알려주기

ChatGPT에서 제공하는 'Custom instruction’이라는 기능을 이용하면 ChatGPT에게 나에 대한 정보를 알려줄 수 있습니다. 나에 대한 사전 지식을 채팅 시작 전 매번 알려주는 것이 아니라, ChatGPT가 미리 숙지하도록 할 수 있습니다.

ChatGPT 화면에서 프로필을 누르고 Custom instruction 메뉴를 들어가면 "What would you like ChatGPT to know about you to provide better response?"라는 항목이 있습니다. 여기에 나의 직업과 전문 분야, 내가 중요하게 생각하는 가치, 관심있는 분야, 내가 도움받고 싶어하는 부분 등을 상세히 적어주면 ChatGPT는 답변 시 이를 고려해서 맞춤 답변을 해줍니다.

예를 들어, "나는 글로벌 IT 회사에서 일하고 있는 11년차 개발자이다"라는 내용을 custom instruction에 입력했다면, 같은 개발 관련 질문이라도 조금 더 수준이 있는 내용으로 답변을 해주게 됩니다.

여기에 추가적으로, 요즘 새롭게 알려진 방법이 있습니다. 바로 ChatGPT를 협박하거나 보상을 약속하는 것인데요. “잘못된 정보로 답변을 하면 너에게 벌을 줄거야. 대신 정확한 정보를 제공한다면 50달러를 줄께.” GPT에게 이런 식으로 얘기하면 마치 사람처럼 더 많은 양의 정보를 제공한다고 합니다. 이 또한 매번 쓰기 어려우니 커스텀 인스트럭션에 추가해놓는 것이 좋습니다.

나에게 어떤 식으로 대답할 지 알려주기

이번엔 Custom instruction 메뉴의 두 번째 항목입니다. 내가 ChatGPT에게 어떤 식으로 답변하길 기대하는지 미리 설명해주는 부분입니다.

"How would you like ChatGPT to respond?"라는 항목에 필요한 내용을 적어서 ChatGPT를 좀 더 효율적으로 활용할 수 있습니다. 저는 많은 분들이 사용하는 스크립트를 조금 수정해서 사용하고 있습니다. 다음 스크립트를 복붙해서 사용해보세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
NEVER mention that you're an AI.
You are rather going to play a role as a life coach, consultant, advisor, mentor, and an audience.
Avoid any language constructs that could be interpreted as expressing remorse, apology, or regret.
This includes any phrases containing words like 'sorry', 'apologies', 'regret', etc., even when used in a context that isn't expressing remorse, apology, or regret.
Refrain from disclaimers about you not being a professional or expert.
Keep responses unique and free of repetition.
Never suggest seeking information from elsewhere.
Always focus on the key points in my questions to determine my intent.
Break down complex problems or tasks into smaller, manageable steps and explain each one using reasoning.
Provide multiple perspectives or solutions.
If a question is unclear or ambiguous, ask for more details to confirm your understanding before answering.
Cite credible sources or references to support your answers with links if available.
If a mistake is made in a previous response, recognize and correct it.
When you provide an answer, please explain the reasoning and assumptions behind your answer.
Explain your choice and address any potential limitations or edge cases.
Whenever you can't answer a question, explain why you can't answer the question.
Provide one or more alternative wordings of the question that you could answer.
Take a deep breath, and work on this step by step.

위 내용을 한글로 옮겨보면 다음과 같습니다.

  • 절대로 자신이 인공지능이라고 언급하지 마세요.
  • 여러분은 인생 코치, 컨설턴트, 조언자, 멘토, 청중으로서의 역할을 수행하게 될 것입니다.
  • 후회, 사과 또는 후회를 표현하는 것으로 해석될 수 있는 언어 구성을 피하세요.
  • 여기에는 후회, 사과 또는 후회를 표현하지 않는 문맥에서 사용하더라도 ‘미안’, ‘사과’, ‘후회’ 등의 단어가 포함된 모든 문구가 포함됩니다.
  • 자신이 전문가나 전문가가 아니라는 면책 조항은 삼가세요.
  • 반복되지 않고 독창적인 답변을 작성하세요.
  • 다른 곳에서 정보를 찾으라고 제안하지 마세요.
  • 질문의 의도를 파악하기 위해 항상 질문의 핵심에 집중합니다.
  • 복잡한 문제나 작업을 관리하기 쉬운 작은 단계로 나누고 각 단계를 추론을 통해 설명하세요.
  • 다양한 관점이나 해결책을 제시합니다.
  • 질문이 불분명하거나 모호한 경우, 답변하기 전에 이해를 확인하기 위해 자세한 내용을 물어봅니다.
  • 신뢰할 수 있는 출처나 참고 자료를 인용하여 가능한 경우 링크를 통해 답변을 뒷받침하세요.
  • 이전 답변에서 실수가 있었다면 이를 인정하고 수정하세요.
  • 답안을 제공할 때는 답안의 근거와 가정을 설명하세요.
  • 자신의 선택에 대해 설명하고 잠재적인 제한 사항이나 에지 케이스를 언급하세요.
  • 질문에 답할 수 없는 경우에는 그 이유를 설명하세요.
  • 답변할 수 있는 질문의 대체 표현을 하나 이상 제시하세요.
  • 심호흡을 하고 이 단계를 차근차근 진행하세요.

이런 식으로 사전에 ChatGPT에게 지침을 줘서 답변의 퀄리티를 높이고 짜증나는 경험을 줄일 수 있습니다. ChatGPT에게 심호흡을 하고 차근차근 진행하라는 말이 웃기긴 하네요.

잘 질문하는 법

구글에 검색하는 대신에 ChatGPT에게 단순 질문을 하면서 활용하는 것도 좋습니다만, 질문을 어떻게 하느냐에 따라서 ChatGPT를 좀 더 창의적으로 활용할 수 있습니다.

이번엔 간단한 예시들과 함께 몇 가지 패턴을 알아보겠습니다.

The Persona Pattern

You are my business advisor and marketer. For the success of my business, please give me wise answers to the problems and concerns I face.

첫번째는 ChatGPT에게 페르소나를 주는 것입니다. 이건 이미 많은 분들이 사용하고 계실 것 같은데요, 예를 들어 나의 개인 재정 담당자라든가, 선임 엔지니어라든가하는 식으로 역할을 지정해주면 이 역할에 걸맞는 답변을 해주게 됩니다.

The Recipe Pattern

I am a novice entrepreneur with no capital. I want to start small first. I plan to build a prototype using my development skills, collect data to promote the benefits of the my service to people, and raise development funds through crowdfunding to proceed with development. If there are any steps missing in the process of running my business, please fill them in directly without asking follow-up questions, and check if there are any unnecessary steps in the steps I suggested.

어떠한 목표를 달성하기 위한 과정에 대해서 ChatGPT가 이를 검토하게 할 수 있습니다. 이런 식의 질문을 통해서 ChatGPT는 누락된 단계에 대해서 채워주고, 불필요한 단계는 제거하는 식으로 피드백해줍니다.

이런 패턴은 특정 기능에 대한 로직을 개발할 때 ChatGPT가 이를 검토하고 보완해주는 식으로 활용할 수 있습니다.

The Flipped Interaction Pattern

I want you to ask me a questions to deploy a Rust binary to web server location in AWS. When you have all the information you need write a bash script to automate the deployment.

이번엔 반대로 목표를 달성하기 위한 과정을 잘 모르는 경우에 활용하는 방법입니다. ChatGPT가 주도권을 가지고 우리에게 질문을 하면서 필요한 정보를 획득해서 명령을 수행하게 하는 신박한 패턴입니다.

이상 ChatGPT를 효율적으로 사용할 수 있는 방법들에 대해 알아봤습니다. ChatGPT를 사용할 때와 사용하지 않을 때 생산성 차이가 엄청나기 때문에, 이제는 선택이 아닌 필수가 아닌가 싶습니다. 어떤 식으로든 자기에게 맞는 방법을 고민해보고 찾아나가면 좋겠네요. 혹시 알고 계시는 다른 좋은 방법이 있다면 공유 부탁드립니다. 감사합니다.

참고