PART 6 · 강의 1/3

프롬프트 기초

효과적인 프롬프트 작성의 기본 원칙과 구조를 학습합니다.

01

프롬프트란 무엇인가?

LLM과 소통하는 방법

프롬프트(Prompt)는 LLM에게 전달하는 입력 텍스트입니다. 사용자의 의도를 모델에게 전달하는 인터페이스 역할을 합니다.

💡 프롬프트 엔지니어링

프롬프트 엔지니어링은 원하는 출력을 얻기 위해 프롬프트를 설계하고 최적화하는 기술입니다. 같은 질문도 어떻게 물어보느냐에 따라 결과가 크게 달라집니다.

프롬프트의 기본 구성

1 지시(Instruction)
다음 텍스트를 요약해주세요.
2 컨텍스트(Context)
대상 독자: 초등학생, 길이: 2-3문장
3 입력(Input)
인공지능(AI)은 인간의 학습능력, 추론능력, 지각능력을 컴퓨터 프로그램으로 실현한 기술입니다...
4 출력 형식(Output Format)
JSON 형식으로 {summary: "...", keywords: [...]} 형태로 출력
📋 완성된 프롬프트
다음 텍스트를 요약해주세요. 대상 독자: 초등학생, 길이: 2-3문장 텍스트: 인공지능(AI)은 인간의 학습능력, 추론능력, 지각능력을 컴퓨터 프로그램으로 실현한 기술입니다... JSON 형식으로 {summary: "...", keywords: [...]} 형태로 출력해주세요.
02

Zero-shot vs Few-shot 프롬프팅

예시 제공 여부에 따른 방식

LLM에게 작업을 요청할 때, 예시를 제공하느냐 마느냐에 따라 Zero-shotFew-shot으로 구분합니다.

0️⃣
Zero-shot
예시 없이 지시만

어떤 예시도 제공하지 않고 작업을 요청합니다. 모델의 사전학습 지식에만 의존합니다.

다음 문장의 감정을 분류하세요. 문장: "오늘 정말 기분이 좋아요!" 감정:
장점
  • 간단하고 빠름
  • 토큰 사용량 적음
단점
  • 정확도가 낮을 수 있음
  • 출력 형식 불안정
1️⃣
One-shot
예시 1개 제공

하나의 예시를 보여주고 같은 방식으로 수행하도록 요청합니다. 형식을 학습시키기에 충분할 때 사용합니다.

다음 문장의 감정을 분류하세요. 예시: 문장: "짜증나!" → 감정: 부정 문장: "오늘 정말 기분이 좋아요!" 감정:
장점
  • 형식 가이드 가능
  • 적은 토큰으로 개선
단점
  • 편향될 수 있음
  • 복잡한 작업엔 부족
📚
Few-shot
예시 2-5개 제공

여러 예시를 제공하여 패턴을 학습시킵니다. 복잡한 작업이나 특정 형식이 필요할 때 효과적입니다.

다음 문장의 감정을 분류하세요. 예시 1: "짜증나!" → 부정 예시 2: "행복해요" → 긍정 예시 3: "그냥 그래요" → 중립 문장: "오늘 정말 기분이 좋아요!" 감정:
장점
  • 높은 정확도
  • 일관된 출력 형식
단점
  • 토큰 사용량 증가
  • 좋은 예시 선정 필요
⚠️ Few-shot 예시 선정 팁
  • 다양한 케이스를 커버하는 예시 선택 (긍정/부정/중립 등)
  • 예시의 순서도 중요 - 일반적인 것부터 특수한 것 순으로
  • 실제 데이터와 비슷한 난이도의 예시 사용
  • 너무 많은 예시(5개 초과)는 오히려 성능 저하 가능
03

역할(Role) 프롬프팅

페르소나를 부여하여 출력 조절

LLM에게 특정 역할이나 페르소나를 부여하면, 해당 관점에서 답변하도록 유도할 수 있습니다. 이는 출력의 톤, 깊이, 스타일을 조절하는 강력한 방법입니다.

👨‍🏫
교육자 / 선생님
"당신은 10년 경력의 초등학교 과학 선생님입니다. 어려운 개념을 쉽게 설명하는 것을 좋아합니다."
효과: 쉬운 단어 사용, 비유와 예시 풍부, 단계적 설명
👩‍💻
시니어 개발자
"당신은 15년 경력의 시니어 백엔드 개발자입니다. 코드 리뷰와 아키텍처 설계에 전문성이 있습니다."
효과: 기술적 깊이, 베스트 프랙티스 제안, 실무 경험 반영
✍️
카피라이터
"당신은 유명 광고 대행사의 크리에이티브 디렉터입니다. 간결하고 임팩트 있는 문구를 만듭니다."
효과: 창의적 표현, 감정적 호소, 핵심 메시지 강조
🔬
연구원 / 분석가
"당신은 데이터 분석 전문가입니다. 객관적인 데이터를 바탕으로 인사이트를 도출합니다."
효과: 객관적 분석, 데이터 기반 결론, 한계점 명시
💡 System Prompt와 역할 부여

API 사용 시 system 메시지에 역할을 부여하면 더 일관된 결과를 얻을 수 있습니다. System prompt는 대화 전체에 걸쳐 유지되는 지침으로 작동합니다.

04

효과적인 프롬프트 구조

잘 구조화된 프롬프트 설계

잘 구조화된 프롬프트는 LLM이 의도를 정확히 파악하도록 돕습니다. 다음은 권장되는 프롬프트 구조입니다.

1
역할/맥락 설정
AI가 어떤 관점에서 답해야 하는지 설정
"당신은 법률 전문가입니다."
2
명확한 지시
무엇을 해야 하는지 구체적으로 명시
"다음 계약서의 위험 조항을 분석하세요."
3
입력 데이터
처리할 내용을 명확히 구분하여 제공
"계약서 내용: [여기에 텍스트]"
4
출력 형식 지정
원하는 답변 형식을 구체적으로 지정
"각 위험 조항에 대해 1) 조항 2) 위험 수준 3) 수정 제안 형식으로 답변"
5
제약조건 (선택)
하지 말아야 할 것, 제한 사항 명시
"법적 조언이 아닌 일반적인 정보만 제공하세요."
05

프롬프트 작성 베스트 프랙티스

좋은 프롬프트를 위한 핵심 원칙

🎯
구체적으로 작성
모호한 표현 대신 명확하고 구체적인 지시를 사용하세요.
O "3문장으로 요약해주세요"
X "짧게 요약해주세요"
📐
출력 형식 명시
원하는 출력 형식을 명확하게 지정하세요.
O "JSON 형식: {name, age, job}"
X "정리해서 보여줘"
🔲
구분자 활용
입력 데이터를 명확히 구분하는 구분자를 사용하세요.
O """텍스트""" 또는 ### 구분자 ###
X 지시와 데이터가 섞인 문장
📋
단계적 지시
복잡한 작업은 단계별로 나누어 지시하세요.
O "1단계: 분석 2단계: 요약 3단계: 결론"
X "분석하고 요약하고 결론내줘"
🚫
부정문 피하기
"하지 마세요"보다 "하세요"가 더 효과적입니다.
O "사실만 포함하세요"
X "추측하지 마세요"
🔄
반복 검증
프롬프트를 여러 번 테스트하고 개선하세요.
O 다양한 입력으로 테스트 후 수정
X 한 번 작성 후 그대로 사용
06

프롬프트 개선 예시

실제 개선 사례 살펴보기

요약 작업
번역 작업
코드 작성

개선 전

이거 요약해줘. 인공지능(AI)은 인간의 학습능력과 추론능력을 컴퓨터로 구현한 기술이다...

개선 후

다음 기술 문서를 요약해주세요. 요구사항: - 대상 독자: AI 입문자 - 길이: 2-3문장 - 핵심 키워드 3개 포함 문서: """ 인공지능(AI)은 인간의 학습능력과 추론능력을 컴퓨터로 구현한 기술이다... """ 출력 형식: 요약: [요약문] 키워드: [키워드1], [키워드2], [키워드3]
💡 개선 포인트

대상 독자 명시, 구체적인 길이 지정, 구분자(""")로 데이터 분리, 출력 형식 지정

개선 전

영어로 번역해줘: 오늘 날씨가 좋네요

개선 후

한국어를 영어로 번역해주세요. 번역 스타일: 자연스러운 일상 대화체 톤: 친근하고 캐주얼 원문: "오늘 날씨가 좋네요" 번역:
💡 개선 포인트

번역 방향 명시(한→영), 스타일과 톤 지정, 입력/출력 구분

개선 전

파이썬으로 정렬 함수 만들어줘

개선 후

Python 함수를 작성해주세요. 기능: 리스트를 퀵소트 알고리즘으로 정렬 언어: Python 3.10+ 요구사항: - 타입 힌트 포함 - docstring 작성 - 에러 처리 포함 예시: 입력: [3, 1, 4, 1, 5] 출력: [1, 1, 3, 4, 5] 코드:
💡 개선 포인트

구체적인 알고리즘 명시, 언어 버전 지정, 코딩 스타일 요구사항, 예시 제공

07

자주 사용되는 구분자

프롬프트 구조화를 위한 도구

구분자 용도 예시
"""텍스트""" 긴 텍스트 블록 문서, 기사, 코드
### ... ### 섹션 구분 지시와 데이터 분리
<tag>...</tag> XML 스타일 구분 <context>, <input>
--- 수평 구분선 섹션 나누기
[ ] 플레이스홀더 [여기에 입력]
{ } 변수/템플릿 {user_name}
💡 Tip

Claude와 같은 최신 모델은 XML 태그를 특히 잘 인식합니다. <instructions>, <context>, <examples> 등의 태그를 활용하면 더 정확한 결과를 얻을 수 있습니다.

SUMMARY

핵심 요약

  • 프롬프트 구성요소 — 지시 + 컨텍스트 + 입력 + 출력 형식
  • Zero-shot vs Few-shot — 예시 제공 여부에 따른 프롬프팅 방식
  • 역할 프롬프팅 — 페르소나 부여로 출력 스타일 제어
  • 베스트 프랙티스 — 구체적 지시, 구분자 활용, 형식 명시