LLM프롬프트 엔지니어링 · 2기초

역할 부여와 Few-shot — LLM을 전문가로 만드는 법

LLM프롬프트엔지니어링RolePromptingFewShot페르소나

"당신은 전문가입니다"의 마법

같은 질문에 역할을 부여했을 때와 하지 않았을 때 결과가 달라집니다.

❌ "이 코드 리뷰해줘"

✅ "당신은 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이 단계별로 생각하게 만들어 복잡한 문제를 해결하는 기법을 배웁니다.

궁금한 점이 있으신가요?

협업·의뢰는 아래로, 가벼운 소통은 인스타그램 @bluefox._.hi도 환영이에요.