게시일: 2024년 4월 23일
기고자: Vrunda Gadesha, Eda Kavlakoglu
프롬프트 체이닝은 자연어 처리(NLP) 기술로, 일련의 프롬프트를 따라서 원하는 아웃풋을 생성하는 대규모 언어 모델(LLM)을 활용합니다. 이 과정에서 NLP 모델에 일련의 프롬프트를 제공해 원하는 응답을 생성하도록 방향을 제시합니다. 이 모델은 프롬프트들 간의 맥락과 관계를 이해하는 방법을 학습하여 일관되고 조리있으며 맥락이 풍부한 텍스트를 생성할 수 있습니다[1].
이는 프롬프트 엔지니어링을 사전 구현한다는 개념이며 NLP 분야에서 텍스트 생성의 품질과 제어성을 향상시킬 수 있는 덕분에 상당한 주목을 받고 있습니다. 효과적인 프롬프트 체이닝은 제로샷, 퓨샷 또는 미세 조정된 맞춤형 모델 등의 다른 접근 방식을 대신해 엔지니어링 기술로서 구현될 수 있습니다[2]. 프롬프트 체이닝은 명확한 방향과 구조를 제공해, 모델이 사용자의 의도를 더 잘 이해하여 보다 정확하고 의미 있는 응답을 생성하도록 돕습니다.
프롬프트 체이닝은 다양한 영역에서 AI 지원의 효율성을 높일 수 있습니다. 개발 과정에서 복잡한 작업을 더 작은 프롬프트들로 나누고 연쇄적으로 연결하면 개별 사용자의 요구에 맞춰 좀 더 개인화되고 정확한 응답을 만들 수 있습니다. 이 방식은 전반적인 사용자 경험을 개선하고, 나아가 변화하는 사용자 요구 사항 또는 응용 상황에 대응하여 사용자 맞춤 설정과 적응성을 개선합니다[3].
AI를 고객 서비스에서 우선으로 생각해야 하는 이유, 책임감 있는 AI 구축 방법, 컨택 센터를 최적화하고 고객 경험을 향상시키는 과정에서 AI가 하는 역할을 알아보세요.
생성형 AI를 위한 CEO 가이드 요청
LLM을 다룰 때 생성되는 프롬프트는 크게 다음의 두 가지 유형으로 나뉩니다.
모델이 하나의 지침이나 질문에 응답하는 기본 프롬프트입니다. 대화를 시작하거나 정보를 요청할 때 주로 사용합니다. 예를 들면 "오늘 날씨 어때?" 같은 질문이 단순한 프롬프트입니다.
여러 개의 지침이나 질문으로 구성된 프롬프트이며 모델이 일련의 작업을 수행하거나 자세한 답변을 제공합니다. 고난도 작업을 용이하게 하거나 심도 있는 대화를 나누는 데 주로 사용됩니다. 예를 들면 "채식 메뉴가 있고 오후 10시까지 영업하는 레스토랑 한 군데 추천해줘."가 복잡한 프롬프트입니다.
복잡한 프롬프트를 일련의 간단한 프롬프트들로 변환하면 복잡한 작업을 작은 하위 작업들로 나눌 수 있습니다. 이렇게 하면 사용자가 요청을 완료하기 위해 거쳐야 하는 단계를 쉽게 이해하고, 실수하거나 오해할 위험을 줄일 수 있습니다.
가령 스페인어로 된 정보가 있다고 상상해 봅니다. 정보를 추출해야 하지만 스페인어를 할 줄 모른다면 스페인어로 된 글을 영어로 번역부터 해야 합니다. 그런 다음 질문을 통해 정보를 추출하고, 추출된 정보를 영어에서 스페인어로 다시 번역합니다. 이렇게 복잡한 작업을 프롬프트 하나로 해결하려고 하면 내용이 너무 복잡해져서 응답에 오류가 생길 가능성이 높아집니다. 그래서 복잡한 프롬프트는 일련의 단순한 프롬프트들로 변환하는 것이 가장 좋습니다. 이 변환 작업은 다음과 같이 이루어집니다.
우리에게 주어진 복잡한 프롬프트는 "스페인어로 된 이 글을 봐줘. 이 글을 영어로 번역해줘. 그 안에 있는 통계와 사실 정보를 전부 찾아서 글머리 기호 형태로 정리해줘. 그리고 그걸 다시 스페인어로 번역해줘."입니다.
이 복잡한 프롬프트를 간단한 프롬프트로 변환하려면, 주된 목표를 더 작은 행동이나 작업으로 나누고 아래와 같이 프롬프트 체이닝을 만들 수 있습니다.
구조화된 프롬프트 체인은 특정한 대화나 일련의 행위들을 사용자에게 안내할 수 있도록 사전 정의된 프롬프트나 질문들의 모음으로, 정보가 일관성 있게 제어되도록 합니다[4]. 고객 지원, 교습, 그 밖의 대화형 시스템에서 상호 작용의 명확성, 정확성, 효율성을 유지하는 데 주로 사용됩니다. 체인을 이루는 프롬프트들은, 시스템이 이전 응답을 기반으로 프롬프트를 구축하고 맥락을 유지할 수 있도록 서로 연결되어 있는 경우가 많습니다. 이 방식은 모호성을 줄이고, 사용자의 만족도를 높이고, 인간과 기계가 효과적으로 소통하는 데 도움이 될 수 있습니다.
다양한 상황에 맞게 수정할 수 있도록 미리 작성된 프롬프트를 수집합니다. 이때 사용자가 접할 수 있는 일반적인 작업, 요청, 질문이 있어야 합니다.
프롬프트 체이닝을 통해 전달해야 하는 핵심 질문이나 지침을 파악합니다. 이러한 프롬프트는 간단명료하고 직접적이어야 하며, 개별 프롬프트로서 독립적으로 기능할 수 있어야 합니다.
사용자가 각 프롬프트에 대한 응답으로 제공해야 하는 구체적인 정보나 행위를 결정합니다. 이러한 인풋은 명료하고 이해하기 쉬워야 하며, 프롬프트 체이닝 안에서 해당 프롬프트와 연결되어 있어야 합니다.
참고 문헌 라이브러리와 기본 프롬프트를 사용하여 전체 프롬프트 체이닝을 구축합니다. 프롬프트 각각이 다음 프롬프트와 논리적으로 연결되고, 일련의 대화 중 적절한 지점에 사용자에게 필요한 인풋에 대한 안내가 나와야 합니다.
프롬프트 체이닝을 구축했으면, 철저한 테스트를 통해 이해하기 쉽고 빈 틈이 없는지 확인하세요. 표본 사용자들에게 프롬프트 체이닝을 완료해보면서 개선이 필요한 사항에 대한 의견을 제시해 달라고 요청합니다.
테스트 중에 받은 피드백을 바탕으로 프롬프트 체인에서 필요한 부분을 조정하거나 개선합니다. 이때 특정 프롬프트를 새로 작성하거나, 프롬프트를 추가 또는 제거하거나, 프롬프트 표시 순서를 바꾸는 등의 작업이 필요할 수 있습니다.
이런 과정을 거치면 고객 서비스 담당자와 프로그래머가 효과적이고 효율적인 프롬프트 체이닝을 구축해서, 사용자에게 일련의 행위나 작업을 수행하도록 안내할 수 있습니다.
프롬프트 체이닝은 프롬프트 엔지니어링에 사용되는 기존 방법들에 비해 장점이 많습니다. 프롬프트 체이닝은 일련의 프롬프트를 통해 모델의 방향을 제시함으로써 텍스트 생성의 일관성을 강화하고, 아웃풋을 더 정확하고 흥미롭게 만듭니다.
프롬프트 체이닝을 사용하면 텍스트 생성을 보다 효과적으로 제어해서 사용자가 원하는 아웃풋을 세밀하게 지정하도록 할 수 있습니다. 이는 노이즈나 모호한 부분이 많은 인풋 데이터를 다룰 때 특히 유용합니다. 응답 생성에 앞서 모델로 하여금 인풋을 명확히 정리하거나 수정하도록 유도할 수 있기 때문입니다[6].
텍스트 요약 시스템에 프롬프트 체이닝을 사용하면, 사용자가 얼마나 세부적이고 구체적인 요약문을 원하는지 그 정도를 제어할 수 있습니다. 예를 들어 사용자에게 먼저 요약하고 싶은 콘텐츠(연구 논문 등)를 입력하라는 프롬프트를 보냅니다. 그 다음 프롬프트에서는 요약문을 어떤 형식이나 템플릿으로 작성하고자 하는지 묻습니다.
프롬프트 체이닝은 모델에 양질의 맥락과 요점에 맞는 인풋을 제공해서 오류율을 줄이는 데 도움이 됩니다. 구조화된 프롬프트 체인은 사람의 수고를 덜면서 코드와 아웃풋 검증 속도를 높이는 데 유용합니다. 인풋을 관리하기 쉬운 작은 프롬프트들로 세분화함으로써 모델은 사용자의 의도를 더 잘 이해해서, 더 정확하고 관련성 높은 응답을 생성할 수 있습니다[7].
기계 번역 시스템에서는 문장을 번역하기 전에 사용자가 출발 언어, 도착 언어, 관련된 맥락이나 용어를 명시해 달라는 프롬프트부터 제시할 수 있습니다. 이렇게 하면 모델이 텍스트 원본을 더 잘 이해해서 정확하게 번역할 수 있습니다.
이런 장점을 활용하면 고객 지원부터 간소화된 편집, 언어 번역에 이르기까지 다양한 응용 영역에서 NLP 모델의 성능과 효율성을 크게 향상시킬 수 있습니다.
프롬프트 체이닝은 적용할 수 있는 사용 범위가 넓고 활용도 높은 기술이며, 주로 질문 답변, 다단계 작업의 두 가지 범주로 나뉩니다.
질문 답변 작업은 이름에서 알 수 있듯 인간이 자주 묻는 질문에 답을 제공합니다. 지식 창고에서 일반적으로 찾을 수 있는 문서의 맥락을 기반으로 자동 응답을 제공하며 일반적으로 다음 분야에 응용됩니다.
이름에서 알 수 있듯 다단계 작업은 주어진 목표를 달성하기 위한 일련의 단계를 구성하며 그 예는 다음과 같습니다.
프롬프트 체이닝은 다양한 실시간 응용 영역에 사용할 수 있는 강력한 기술로, 사용자와 전문가가 일련의 행위나 작업 방향을 제시하는 데 유용합니다. 프롬프트 체이닝은 복잡한 작업을 더 간단한 프롬프트들로 나눠서, 사용자와 전문가가 요청을 완료하고 전반적인 환경을 개선하는 데 필요한 단계를 이해하기 쉽게 만들어줍니다. 그래서 고객 서비스, 프로그래밍, 교육 등 어떤 분야에서든 복잡한 프로세스를 단순화하고 효율성과 정확성을 높이는 데 도움이 됩니다.
LLM을 사용한 앱 개발에 일반적으로 사용되는 오픈소스 프레임워크 LangChain에 대해 알아보세요.
모델들을 연쇄적으로 연결하여 일반적인 질문-답변 시스템 순서를 생성하는 방법을 알아보세요
생성형 AI가 비즈니스를 어떻게 변화시키고 있는지, 그리고 조직이 미래를 준비하는 방법을 알아보세요.
Llama 2를 사용한 프롬프트 엔지니어링 모범 사례.
Pengfei Liu, W. Y. (2021). Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. ACM Computing Surveys. | |
Gunwoo Yong, K. J. (2022). Prompt engineering for zero‐shot and few‐shot defect detection and classification using a visual‐language pretrained model. | |
O. Marchenko, O. R. (2020). Improving Text Generation Through Introducing Coherence Metrics. Cybernetics and Systems Analysis. | |
Zhifang Guo, Y. L. (2022). Prompttts: Controllable Text-To-Speech With Text Descriptions. Zhifang Guo, Yichong Leng, Yihan Wu, Sheng Zhao, Xuejiao Tan. | |
Jason Wei, X. W. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. | |
Mero, J. (2018). The effects of two-way communication and chat service usage on consumer attitudes in the e-commerce retailing sector. Electronic Markets. | |
Yu Cheng, J. C. (2023). Prompt Sapper: A LLM-Empowered Production Tool for Building AI Chains. ACM Transactions on Software Engineering and Methodology. | |
Tongshuang Sherry Wu, E. J. (2022). PromptChainer: Chaining Large Language Model Prompts through Visual Programming. CHI Conference on Human Factors in Computing Systems Extended Abstracts. | |
Shwetha Sridharan, D. S. (2021). Adaptive learning management expert system with evolving knowledge base and enhanced learnability. Education and Information Technologies. | |
Boshi Wang, X. D. (2022). Iteratively Prompt Pre-trained Language Models for Chain of Thought. Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. | |
M. Rice, K. M. (2018). Evaluating an augmented remote assistance platform to support industrial applications. IEEE 4th World Forum on Internet of Things (WF-IoT). | |
Cynthia A. Thompson, M. G. (2011). A Personalized System for Conversational Recommendations. J. Artif. Intell. Res. | |
Qing Huang, J. Z. (2023). PCR-Chain: Partial Code Reuse Assisted by Hierarchical Chaining of Prompts on Frozen Copilot. IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). | |
Yafeng Gu, Y. S. (2023). APICom: Automatic API Completion via Prompt Learning and Adversarial Training-based Data Augmentatio. Proceedings of the 14th Asia-Pacific Symposium on Internetware. | |