PART 6 · 강의 2/3
고급 프롬프트 기법
복잡한 작업을 위한 심화 프롬프팅 전략을 학습합니다.
01
작업 분해 (Task Decomposition)
복잡한 문제를 단계별로 분해
🧩
Step-by-Step Decomposition
복잡한 문제를 단계별로 분해
복잡한 작업을 작은 하위 작업으로 나누어 각각을 순차적으로 처리합니다.
이는 LLM이 한 번에 처리해야 할 인지 부하를 줄이고, 각 단계에서
더 정확한 결과를 얻을 수 있게 합니다.
📊 분기별 매출 분석 보고서 작성
1. 데이터 요약
2. 트렌드 분석
3. 인사이트 도출
4. 보고서 작성
📝 작업 분해 프롬프트 예시
다음 복잡한 분석 작업을 단계별로 수행하세요.
## 작업: 분기별 매출 분석 보고서 작성
데이터:
"""
Q1: 1000만원, Q2: 1200만원, Q3: 950만원, Q4: 1500만원
"""
## 단계별 수행
### 1단계: 데이터 요약
- 총 매출, 평균, 최고/최저 분기 계산
### 2단계: 트렌드 분석
- 분기별 변화율 계산
- 상승/하락 패턴 식별
### 3단계: 인사이트 도출
- 주요 변화 원인 추론
- 개선 기회 식별
### 4단계: 보고서 작성
- 경영진을 위한 요약 보고서 (3-5문장)
02
Self-Consistency (자기 일관성)
다양한 추론 경로로 답변 검증
🔄
Self-Consistency
다양한 추론 경로로 답변 검증
동일한 문제에 대해 여러 번 추론하여 가장 일관되게 나타나는 답을 선택합니다.
Temperature를 높여 다양한 추론 경로를 생성하고, 다수결로 최종 답을 결정합니다.
동일 질문
→
경로 1: 답 A
경로 2: 답 A
경로 3: 답 B
경로 4: 답 A
경로 5: 답 B
경로 2: 답 A
경로 3: 답 B
경로 4: 답 A
경로 5: 답 B
N회 샘플링
→
다수결
투표
투표
→
최종 답: A
(3/5 = 60%)
💡 Self-Consistency 적용 방법
# API 설정
temperature = 0.7 # 다양성 확보를 위해 높임
n_samples = 5 # 5번 샘플링
# 프롬프트
"""
문제를 단계별로 풀고 최종 답을 제시하세요.
문제: 사과 8개를 3명이 나눠 가질 때,
각자 몇 개씩 가지고 남는 사과는 몇 개인가?
풀이:
"""
# 결과 집계
답변들: [2개씩, 2남음], [2개씩, 2남음], [2개씩, 2남음],
[2개씩, 2남음], [3개씩, -1남음]
최종 답: 2개씩, 2개 남음 (4/5 일치)
수학 문제
계산 오류 감소
논리 추론
추론 오류 검증
분류 작업
경계 케이스 처리
팩트 체크
정보 검증
03
Generated Knowledge Prompting
답변 전 관련 지식을 먼저 생성
📚
Knowledge Generation
답변 전 관련 지식을 먼저 생성
질문에 답하기 전, LLM에게 먼저 관련 지식이나 배경 정보를 생성하게 합니다.
이렇게 생성된 지식을 컨텍스트로 활용하여 더 정확한 답변을 유도합니다.
일반적인 방식
질문: 골프공에 딤플이 있는 이유는?
답변: [바로 답변 시도]
Knowledge Generation
1단계: 관련 지식 생성
"골프공과 공기역학에 대한
물리학 지식을 먼저 설명하세요."
2단계: 지식 기반 답변
"위 지식을 바탕으로
딤플의 역할을 설명하세요."
📝 2단계 프롬프트 예시
## 1단계: 지식 생성
다음 주제에 대해 알고 있는 관련 지식을 나열하세요:
- 공기역학의 기본 원리
- 난류와 층류의 차이
- 표면 질감이 공기 저항에 미치는 영향
[LLM이 관련 지식 생성]
---
## 2단계: 지식 기반 답변
위에서 생성한 지식을 참고하여 다음 질문에 답하세요:
질문: 골프공에 딤플(작은 홈)이 있는 이유는 무엇인가요?
답변:
💡 효과적인 상황
- 과학적/기술적 설명이 필요한 질문
- 여러 개념을 종합해야 하는 복잡한 질문
- 배경 지식이 답변 품질에 영향을 미치는 경우
04
ReAct (Reasoning + Acting)
추론과 행동을 번갈아 수행
🔁
ReAct Pattern
추론과 행동을 번갈아 수행
LLM이 Thought(추론) → Action(행동) →
Observation(관찰)의 사이클을 반복하며 문제를 해결합니다.
주로 외부 도구(검색, 계산기, API 등)와 함께 사용됩니다.
💭 Thought
추론/계획
추론/계획
→
⚡ Action
도구 실행
도구 실행
→
👁️ Observation
결과 확인
결과 확인
→
🔄 반복
or 완료
or 완료
📝 ReAct 패턴 예시
질문: 현재 테슬라 주가가 애플 주가의 몇 배인가?
Thought 1: 테슬라와 애플의 현재 주가를 알아야 합니다.
먼저 테슬라 주가를 검색하겠습니다.
Action 1: search("Tesla stock price today")
Observation 1: 테슬라 현재 주가: $248.50
Thought 2: 테슬라 주가를 확인했습니다.
이제 애플 주가를 검색하겠습니다.
Action 2: search("Apple stock price today")
Observation 2: 애플 현재 주가: $175.30
Thought 3: 두 주가를 모두 확인했습니다.
248.50 / 175.30 = 1.42배입니다.
Final Answer: 테슬라 주가는 애플 주가의 약 1.42배입니다.
⚠️ ReAct 패턴의 한계
- 외부 도구 통합이 필요 (API, 검색 엔진 등)
- 여러 번의 API 호출로 비용과 지연 시간 증가
- 도구 실패 시 오류 처리 로직 필요
05
메타 프롬프팅
프롬프트를 생성하는 프롬프트
🔮
Meta Prompting
프롬프트를 생성하는 프롬프트
LLM에게 좋은 프롬프트를 작성하도록 요청하는 기법입니다.
프롬프트 엔지니어링 자체를 자동화하여, 특정 작업에 최적화된
프롬프트를 LLM이 생성하게 합니다.
📝 메타 프롬프트 예시
당신은 프롬프트 엔지니어링 전문가입니다.
다음 작업을 수행하기 위한 최적의 프롬프트를 작성해주세요.
## 작업 정보
- 목표: 기술 블로그 글을 SNS 포스트로 변환
- 대상 플랫폼: Twitter (280자 제한)
- 톤: 캐주얼하고 흥미 유발
- 요구사항: 해시태그 3개 포함, 이모지 사용
## 프롬프트 작성 가이드라인
1. 명확한 역할 부여
2. 구체적인 제약조건 명시
3. 출력 형식 지정
4. 예시 1개 포함
## 생성할 프롬프트:
06
기타 고급 기법들
다양한 심화 프롬프팅 전략
Directional Stimulus
특정 방향으로 답변을 유도하는 힌트나 키워드를 제공
"창의적인 관점에서..." "비판적으로 분석하면..."
Self-Ask
스스로 후속 질문을 생성하고 답변하며 문제 해결
"이 문제를 풀기 위해 먼저 알아야 할 것은?"
Self-Refine
초기 답변을 생성 후 스스로 피드백하고 개선
"답변을 검토하고 개선점을 찾아 수정하세요"
Persona Pattern
특정 전문가나 캐릭터의 관점에서 답변하도록 유도
"Warren Buffett처럼 이 투자를 분석해주세요"
Template Pattern
빈칸 채우기 형식으로 출력 구조를 강제
"제목: [___] / 요약: [___] / 결론: [___]"
Recursive Prompting
이전 출력을 다음 입력으로 사용하며 반복 개선
초안 → 피드백 → 수정 → 피드백 → 최종
07
기법 선택 가이드
상황에 맞는 기법 선택
| 상황 | 추천 기법 | 이유 |
|---|---|---|
| 복잡한 분석 작업 | Task Decomposition | 단계별 처리로 정확도 향상 |
| 정답이 중요한 문제 | Self-Consistency | 다수결로 오류 감소 |
| 배경 지식 필요 | Generated Knowledge | 관련 지식 먼저 활성화 |
| 외부 정보 필요 | ReAct Pattern | 도구 활용 가능 |
| 프롬프트 자동화 | Meta Prompting | 최적 프롬프트 자동 생성 |
| 품질 개선 필요 | Self-Refine | 반복적 개선 |
💡 기법 조합하기
여러 기법을 조합하면 더 강력한 결과를 얻을 수 있습니다. 예: Task Decomposition + Self-Refine = 각 단계별로 개선하며 진행
SUMMARY
핵심 요약
- Task Decomposition — 복잡한 작업을 단계별로 분해
- Self-Consistency — 여러 추론 경로의 다수결
- Generated Knowledge — 답변 전 관련 지식 생성
- ReAct Pattern — 추론 → 행동 → 관찰 반복
- Meta Prompting — 프롬프트를 생성하는 프롬프트