구조화된 프롬프트 작성법
글쓰기는 내면의 목소리를 발견하는 모험이다.
우리가 의사소통하고 아이디어를 전달하는 과정에서 글쓰기는 매우 중요한 역할을 합니다. 글쓰기는 단순히 문자를 나열하는 것 이상의 의미를 갖습니다. 글쓰기는 바로 우리의 생각, 질문, 요구사항을 명확하게 표현하고, 받는 사람이 이를 이해하고 적절히 반응하도록 만드는 강력한 도구이기 때문입니다.
프롬프트 작성은 본질적으로 글쓰기의 한 형태입니다. 정확하고 효과적인 프롬프트는 대형언어모델이 우리의 질문이나 요청에 정확한 답변을 제공하는 데 있어서 결정적인 역할을 합니다. 그래서 글쓰기 역량이 프롬프트 작성에 매우 중요합니다. 이 대목에서, 이전 질문 개선 패턴 글에서 소개한 “GIGO(쓰레기를 넣으면 쓰레기가 나온다)” 원칙을 다시 한번 상기할 필요가 있습니다.
하지만 모든 사람이 항상 명확하고 효과적인 글을 쓸 수 있는 것은 아닙니다. 때로는 생각을 정리하고 글로 표현하는 게 어려울 수 있습니다. 그럴 때 이미 검증된 프레임워크(Framework)를 이용하면, 글쓰기 과정에 도움이 될 수 있습니다.
프레임워크는 복잡한 생각이나 아이디어를 구조화하는 데 도움을 주며, 글쓰기를 보다 쉽게 만들어 줍니다. 그것은 마치 건축에서의 청사진과 같아서, 글쓰기의 방향을 제시하고, 어떤 요소를 포함해야 할지, 그리고 그 요소들이 어떻게 상호 연결되어야 할지에 대한 가이드라인을 제공합니다.
대형언어모델과의 대화에 활용할 수 있는 대표적인 프레임워크로 5W1H가 있습니다. 5W1H는 누가(Who), 무엇을(What), 언제(When), 어디서(Where), 왜(Why), 어떻게(How) 요소를 채워 프롬프트를 구체적으로 작성하는 방법입니다. 이는 모델에게 제공하는 정보와 맥락을 명확히 하여, AI가 보다 정확한 답변을 제공할 수 있도록 합니다. 정보 제공, 상황 설명, 이해도 증진 등의 목적으로 사용할 수 있습니다.
이외에도 모델과의 대화에 응용할 수 있는 SMART, STAR, PESTLE, OKR, PDCA, MoSCoW, CLEAR, RACI, SPIN, SWOT, SOAR 등 다양한 프레임워크가 있습니다. 앞으로 패턴과 프레임워크를 적당히 번갈아 가며 살펴볼 예정입니다.
여기에서 프롬프트 패턴과 프레임워크의 차이를 간단히 설명할까 합니다. 이 둘은 서로 겹치는 부분이 있어 완전히 구분하기는 어렵지만, 기본적인 개념과 차이점은 다음과 같습니다.
- 패턴: 질문이나 요청을 구성하는 데 사용되는 일반적인 양식이나 구조입니다. 질문이나 요청을 어떻게 제시하는지에 초점을 맞춥니다. 효과적인 소통을 위해 반복적으로 사용할 수 있는 언어적 형태를 제공하며, 주로 질문의 형태나 스타일과 연관이 있습니다.
- 프레임워크: 내용을 구성하기 위한 전체적인 지침이나 체계입니다. 이는 좀 더 구조화된 접근 방식을 제공하며, 어떤 정보를 포함해야 하는지, 어떤 순서로 제시해야 하는지에 대한 지침을 포함합니다.
패턴과 프레임워크 사이의 주된 차이는 "범위와 적용의 구체성"에 있습니다. 패턴은 주로 언어적 형태나 스타일에 초점을 맞추는 반면, 프레임워크는 내용을 구성하는 전체적인 절차나 구조에 관한 지침을 제공합니다. 프레임워크는 보다 체계적인 접근 방식을 제시하며, 패턴은 이러한 프레임워크 내에서 더 효과적인 소통을 위한 구체적인 양식을 제공합니다.
두 요소는 서로 보완적이며, 효과적인 프롬프트를 구성하기 위해 함께 사용될 수 있습니다. 완전히 구분하기 어려울 수 있으나, 이들의 주요 목적과 적용 방식을 이해하면 도움이 됩니다.
프레임워크의 적용은 글쓰기뿐만 아니라 사고의 정리와 아이디어 발전에도 도움을 줍니다. 복잡한 아이디어를 간결하고 명확하게 표현하는 데 유용하고, 글쓰기를 두려워하는 이들에게 자신감을 심어줄 수 있습니다. 따라서 글쓰기에 어려움을 겪고 있다면, 프레임워크를 활용하는 것이 좋은 시작점이 될 수 있습니다.
이제 5W1H 프레임워크를 활용한 프롬프트 예시를 살펴보려고 하는데요. 5W1H의 각 요소를 어떤 내용으로 채울지는 사용자의 필요와 맥락에 따라 다를 수 있습니다. 여기에서는 문제의 해결책을 찾는 것으로 가정하고, 다음과 같이 기준으로 내용을 채웠습니다.
Who: 문제를 겪는 사람은 누구인가?
What: 주요 문제는 무엇인가?
When: 문제가 발생한 시기는 언제인가?
Where: 문제가 어디에서 발생했는가?
Why: 왜 이 문제가 중요한가? (이 문제를 해결해야 하는 이유는?)
How: 문제를 해결하기 위해 어떤 조치를 할 수 있는가?
다음은 이에 따라 작성한 프롬프트 예시입니다. 여기에서는 각 요소의 내용을 단순화했는데, 상세한 내용을 제공하면 더 구체적인 답변을 얻게 될 것입니다.
프롬프트
우리 회사는 최근 3개월 동안 사용자들로부터 모바일 앱의 메인 화면과 결제 프로세스에 대한 대규모 피드백을 수집했습니다. 많은 사용자가 인터페이스의 복잡성과 번거로운 결제 과정으로 인해 불만을 표출한 것으로 파악되었습니다. 이러한 UX 문제로 인해 사용자 만족도가 저하되고, 앱 사용 중단으로 이어질 수 있는 것으로 판단하고 있습니다. 이를 바탕으로, 개발 팀과 UX 디자인 팀이 사용자 경험을 개선하기 위해 내부 브레인스토밍 세션을 계획하고 있습니다. 다음의 질문에 답해 주세요.
- 질문1: 사용자 경험을 개선하기 위한 구체적인 방안과 최우선 순위는 무엇인가요?
- 질문2: 사용자 만족도를 향상시킬 수 있는 UX/UI 디자인의 주요 원칙과 이를 실현하기 위해 UX 디자인 팀이 취할 수 있는 실질적인 조치에는 어떤 것이 있을까요?
챗GPT(GPT-4)
사용자 경험을 개선하고 UX/UI 디자인을 최적화하는 과정은 사용자의 불만을 해결하고 앱 사용성을 향상시키는 데 중요합니다. 여기서 제안하는 방안들은 여러분의 팀이 브레인스토밍하고 효과적인 해결책을 도출하는 데 도움이 될 수 있습니다.
질문 1: 사용자 경험 개선 방안 및 최우선 순위
1. 메인 화면 단순화: 사용자들이 가장 많이 사용하는 기능을 쉽게 접근할 수 있도록 메인 화면을 재구성합니다. 불필요한 요소를 제거하고 핵심 기능을 전면에 배치하여 사용자가 원하는 기능을 빠르게 찾을 수 있도록 합니다.
2. 결제 과정 최적화: 단계를 줄이고, 필수 정보 입력을 최소화하여 사용자가 결제를 더 빠르고 쉽게 완료할 수 있도록 합니다. 예를 들어, 자동 주소 채우기, 결제 정보 저장 기능을 도입하여 사용자의 편의성을 높일 수 있습니다.
3. 피드백 메커니즘 구축: 사용자의 의견을 실시간으로 수집하고 반영할 수 있는 피드백 시스템을 개발합니다. 이는 앱 내에서 쉽게 접근할 수 있는 피드백 폼이나, 사용자 리뷰를 분석하는 도구를 포함할 수 있습니다. 사용자의 의견을 지속적으로 수집하고 개선 사항을 반영함으로써, 사용자 중심의 개발을 실현할 수 있습니다.
4. 성능 향상: 앱의 로딩 시간을 단축하고, 반응 속도를 개선합니다. 사용자 경험은 속도와 직접적으로 연결되어 있으므로, 성능 최적화는 사용자 만족도를 높이는 데 중요한 요소입니다.
최우선 순위는 사용자의 직접적인 불만을 해결하는 것이므로, 메인 화면 단순화와 결제 과정 최적화를 우선적으로 진행해야 합니다. 이 두 가지 개선 사항은 사용자 경험을 직접적으로 향상시킬 수 있는 핵심 요소이기 때문입니다.
질문 2: UX/UI 디자인의 주요 원칙 및 실질적인 조치
1. 일관성 유지: 앱 전반에 걸쳐 일관된 디자인 언어와 스타일 가이드를 사용합니다. 이는 사용자가 앱을 사용하면서 느끼는 학습 곡선을 줄여주고, 더 빠르게 앱에 익숙해지게 합니다.
2. 간결성: UI는 직관적이고 간결해야 합니다. 사용자가 필요로 하는 정보만을 제공하고, 불필요한 정보는 배제하여 사용자의 결정 과정을 단순화합니다.
3. 접근성 강화: 모든 사용자가 앱을 쉽게 사용할 수 있도록 접근성을 고려한 디자인을 적용합니다. 예를 들어, 색상 대비를 높이고, 텍스트를 읽기 쉽게 하며, 터치 타겟을 크게 설정하는 등의 조치를 취합니다.
4. 프로토타이핑과 테스팅: 디자인 변경사항을 적용하기 전에, 프로토타입을 만들고 실제 사용자를 대상으로 테스트를 진행합니다. 이를 통해 새로운 디자인이 실제로 사용자 경험을 개선하는지 평가하고, 필요한 조정을 할 수 있습니다.
5. 사용자 교육: 새로운 기능이나 변경된 인터페이스에 대해 사용자가 쉽게 이해할 수 있도록 가이드를 제공하거나, 튜토리얼을 도입합니다. 사용자가 새로운 디자인을 빠르게 받아들일 수 있도록 돕습니다.
이러한 방안들을 구현하기 위해서는, 개발팀과 UX/UI 디자인팀 간의 긴밀한 협력이 필요합니다. 또한, 지속적인 사용자 피드백 수집과 그에 따른 빠른 반영이 중요합니다. 사용자 경험을 개선하는 과정은 한 번에 완성되는 것이 아니라, 지속적인 개선과 조정을 통해 이루어집니다.
만일 앞선 프롬프트 예시와 같이 줄줄이 정보를 제공하는 장문의 프롬프트 작성이 어렵게 느껴진다면, 다음과 같이 함수형 프롬프트로 만들어 필요한 부분을 채워서 이용하는 것도 좋은 방법입니다. 사용자 입장에서는 작성하기 쉽고, AI 입장에서도 이해하기 쉽습니다.
프롬프트
#입력
[Who]= 우리 회사의 모바일 앱 사용자들
[What]= 사용자 피드백을 수집한 결과, 많은 사용자가 인터페이스의 복잡성과 번거로운 결제 과정으로 인해 불만을 표출함
[When]= 최근 3개월 동안
[Where]= 모바일 앱의 메인 화면과 결제 프로세스
[Why]= 이러한 UX 문제로 인해 사용자 만족도가 저하되고, 앱 사용 중단으로 이어질 수 있음
[How]= 개발 팀과 UX 디자인 팀이 사용자 경험을 개선하기 위해 내부 브레인스토밍 세션을 계획 중
#처리
상단의 5W1H 입력 내용을 반영하여, 다음의 질문에 답해 주세요.
- 질문1: 사용자 경험을 개선하기 위한 구체적인 방안과 최우선 순위는 무엇인가요?
- 질문2: 사용자 만족도를 향상시킬 수 있는 UX/UI 디자인의 주요 원칙과 이를 실현하기 위해 UX 디자인 팀이 취할 수 있는 실질적인 조치에는 어떤 것이 있을까요?
이번 프롬프트는 GPT-3.5, 클로바, 제미나이에서도 작동합니다. 응답 무작위성으로 인해 원치 않은 답변이 나올 경우에는 Regenerate 해서 이용하세요. 중간에 답변이 잘리면 "계속"을 입력합니다.
위의 예시에 구애받을 필요는 없으며, 사용자 자신의 필요와 맥락에 따라 모델이 잘 이해할 수 있도록 5W1H 요소의 기준을 정하고 내용을 채우면 됩니다.
5W1H 프레임워크를 사용하는 이점은 다음과 같습니다.
명확성과 구체성 제공: 질문이나 요청을 구조화함으로써, 사용자가 AI에 정보를 제공하거나 요청할 때 필요한 요소들을 명확하게 합니다. 이는 AI가 요청의 맥락을 더 잘 이해하고, 정확한 답변을 제공하는 데 도움을 줍니다.
전체적인 상황 파악: 이를 통해 사용자는 주어진 문제나 상황에 대한 전체적인 그림을 그릴 수 있습니다. 이는 문제 해결 과정에서 중요한 측면이나 누락된 정보를 식별하는 데 유용합니다.
효율적인 커뮤니케이션: 5W1H의 각 요소를 통해 정보를 체계적으로 제공함으로써, AI와 사용자 간의 커뮤니케이션이 보다 효율적으로 이루어집니다. 이는 특히 복잡하거나 다양한 정보가 필요한 상황에서 더욱 중요합니다.
물론, 5W1H 프레임워크를 사용할 때 다음과 같은 한계도 기억해야 합니다.
유연성 부족: 모든 상황이나 요청이 5W1H에 완벽하게 맞아떨어지지 않을 수 있습니다. 때로는 이 프레임워크가 제공하는 구조가 너무 제한적이거나, 특정 상황에 필요한 유연성을 제공하지 못할 수 있습니다.
과도한 정보의 제공: 5W1H의 각 요소가 오히려 과도한 정보를 제공해, AI가 중요한 정보를 파악하는 데 어려움을 겪을 수 있습니다. 때로는 간결함이 더 효과적인 응답을 끌어낼 수 있습니다.
창의적인 해결책의 제한: 5W1H를 너무 엄격하게 적용하면, 상황에 따라서는 뻔하거나 표준적인 답변을 제공하도록 AI를 제한할 수 있습니다. 이는 특히 창의적인 해결책이나 비전형적인 응답이 필요한 상황에서 적합하지 않을 수 있습니다.
정리하면, 5W1H 프레임워크는 AI와의 상호작용에서 명확하고 구체적인 커뮤니케이션을 위해 좋은 도구입니다. 그러나 한편으로, 이 프레임워크의 한계를 인식하고 상황에 따라 유연하게 적용할 필요가 있습니다.
오늘은 가장 기본적인 5W1H 프레임워크를 살펴보았고요. 아직 살펴볼 프레임워크가 많습니다. 앞으로 참신한 여러 프레임워크 응용 방법에 대해 계속해서 소개하도록 하겠습니다.
프레임워크를 사용하는 건,
마치 화가가 그림을 그리기 전에 스케치하는 것과 같습니다.
기본이 탄탄해야 걸작이 나오죠.