AI에게 질문을 던졌는데 원하는 답변을 얻지 못한 경험이 있으신가요? 어떤 때는 놀라울 정도로 정확한 답변을 주지만, 어떤 때는 전혀 엉뚱한 결과를 내놓는 AI의 일관성 없는 성능 때문에 답답함을 느끼셨을 겁니다.
이런 문제의 해결책은 바로 프롬프트 엔지니어링에 있습니다. 최근 Google이 발표한 69페이지 분량의 종합 가이드에서 제시한 10가지 핵심 기법을 통해, AI와의 상호작용을 완전히 새로운 차원으로 끌어올릴 수 있습니다.

프롬프트 엔지니어링이란 무엇인가?
프롬프트 엔지니어링은 AI와 생산적인 대화를 나누는 기술이자 과학입니다. 단순히 질문을 던지는 것이 아니라, AI의 능력을 이해하고 명령어를 체계적으로 구성하여 정확하고 관련성 높은 결과를 일관되게 얻어내는 반복적인 과정입니다.
이는 마치 전문가와 대화할 때 어떻게 질문해야 원하는 답변을 얻을 수 있는지 아는 것과 같습니다. 프롬프트 엔지니어링을 통해 ChatGPT, Claude, Gemini 같은 대형 언어 모델의 잠재력을 최대한 활용할 수 있습니다.
10가지 강력한 프롬프트 엔지니어링 기법
1. 제로샷 프롬프팅(Zero-Shot Prompting): 직진 방식
기법 설명: 예시나 추가 설명 없이 AI에게 직접적으로 작업이나 질문을 제시하는 가장 기본적인 방법입니다. AI의 내장된 지식과 훈련 데이터를 바탕으로 답변을 생성합니다.
언제 사용하는가: 요약, 사실 질문 답변, 간단한 분류 등 AI가 충분히 학습한 일반적인 작업에 적합합니다.
실제 예시:
다음 영화 리뷰를 긍정적, 중립적, 부정적으로 분류하세요.
리뷰: "Her"는 AI가 통제 없이 계속 발전할 경우 인류가 향할 방향을 보여주는 섬뜩한 연구작품입니다. 이런 걸작이 더 많이 나왔으면 좋겠습니다.
감정:
핵심 포인트: 가장 기본적인 출발점이지만, 복잡한 작업이나 특정한 출력 형식이 필요한 경우에는 보강이 필요합니다.
2. 퓨샷 프롬프팅(Few-Shot Prompting): 시연을 통한 학습
기법 설명: 단순한 지시를 넘어서 AI에게 3-5개의 구체적인 예시를 제공하여 작업과 원하는 출력 형식을 명확히 보여주는 방법입니다.
언제 사용하는가: AI가 특정 패턴이나 구조, 톤을 정확히 이해하지 못할 때, 특히 JSON 같은 정확한 형식의 출력이 필요할 때 필수적입니다.
실제 예시:
고객의 피자 주문을 유효한 JSON으로 변환하세요:
예시 1:
주문: 치즈, 토마토 소스, 페퍼로니가 들어간 스몰 피자를 원합니다.
JSON 응답:
{
"size": "small",
"type": "normal",
"ingredients": ["치즈", "토마토 소스", "페퍼로니"]
}
예시 2:
주문: 토마토 소스, 바질, 모짜렐라가 들어간 라지 피자 주문할게요.
JSON 응답:
{
"size": "large",
"type": "normal",
"ingredients": ["토마토 소스", "바질", "모짜렐라"]
}
이제 다음 주문을 처리해주세요:
주문: 미디움 사이즈로 올리브와 햄 넣어주세요.
핵심 포인트: 성공적인 결과가 어떤 모습인지 AI에게 보여줌으로써 특정 형식과 세밀한 지시사항의 정확도를 크게 향상시킵니다.
3. 시스템 프롬프팅(System Prompting): 게임 규칙 설정
기법 설명: 메인 사용자 프롬프트 이전에 AI의 전반적인 행동, 제약 조건, 출력 요구사항을 정의하는 상위 규칙을 설정합니다.
언제 사용하는가: 일관된 출력 형식 정의, 안전 경계 설정, 일반적인 운영 모드 확립, 광범위한 제약 조건 적용에 완벽합니다.
실제 예시:
시스템: 응답은 항상 제공된 스키마를 따르는 유효한 JSON 객체로 반환하세요. JSON 구조 외부에 설명 텍스트를 포함하지 마세요.
스키마:
{
"movie_reviews": [
{
"sentiment": "POSITIVE" | "NEGATIVE" | "NEUTRAL",
"name": "String"
}
]
}
사용자 프롬프트:
이 영화 리뷰를 분류하세요: "블레이드 러너 2049는 시각적으로 아름다웠지만 조금 길게 느껴졌습니다."
핵심 포인트: 특정 작업 세부사항과는 별개로 AI 운영에 대한 기본 법칙을 설정합니다.
4. 역할 프롬프팅(Role Prompting): AI에게 성격 부여하기
기법 설명: AI에게 특정 역할, 캐릭터, 또는 페르소나를 명시적으로 부여하여 톤, 스타일, 어휘, 심지어 활용하는 지식까지 형성합니다.
언때 사용하는가: 응답의 스타일이 내용만큼 중요할 때, 전문직(의사, 역사학자)이나 특정 커뮤니케이션 스타일을 모방할 때 유용합니다.
실제 예시:
당신은 색다른 명소를 전문으로 하는 재치 있고 약간 비꼬는 여행 가이드입니다. 제가 위치를 알려드리면 근처의 특이한 장소 3곳을 제안해주세요.
제 위치: "런던 중심가에 있습니다."
여행 제안:
핵심 포인트: AI 출력의 목소리와 관점을 조절하는 환상적인 도구입니다.

5. 맥락적 프롬프팅(Contextual Prompting): 작업별 세부사항 제공
기법 설명: 현재 작업을 위해 특별히 관련된 배경 정보나 맥락을 프롬프트 내에 직접 제공하여 AI가 뉘앙스를 파악하고 정확한 응답을 맞춤 제작할 수 있도록 돕습니다.
언제 사용하는가: AI가 일반적인 훈련이나 시스템 프롬프트에 포함되지 않은 특정 세부사항(특정 사용자 정보, 프로젝트 목표, 최근 뉴스 등)이 필요할 때 필수적입니다.
실제 예시:
맥락: 당신은 1980년대 일본 아케이드 슈팅 게임의 역사와 문화적 영향에만 집중하는 전문 블로그를 위해 글을 쓰고 있습니다.
작업: 이 블로그에 적합한 매우 구체적인 기사 주제 3개를 각각의 간단한 설명과 함께 제안하세요.
핵심 포인트: 시스템 프롬프트가 다루지 않는 즉시 요청에 필요한 세부사항을 제공하여 AI의 초점을 날카롭게 만듭니다.
6. 스텝백 프롬프팅(Step-Back Prompting): 넓게 생각하고 구체화하기
기법 설명: 영리한 2단계 기법입니다. 먼저 작업과 관련된 더 일반적이거나 추상적인 원리에 대해 AI에게 질문하고, 그 일반적인 답변을 맥락으로 사용해 원래의 구체적인 질문을 다시 묻습니다.
언제 사용하는가: 핵심 개념에 먼저 AI를 집중시키는 것이 더 통찰력 있고 잘 추론된 구체적인 답변으로 이어지는 복잡한 문제를 다룰 때 적합합니다.
실제 예시:
1단계 프롬프트: "인기 게임을 바탕으로 FPS 레벨을 도전적이고 매력적으로 만드는 5가지 핵심 요소는 무엇인가요?"
2단계 프롬프트:
맥락: 매력적인 FPS 레벨의 핵심 요소들:
1. 폐허가 된 군사 기지
2. 사이버펑크 도시
3. 외계인 우주선
4. 좀비가 득실거리는 마을
5. 수중 연구 시설
작업: 이 테마 중 하나를 사용하여 새롭고 도전적인 FPS 레벨을 위한 한 문단의 스토리라인을 작성하세요.
핵심 포인트: 구체적인 내용에 뛰어들기 전에 추상화를 통해 더 깊은 추론을 촉진합니다.
7. 사고 연쇄(Chain of Thought, CoT) 프롬프팅: AI에게 “과정 보여주기” 요청
기법 설명: AI에게 최종 답변을 제공하기 전에 단계별로 추론 과정을 명시적으로 설명하도록 지시합니다. 종종 “단계별로 생각해보겠습니다”와 같은 문구로 시작합니다.
언제 사용하는가: 논리, 수학, 다단계 추론을 포함하는 작업이나 AI가 어떻게 결론에 도달했는지 투명성이 필요할 때 없어서는 안 될 방법입니다.
실제 예시:
질문: 제가 3살이었을 때, 제 파트너는 제 나이의 3배였습니다. 지금 저는 20살입니다. 제 파트너는 몇 살인가요? 단계별로 생각해보겠습니다.
답변:
예상 출력:
- 제가 3살일 때, 파트너는 3 × 3 = 9살이었습니다.
- 나이 차이는 9 – 3 = 6살입니다.
- 지금 저는 20살입니다.
- 파트너는 여전히 6살 많습니다.
- 따라서 파트너의 현재 나이는 20 + 6 = 26살입니다.
핵심 포인트: 더 구조화되고 체계적인 접근을 촉진하여 복잡한 추론 작업에서 오류를 줄입니다.
8. 자기 일관성(Self-Consistency): CoT + “집단 지성”
기법 설명: CoT를 기반으로 구축됩니다. 동일한 사고 연쇄 프롬프트를 여러 번 실행하며, 보통 “온도” 설정(무작위성)을 높여 다양한 추론 경로를 생성합니다. 그다음 각 시도의 최종 답변을 보고 가장 자주 나타나는 답변을 선택합니다.
언때 사용하는가: CoT만으로도 약간 다르거나 때로는 잘못된 답변을 낼 수 있는 복잡한 추론 작업의 경우, 가장 일관되게 도출된 결과를 식별하여 견고성과 정확성을 향상시킵니다.
실제 예시 과정:
- “이 이메일을 분류하세요 (중요함/중요하지 않음)… 단계별로 생각해보겠습니다” 프롬프트를 온도=0.7로 5회 실행
- 시도 1 → 최종 답변: 중요함
- 시도 2 → 최종 답변: 중요하지 않음
- 시도 3 → 최종 답변: 중요함
- 시도 4 → 최종 답변: 중요함
- 시도 5 → 최종 답변: 중요함
- 최종 결과: “중요함”을 다수 답변(4/5)으로 선택
핵심 포인트: 통제된 무작위성과 합의를 사용하여 도전적인 문제에 대한 최종 답변의 신뢰도를 높입니다.
9. 사고 트리(Tree of Thoughts, ToT): 다양한 해법 브레인스토밍
기법 설명: LLM이 여러 추론 경로를 동시에 탐색하는 더 정교한 기법입니다. 하나의 선형 연쇄 대신 나무 가지처럼 다양한 중간 “생각”이나 단계를 생성하고 평가합니다.
언때 사용하는가: 탐색, 전략적 계획, 또는 단일 CoT가 막히거나 최선의 해법을 놓칠 수 있는 수많은 가능성을 고려해야 하는 매우 복잡한 문제에 가장 적합합니다.
개념적 예시: 복잡한 퍼즐을 푸는 것을 생각해보세요. CoT는 하나의 이동 시퀀스를 시도하지만, ToT는 여러 잠재적인 이동 시퀀스를 동시에 탐색하고 그 잠재력을 평가하며, 나쁜 것은 버리고 가장 유망한 사고 라인에 자원을 집중합니다.
핵심 포인트: 탐색을 통한 견고한 문제 해결을 위한 CoT의 강력한 확장이지만, 단순한 프롬프트만으로는 구현하기 어려운 경우가 많습니다.

10. ReAct (추론 + 행동): AI가 도구를 사용하게 하기
기법 설명: LLM이 추론 과정 중에 외부 도구(웹 검색, 계산기, 코드 실행 환경 등)와 상호작용할 수 있게 하는 프레임워크입니다. ‘생각’ 생성, ‘행동’ 결정(도구 사용), 도구의 ‘결과’ 관찰, 그 관찰을 다음 ‘생각’에 반영하는 순환 과정을 포함합니다.
언제 사용하는가: 실시간 정보(뉴스, 주식 데이터), LLM의 기본 능력을 넘어서는 정밀한 계산, 또는 외부 API 및 데이터베이스와의 상호작용이 필요한 작업에 중요합니다.
실제 예시 과정:
- 프롬프트: “메탈리카 밴드 멤버들의 자녀 수는 총 몇 명인가요?”
- 생각 1: 메탈리카의 현재 멤버들을 알아야 합니다.
- 행동 1: 검색(“메탈리카 밴드 멤버”)
- 관찰 1: 제임스 헤트필드, 라르스 울리히, 커크 해밋, 로버트 트루히요
- 생각 2: 4명의 멤버가 있습니다. 제임스 헤트필드의 자녀 수가 필요합니다.
- 행동 2: 검색(“제임스 헤트필드 자녀 수”)
- 관찰 2: 3명의 자녀
- 생각 3: 제임스: 3명. 다음: 라르스 울리히… (루프 계속, 결과 합산)
- 최종 답변: 10명
핵심 포인트: LLM의 추론 능력을 외부 세계와 전문 도구에 연결하여 더 복잡하고 사실적으로 근거가 있는 작업을 가능하게 합니다.
보너스 팁: 자동 프롬프트 엔지니어링(APE)
완벽한 프롬프트를 만드는 것이 너무 많은 시행착오를 거쳐야 한다고 느끼시나요? 자동 프롬프트 엔지니어링(APE)은 AI 자체를 사용하여 작업에 대한 수많은 프롬프트 변형을 생성하고 평가하여 매우 효과적인 프롬프트를 더 효율적으로 찾을 수 있게 도와줍니다.
APE의 작동 방식:
- 프롬프트 생성 단계: AI에게 특정 작업을 위한 다양한 프롬프트 변형을 생성하도록 요청
- 평가 단계: 생성된 각 프롬프트를 테스트 케이스에 적용하여 성능 평가
- 최적화 단계: 가장 효과적인 프롬프트를 식별하고 더 세밀하게 조정
실제 APE 적용 예시:
원래 작업: “영화 리뷰의 감정을 분석하라”
1단계 – 프롬프트 생성 요청:
다음 작업을 위한 5가지 다른 프롬프트 변형을 생성해주세요:
작업: 영화 리뷰 텍스트를 읽고 감정(긍정적, 부정적, 중립적)을 분류
각 프롬프트는 다른 접근 방식을 사용해야 합니다 (예: 직접적 지시, 예시 제공, 역할 부여 등).
2단계 – AI가 생성한 프롬프트 변형들:
- 변형 1 (직접적): “다음 영화 리뷰를 긍정적, 부정적, 중립적으로 분류하세요: [리뷰 텍스트]”
- 변형 2 (역할 기반): “당신은 영화 평론 전문가입니다. 다음 리뷰의 전반적인 감정을 분석해주세요: [리뷰 텍스트]”
- 변형 3 (구조화): “영화 리뷰 감정 분석\n입력: [리뷰 텍스트]\n출력 형식: 감정(긍정적/부정적/중립적), 확신도(1-10)”
- 변형 4 (맥락 제공): “영화 리뷰는 관객의 영화에 대한 전반적인 만족도를 나타냅니다. 다음 리뷰를 분석하여 감정을 분류하세요: [리뷰 텍스트]”
- 변형 5 (단계적): “단계별로 분석하세요: 1) 긍정적 키워드 식별 2) 부정적 키워드 식별 3) 전체적 톤 평가 4) 최종 감정 분류: [리뷰 텍스트]”
3단계 – 성능 평가: 각 프롬프트를 10개의 테스트 리뷰에 적용하여 정확도 측정:
- 변형 1: 85% 정확도
- 변형 2: 78% 정확도
- 변형 3: 92% 정확도 ← 최고 성능
- 변형 4: 82% 정확도
- 변형 5: 88% 정확도
결과: 변형 3(구조화된 접근)이 가장 효과적임을 발견하고 이를 기반으로 최종 프롬프트 확정
APE의 활용 팁:
- 복잡한 작업일수록 APE의 효과가 큽니다
- 여러 AI 모델에서 테스트하여 범용성을 확인하세요
- 생성된 프롬프트들의 다양한 접근 방식에서 인사이트를 얻을 수 있습니다
- 시간 투자 대비 성능 향상이 확실한 경우에 사용하세요
실전 적용을 위한 조언
프롬프트 엔지니어링을 마스터하는 것은 어떤 비밀스러운 마법 문구를 찾는 것이 아닙니다. 이는 기술을 개발하는 것입니다. 이러한 기법들을 이해하고, 사려 깊게 실험하며, 결과를 바탕으로 반복 개선하는 능력을 기르는 것입니다.
다음과 같은 단계별 접근을 권장합니다:
기초 단계에서는 제로샷과 퓨샷 프롬프팅으로 시작하여 AI의 기본 동작을 이해하세요. 중급 단계에서는 시스템 프롬프팅과 역할 프롬프팅을 활용해 일관된 톤과 형식을 확보하세요. 고급 단계에서는 사고 연쇄와 맥락적 프롬프팅으로 복잡한 추론 작업을 처리하세요.
각 기법을 적용할 때는 결과를 주의 깊게 관찰하고 어떤 요소가 효과적인지 파악하는 것이 중요합니다. 프롬프트 엔지니어링은 반복적인 과정이므로 완벽한 첫 시도를 기대하지 마세요.
AI 시대의 필수 기술
프롬프트 엔지니어링은 AI 시대의 핵심 역량이 되었습니다. Google의 가이드에서 제시한 이러한 강력한 방법들을 적용하여 AI가 고품질의 정확하고 관련성 높은 결과를 일관되게 생성하도록 이끌 수 있는 능력을 갖추게 됩니다.
이제 이러한 기법들을 연습하고 차이를 관찰하며 새로운 차원의 생산성과 창의성을 경험해보세요. AI와의 대화가 더 이상 운에 의존하지 않고 체계적이고 예측 가능한 협업이 되는 것을 느끼실 수 있을 것입니다.
참고자료:
Comments