대표적인 프롬프트 엔지니어링 기법들

대표적인 프롬프트 엔지니어링 기법들

업무와 일상생활에서 생성형 AI(이하 LLM)을 효과적으로 활용하기 위해서는 언어 모델의 작동 원리를 이해하는 것만큼이나 프롬프트의 엔지니어링의 기초 문법을 배우는 것 역시 중요하다. 지난 글에서는 프롬프트 엔지니어링의 개념과 구성요소 등 LLM을 더욱 효과적으로 다루기 위한 기초 문법들에 대해 다루었다. 

지난 글 보기

프롬프트 엔지니어링의 기초
생성형 AI 기술의 발전과 함께 GPT-4o뿐 아니라 Gemini와 Claude 3.5 Sonnet 등 성능 좋은 최신 기초 모델(foundation models)이 쏟아져 나오고 있지만, 프롬프트 엔지니어링은 여전히 파인튜닝과 함께 언어 모델의 성능을 결정짓는 가장 중요한 요소 중 하나라고 할 수 있다. 특히 상당량의 데이터셋을 직접 구축해야 하고, 적지 않은 컴퓨팅

한 발 나아가 이러한 프롬프트 엔지니어링의 기초 문법들을 바탕으로 고안된 다양한 기법들을 활용하면 LLM으로부터 원하는 답변을 이끌어낼 수 있다. 뿐만 아니라 LLM과 더욱 깊이 있는 소통을 하는 것 역시 가능할 것이다.

이번 시간에 다룰 다양한 프롬프트 엔지니어링 기법들은 복잡한 생각이나 아이디어를 간략화하고 구조화하는 데 도움을 주며, 프롬프트 엔지니어링을 보다 쉽게 만들어 주는 도구라고 할 수 있다. 

우선 가장 기본적인 예시를 활용한 Zero-shot 및  Few-shot 프롬프트 기법에 대해 살펴본 후, 단계별 추론을 통해 한층 고도화된 답변을 이끌어내는 Chain of Thought(CoT)에 대해 배워보자. 마지막으로 제약조건과 입출력 방식을 종합한 후카츠식 프롬프트 프레임워크를 적용해 실생활에서 LLM을 보다 효과적으로 활용할 수 있을 것이다.

1. Zero-Shot과 Few-Shot 프롬프트

프롬프트 엔지니어링의 가장 기본적인 기법 중 하나인 Zero-Shot 프롬프트는 모델에게 문제에 대한 예시 없이 질문만 제시하여 답변을 얻는 방식을 말한다. 즉, LLM이 질문의 문맥이나 유사한 예시 없이 스스로 답을 유추하도록 유도하는 방식이다. 

Zero-Shot 프롬프트는 LLM의 일반적인 지식을 평가하거나 LLM이 새로운 문제에 맞닥드렸을 때 어떻게 대응하는지 테스트하는 상황에서 주로 활용된다.

Zero-shot 프롬프트 예시

다음으로 Few-Shot 프롬프트는 몇 가지 예시를 제공하여 LLM이 문제를 이해하고 유사한 방식으로 답변할 수 있도록 도와주는 기법이다. Few-Shot 프롬프트는 모델에게 제공되는 예시 수에 따라 1-Shot, 2-Shot 등으로 불리기도 하는데, 더욱 많은 예시를 제공함으로써 LLM이 보다 정확하고 관련성 높은 답변을 생성할 가능성을 높일 수 있다.

Few-shot 프롬프트 예시

2. Chain of Thought (CoT) 프롬프트

이번에는 좀 더 복잡한 문제 해결을 위한 Chain of Thought (CoT) 프롬프트에 대해 살펴보자. CoT 프롬프트는 문제를 보다 체계적으로 접근하여 LLM의 답변 품질을 높이는 데 도움을 주는 프롬프트이다.

CoT 프레임워크는 문제를 해결하기 위해 필요한 단계별 사고 과정을 모델이 스스로 표현하도록 유도하는 방법이다. CoT는 복잡한 문제를 해결할 때, 각 단계를 명확히 제시하고 논리적인 순서로 문제를 해결하는 것을 목표로 한다. CoT 방식은 모델이 문제를 더 깊이 이해하고, 논리적 추론을 통해 정교한 답변을 생성하도록 도와준다.

CoT 프롬프트 예시

위의 예시에서처럼 정답 도출을 위한 모든 단계를 모델에게 명확히 설명하도록 유도하고, 각 단계별로 결과를 도출한다. 이렇게 함으로써 LLM이 추론 과정을 명확히 이해하고, 복잡한 문제를 해결하는 데 도움을 줄 수 있는 것이다.

3. 후카츠식 프롬프트 프레임워크

후카츠식 프롬프트는 일본 Note사의 CXO 후카츠 타카유키가 개발한 챗GPT용 프롬프트 프레임워크로, LLM에 명령문과 제약조건을 제시하는 과정을 통해 하나의 템플릿 형식으로 결과물을 얻는 구조화가 가능하다는 장점이 있다.

후카츠식 프롬프트 프레임워크를 활용할 때 주의해야 할 사항은 템플릿을 입력 문과 출력문 구조로 만들어야 하며 무엇을 요구 지 명확하게 작성해야 한다는 것이다. 또한 LLM의 역할을 지정하고 마크업 언어로 소제목과 본문이 아닌 부분을 구분해 줌으로써 더욱 좋은 결과를 얻을 수 있다.

후카츠식 프롬프트 입력 예시

후카츠식 프롬프트 답변 예시







문과 출신으로 AI 스타트업에서 데이터 사이언티스트로 일하고 있습니다. 


* 슈퍼브 블로그의 외부 기고 콘텐츠는 외부 전문가가 작성한 글로 운영 가이드라인에 따라 작성됩니다. 슈퍼브 블로그에서는 독자분들이 AI에 대한 소식을 더 쉽고 간편하게 이해하실 수 있도록 유용한 팁과 정보를 제공하고 있습니다.