"당신은 전문가입니다"의 마법
같은 질문에 역할을 부여했을 때와 하지 않았을 때 결과가 달라집니다.
❌ "이 코드 리뷰해줘"
✅ "당신은 10년 경력의 시니어 파이썬 개발자입니다.
주니어 개발자의 코드를 리뷰하듯이 아래 코드를 검토하고
개선점을 구체적으로 알려주세요."
역할을 부여하면 LLM은 해당 전문가가 사용할 법한 언어, 관점, 깊이로 응답합니다.
Role Prompting: 페르소나 설계
flowchart TD
subgraph ROLE["역할 부여 구조"]
R1["직함·전문성\n'10년 경력 풀스택 개발자'"]
R2["관점·접근 방식\n'사용자 경험을 최우선으로 생각하는'"]
R3["대상·톤\n'비개발자에게 설명하듯이'"]
end
ROLE --> LLM["LLM"]
LLM --> OUT["전문가 관점의 응답"]
역할 부여 예시 모음
| 역할 | 프롬프트 예시 | 효과 |
|---|---|---|
| 편집자 | "당신은 20년 경력 카피라이터입니다" | 설득력 있는 문장 |
| 튜터 | "당신은 친절한 대학교수입니다. 질문자는 이제 막 배우기 시작한 학생입니다" | 쉬운 설명 |
| 비평가 | "당신은 냉정한 투자자입니다. 사업계획서의 약점을 찾아주세요" | 날카로운 분석 |
| 번역가 | "당신은 한국 IT 업계에 특화된 전문 번역가입니다" | 업계 용어 정확한 번역 |
역할 부여 심화: 다중 페르소나
복잡한 문제는 여러 관점이 필요합니다.
flowchart LR
Q["'이 제품 출시 계획\n어떻게 생각해?'"]
subgraph PERSONAS["다중 페르소나"]
P1["👔 CEO 관점\n비용·수익성·전략"]
P2["🔧 CTO 관점\n기술 실현 가능성·일정"]
P3["🎨 디자이너 관점\n사용자 경험·접근성"]
end
Q --> PERSONAS
PERSONAS --> OUT["균형 잡힌 종합 분석"]
세 가지 관점에서 이 제품 출시 계획을 분석해줘:
1. CEO (비즈니스·수익성 중심)
2. CTO (기술·실현 가능성 중심)
3. 마케팅 담당자 (고객·시장 중심)
각 관점을 별도 섹션으로 작성해줘.
Few-shot: 예시로 패턴 가르치기
LLM에게 "이런 식으로 해줘"를 말로 설명하는 것보다 예시를 보여주는 것이 더 효과적입니다.
flowchart TB
subgraph SHOTS["Few-shot 유형"]
direction LR
S0["Zero-shot\n예시 없이 지시만"]
S1["One-shot\n예시 1개"]
S2["Few-shot\n예시 2~5개"]
end
S0 -->|"일반적 결과"| R0["보통 품질"]
S1 -->|"패턴 학습"| R1["개선된 결과"]
S2 -->|"명확한 패턴"| R2["일관된 고품질"]
Few-shot 예시: 상품 설명 작성
아래 형식으로 상품 설명을 작성해줘.
[예시 1]
입력: 무선 이어폰, 배터리 30시간, 노이즈캔슬링
출력: 하루 종일 끊김 없는 음악. 30시간 배터리와 업계 최고 수준의
노이즈 캔슬링으로 어디서든 나만의 공간을 만들어드립니다.
[예시 2]
입력: 텀블러, 보온 12시간, 500ml
출력: 아침에 담은 따뜻함, 점심에도 그대로. 12시간 보온력으로
하루 내내 완벽한 온도를 유지합니다.
[실제 작업]
입력: 스마트워치, 심박수 측정, 방수 5ATM, 7일 배터리
출력:
Few-shot 설계 원칙
flowchart LR
subgraph DESIGN["좋은 Few-shot 설계"]
direction TB
D1["다양성\n다양한 케이스 포함"]
D2["대표성\n실제 원하는 수준의 예시"]
D3["일관성\n같은 형식·톤 유지"]
D4["적절한 수\n2~5개 (너무 많으면 컨텍스트 낭비)"]
end
Few-shot 예시 개수별 특성
| 예시 수 | 장점 | 단점 | 적합한 상황 |
|---|---|---|---|
| 0 (Zero-shot) | 프롬프트 짧음 | 패턴 불명확 | 일반적인 작업 |
| 1 (One-shot) | 기본 방향 제시 | 변형 가능성 | 간단한 형식 |
| 2~5 (Few-shot) | 일관성 높음 | 토큰 소비 | 특정 형식·톤 유지 |
| 5+ (Many-shot) | 매우 일관됨 | 비용 증가 | 복잡한 패턴 |
역할 + Few-shot 결합: 최강 조합
두 기법을 함께 쓰면 시너지가 납니다.
[역할]
당신은 IT 기업의 시니어 기술 블로거입니다.
독자는 개발 경험 1~2년차 주니어 개발자입니다.
친근하지만 전문적인 톤을 유지합니다.
[예시]
주제: Docker
출력: 🐳 Docker를 처음 접했을 때 "이게 왜 필요하지?" 싶었죠.
저도 그랬습니다. 근데 팀 프로젝트에서 "제 컴퓨터에서는 되는데요"를
세 번 겪고 나서 Docker의 진가를 알게 됐습니다...
[실제 작업]
주제: Git rebase vs merge
출력:
실전 패턴: 데이터 변환
Few-shot은 데이터 포맷 변환에 특히 강력합니다.
flowchart LR
IN["비정형 텍스트\n입력"] -->|"Few-shot\n패턴 학습"| LLM["LLM"]
LLM --> OUT["구조화된\nJSON/CSV 출력"]
아래 패턴으로 회의록에서 액션 아이템을 추출해줘.
[예시]
입력: "다음 주까지 김철수가 API 문서 업데이트 예정.
이박사는 이번 달 말 데이터베이스 마이그레이션 담당."
출력:
[
{"담당자": "김철수", "작업": "API 문서 업데이트", "기한": "다음 주"},
{"담당자": "이박사", "작업": "데이터베이스 마이그레이션", "기한": "이번 달 말"}
]
[실제 작업]
입력: "홍길동이 목요일까지 디자인 시안 3개 준비.
강감찬은 다음 달 1일 클라이언트 프레젠테이션 담당.
장보고는 오늘 중으로 서버 배포 완료 예정."
정리
| 기법 | 원리 | 효과 |
|---|---|---|
| Role Prompting | 전문가 페르소나 부여 | 전문성·관점 향상 |
| 다중 페르소나 | 여러 역할 동시 부여 | 다각도 분석 |
| Zero-shot | 예시 없이 지시 | 일반적 작업에 적합 |
| Few-shot | 예시로 패턴 학습 | 일관된 형식·톤 |
| 역할+Few-shot | 두 기법 결합 | 최고 품질·일관성 |
다음 편에서는 Chain-of-Thought — LLM이 단계별로 생각하게 만들어 복잡한 문제를 해결하는 기법을 배웁니다.