[AI] AI Literacy 02
in Study on Ai_literacy

고급 프롬프트 기법 (1)
Zero-shot / Few-shot / Chain-of-Thought(CoT)
프롬프팅(Prompting)이란?
- LLM(대형 언어 모델)에게 입력하는 텍스트 지시문
- 모델의 출력 품질을 결정하는 핵심 요소
- 프롬프트 설계 방식에 따라 결과가 극적으로 달라짐
- 별도의 학습 없이 모델 행동을 제어 할 수 있음
왜 중요한가?
- Fine-tuning 없이 성능 극대화 가능
- 복잡한 추론/창작/분석 작업 수행
- 비용 절감 & 빠른 프로토타이핑
- 도메일 특화 출력 형식 제어
“Garbage in, Garbage out” — 좋은 프롬프트 없이는 좋은 결과도 없다
Zero-shot 기법
정의 예시(Example)나 시연 없이, 작업 지시만으로 LLM이 원하는 출력을 생성하도록 유도하는 기법
| 특징 | 장점 | 단점 | | — | — | — | | • 별도 예시 불필요 • 간결한 프롬프트 • 빠른 적용 가능 | • 프롬프트 길이 최소화 • 다양한 작업에 범용 적용 • 응답 속도 빠름 | • 복잡한 작업 성능 저하 • 모호한 지시에 취약 • 출력 형식 제어 어려움 |
Few-shot 기법
정의 소수의 입출력 예시(Shot)를 프롬프트에 포함시켜 LLM이 원하는 패턴/형식/스타일로 응답하도록 유도하는 기법
작동 원리
flowchart LR
A["예시 1</br>(입력→출력)"] --> B["예시 2</br>(입력→출력)"] --> C["예시 N</br>(입력→출력)"] --> D["실제 질문</br>(입력 only)"] --> E["모델이</br>패턴 추론"]
style A fill:#2B8A8A,color:#fff,stroke:none
style B fill:#2B8A8A,color:#fff,stroke:none
style C fill:#2B8A8A,color:#fff,stroke:none
style D fill:#1B2A6B,color:#fff,stroke:none
style E fill:#2E8B57,color:#fff,stroke:none
| 장점 | 단점 | 핵심 팁 | | — | — | — | | • 출력 형식 정밀 제어 • 복잡한 패턴 학습 • 도메인 특화 가능 • 일관성 높은 출력 | • 프롬프트 길이 증가 • 예시 품질이 결과 좌우 • 토큰 비용 증가 • 나쁜 예시 = 나쁜 결과 | • 다양한 예시 포함 • 입출력 형식 일관성 유지 • 실제 데이터 활용 • 2~5개 예시가 최적 |
Chain-of-Thought (CoT) 기법
정의 모델이 최종 답변을 바로 출력하지 않고, 중간 추론 단계(사고 과정)를 단계별로 생성하도록 유도하는 기법
CoT 미적용 vs 적용 비교
CoT 미적용
CoT 적용
Q: 사과 5개에서 2개를 먹고
친구에게 3개를 줬다. 남은 개수는?
A:
3개 <- 오답!
Q: 위와 동일 (단계적으로 생각해봐)
1단계: 5-2=3개 남음
2단계: 3-3=0개 남음
A:
0개 <- 정답!
주요 CoT 유형
- Zero-shot CoT: “단계적으로 생각해봐” 한 마디로 CoT 유도
- Few-shot CoT: 추론 과정 포함된 예시를 제시하여 CoT 학습
- Auto-CoT: 자동으로 다양한 추론 예시를 생성/선택
고급 프롬프트 기법 (2)
Role Prompting
정의 LLM에게 특정 전문가/캐릭터/페르소나의 역할을 부여함으로써, 해당 도메인에 특화된 고품질 응답을 유도하는 기법
작동 원리
당신은 XX 전문가입니다"라는 시스템 프롬프트로 모델의 응답 스타일/어휘/관점을 전환
효과
- 전문 용어 정확 사용
- 도메인 특화 관점 제공
- 응답 일관성 향상
- 응답 깊이/구조 개선
주의사항
- 역할 설명이 모호하면 효과 감소
- 역할 유지 지속적 강조 필요
- 역할 벗어나는 질문에 취약
- 사실 오류 가능성 존재
기본 템플릿
System: 당신은 10년 경력의 [도메인] 전문가 입니다. [전문 분야 특성] 관점에서 답변해주세요.
User: [실제 질문]
AI: -> 전문가 관점의 구조적/심층적 응답 생성
Tree-of-Thought (ToT)
정의 단일 선형 추론(CoT)을 넘어, 여러 가능한 사고 경로를 트리 구조로 탐색/평가/백트래킹하며 최적 해답을 도출하는 기법
❌ CoT — 단일 선형 추론
flowchart LR
A["시작"] --> B["단계1"] --> C["단계2"] --> D["답변"]
style A fill:#2B8A8A,color:#fff,stroke:none
style B fill:#2B8A8A,color:#fff,stroke:none
style C fill:#2B8A8A,color:#fff,stroke:none
style D fill:#1B2A6B,color:#fff,stroke:none
오류 발생 시 되돌아갈 수 없음
✅ ToT — 트리 구조 탐색
flowchart TD
S["시작"] --> A["경로A"]
S --> B["경로B"]
S --> C["경로C"]
A --> X1["✕"]
B --> O["✔ 최적"]
C --> X2["✕"]
style S fill:#6B5BDB,color:#fff,stroke:none
style A fill:#8B7BE8,color:#fff,stroke:none
style B fill:#5B7BE8,color:#fff,stroke:none
style C fill:#8B7BE8,color:#fff,stroke:none
style X1 fill:#E88B8B,color:#fff,stroke:none
style O fill:#2ECC71,color:#fff,stroke:none
style X2 fill:#E88B8B,color:#fff,stroke:none
- 다중 경로: 여러 추론 경로를 병렬 탐색
- 중간 평가: 각 단계마다 진행 방향 평가
- 백트래킹: 막힌 경로는 되돌아 다른 경로 선택
- 최적 선택: 가장 유망한 경로의 최종 답 채택
Self-Consistency
정의 동일한 질문을 여러 번(또는 다양한 방식으로) 실행하여 다수의 추론 경로를 생섯ㅇ하고, 가장 많이 나타나는 답(다수결)을 최종 답으로 채택하는 기법
작동 프로세스
flowchart LR
A["질문 입력<br/>동일한<br/>프롬프트"] --> B["다중 샘플링<br/>N회 독립<br/>실행(T>0)"] --> C["추론 경로<br/>각기 다른<br/>사고 과정"] --> D["다수결 집계<br/>답변 빈도<br/>카운팅"] --> E["최종 답 선택<br/>가장 많은<br/>답 채택"]
style A fill:#1B2A3B,color:#fff,stroke:none
style B fill:#C46A1A,color:#fff,stroke:none
style C fill:#A85A10,color:#fff,stroke:none
style D fill:#C46A1A,color:#fff,stroke:none
style E fill:#1B2A3B,color:#fff,stroke:none
할루시네이션(Hallucination) 이란?
정의 LLM이 사실과 다르거나 존재하지 않는 정보를 마치 사실인 것처럼 자신감 있게 생성하는 현상 (환각, 허위 생성)
할루시네이션 유형
- 사실 오류: 존재하지 않는 논문/사건/인물/날짜 등을 생성
- 관계 오류: 실제 사실을 잘못 연결하거나 인과관계를 왜곡
- 맥락 무시: 주어진 문서와 다른 정보를 외부에서 끌어와 혼합
- 반복/모순: 이전 발언과 모순되거나 논리 흐름이 깨지는 답
할루시네이션 방지 전략
- 출처 요구
- “출처(논문/URL/날짜)와 함께 답해줘”로 검증 가능한 정보만 유도
- 효과: 사실 오류 🔽 40~60%
- 불확실성 표현 요청
- “모르면 모른다고 해줘” / “확실하지 않으면 표시해줘” 지시
- 효과: 과신 응답 🔽 30~50%
- RAG (문서 기반 응답)
- 외부 문서/DB를 제공하고 해당 내용만 참조하도록 강제 (Grounding)
- 효과: 컨텍스트 환각 🔽 70%+
- 자기 검증 (Self-Verify)
- 답변 생성 후 “이 답이 정확한지 검토해줘” 추가 단계 삽입
- 효과: 오류 자가 수정률 ⬆️
- Self-Consistency 적용
- 동일 질문 여러 번 실행 후 일관된 답만 채택
- 효과: 정확도 ⬆️ 10~20%
- 단계별 분해/검증
- 복잡한 질문을 세분화하여 각 단계를 독립적으로 검증 후 종합
- 효과: 오류 전파 방지
실전 프롬프트 템플릿
다음 규칙을 반드시 따르세요:
1. 확실하지 않은 정보는 "[확인 필요]" 또는 "[출처 불명]"으로 표시하세요.
2. 사실을 꾸며내거나 추측하지 마세요. 모를 경우 "모릅니다"라고 명확히 답하세요.
3. 통계/날짜/인명은 반드시 출처를 함께 명시하세요.
4. 제공된 문서 외 외부 지식 사용 시 "[외부 지식]"으로 구분하세요.
