ChatGPT, 클로드 프롬프트 공식 - 목표 + 세부사항 + 맥락 (ICE-OR)
제가 자주 사용하는 프롬프트 공식을 설명드리겠습니다.
1. 지시사항 (목표) - Instructions
일단 지시사항 (instructions) 부터 시작합니다. 이 목표를 명료하게 세울 수록 LLM이 효과적으로 결과를 만들어낼 수 있습니다.
커피 머신으로 커피를 내리는 법에 대한 노트를 작성해줘.
목표 외에 현재 나의 상황을 맥락으로 추가해주면 좋습니다.
커피를 내리는 법에 대한 노트를 작성해줘. 나는 지금 필립스 1200 커피 머신으로 커피를 맛있게 내리는 법을 알고 싶어.
2. 세부사항 - speCifics
두번째는 세부 사항(Specifics)을 기록합니다.
순서가 없는 경우 - 와 같이 리스트 표시로 구분하고, 순서가 있는 경우 (steps) 숫자로 구분합니다.
순서가 없는 경우
전자동 커피 머신을 사용해 커피를 내리는 법 설명.
단락의 구분은 마크다운 헤딩을 사용. (h2)
여러 단계로 나누어 설명. 각 단계에 쉬운 설명 또는 실제 예시 추가.
순서가 있는 경우
먼저 사용자에게 사용하는 커피 머신에 대한 정보 받기.
해당 커피 머신을 바탕으로 사용법 작성.
사용법을 작성한 후 추가적으로 필요한 정보에 대해 사용자에게 질문하여 글에 반영.
3. 맥락 정보 - Context
ChatGPT 또는 클로드에게 제공할 맥락 정보를 추가합니다. 이 때 데이터나 텍스트를 추가적으로 제공합니다.
# 맥락
Philips 1200
With Philips 1200 Series enjoy the delicious taste and aroma of coffee from fresh beans at the perfect temperature.Filter type:Reusable
Classic Milk Frother System: Dispenses steam, allowing you to easily prepare silky smooth milk froth for your cappuccino
Intuitive Touch Display: Select the perfect coffee for your mood with just one touch
My Coffee Choice Menu: Adjust the strength and quantity of your beverage and choose from three different settings to suit your preferences. The Aroma Extract system intelligently strikes the optimum balance between brewing temperature and aroma extraction by keeping the water temperature between 90 and 98°C
Powerful Filter and Easy Maintenance: Thanks to the AquaClean, enjoy clear and purified water - by changing the filter after being prompted by the machine, you will not need to descale your machine for up to 5000 cups
이 맥락을 제공함으로써 ChatGPT 가 정보를 반영하여 효과적인 결과를 만들어낼 수 있습니다.
4. 예시 (필요 시) - Examples
필요할 경우 예시를 몇개 제공합니다. few shot 기법이라고 하는데 이렇게 예시를 제공함으로써 ChatGPT에게 어떻게 무언가를 하는지 작은 학습 효과를 줄 수 있습니다.
# 예시
글의 마지막에 이 커피 머신에 대한 정보를 리뷰 형식으로 추가해줘.
예시 1.
고객 1 : 이 커피 머신은 일주일에 한 번씩 청소를 해줘야 해요.
예시 2.
고객 2 : 커피를 내릴 때 원두의 향이 정말 좋습니다.
5. 아웃풋 형식 (필요 시) - Output
출력의 형태를 지정해야 하는 경우가 있습니다. 예를 들어 마크다운 문법으로 출력을 해서 해당 문법을 지원하는 노트에 입력을 하는 경우가 있습니다. 아니면 JSON 형태로 출력해서 프로그래밍에서 활용해야 하는 경우가 있습니다. 그럴 때 출력 형식을 지정해 주면 됩니다.
또는 가볍게 글의 스타일, 어조 등을 정할 때도 좋습니다.
# 출력 양식
정말 쉽게 설명해줘. 글자 수는 1000글자 내외로 해줘.
6. 역할 지정. (필요 시) - Role
또 역할 (role) 을 지정해주는 것도 좋습니다. 역할을 지정할 경우 ChatGPT가 생각하는 범위를 좁혀서 해당 분야에 맞는 정보를 더 잘 제공합니다. role 의 경우 채팅창에서 입력하는 경우는 많이 없는 것 같지만 (시간이 없어서) 프롬프트 엔지니어링을 할 때 정말 많이 사용하는 것 같습니다. 이 경우 정적으로 역할을 고정해서 활용해야 하는 경우가 많기 때문입니다.
너는 최고의 바리스타야.
프롬프트 정리
마지막으로 여태까지 프롬프트를 정리해 보겠습니다.
너는 최고의 바리스타야. 커피머신으로 커피를 내리는 법에 대한 노트를 작성해줘. 나는 지금 필립스 1200 커피 머신으로 커피를 맛있게 내리는 법을 알고 싶어.
# 세부사항
전자동 커피 머신을 사용해 커피를 내리는 법 설명.
단락의 구분은 마크다운 헤딩을 사용. (h2)
여러 단계로 나누어 설명. 각 단계에 쉬운 설명 또는 실제 예시 추가.
# 맥락 정보
Philips 1200
With Philips 1200 Series enjoy the delicious taste and aroma of coffee from fresh beans at the perfect temperature.Filter type:Reusable
Classic Milk Frother System: Dispenses steam, allowing you to easily prepare silky smooth milk froth for your cappuccino
Intuitive Touch Display: Select the perfect coffee for your mood with just one touch
My Coffee Choice Menu: Adjust the strength and quantity of your beverage and choose from three different settings to suit your preferences. The Aroma Extract system intelligently strikes the optimum balance between brewing temperature and aroma extraction by keeping the water temperature between 90 and 98°C
Powerful Filter and Easy Maintenance: Thanks to the AquaClean, enjoy clear and purified water - by changing the filter after being prompted by the machine, you will not need to descale your machine for up to 5000 cups
# 예시
글의 마지막에 이 커피 머신에 대한 정보를 리뷰 형식으로 추가해줘.
예시 1.
고객 1 : 이 커피 머신은 일주일에 한 번씩 청소를 해줘야 해요.
예시 2.
고객 2 : 커피를 내릴 때 원두의 향이 정말 좋습니다.
# 아웃풋 형식
정말 쉽게 설명해줘. 글자 수는 1000글자 내외로 해줘.
해당 프롬프트 결과 : ChatGPT
맺음말
프롬프트를 어떻게 사용할지 모를 때는 위와 같은 템플릿을 사용해서 작성하면 정말 좋습니다.
저는 각 단락을 구분하기 위해서 # 기호를 썼습니다. LLM 이 마크다운 문법에 친숙하기 때문에 효과적으로 해당 부분을 하나의 단락으로 인식합니다.
xml 태그와 같은 방식을 사용해도 좋습니다.
<아웃풋 형식>
정말 쉽게 설명해줘. 글자 수는 1000글자 내외로 해줘.
</아웃풋 형식>
하지만 프롬프트에 정답은 없습니다. 여러분의 상황에 맞게 사용하는 것이 최고의 방법입니다.