프롬프트 패턴 (Prompt Patterns)

검증된 프롬프트 패턴을 활용하면 일관되게 고품질 결과를 얻을 수 있습니다. 이 페이지는 다양한 시나리오에 바로 적용할 수 있는 실전 패턴을 소개합니다.

업데이트 안내: 모델/요금/버전/정책 등 시점에 민감한 정보는 변동될 수 있습니다. 최신 내용은 공식 문서를 확인하세요.

패턴 가이드

🎓 프롬프트 패턴이란?

검증된 프롬프트 구조를 재사용하여 일관된 고품질 결과를 얻는 방법입니다.

6가지 핵심 패턴:

  1. 역할 기반 - "당신은 [전문가]입니다"
  2. 구조화된 출력 - JSON, 테이블, Markdown
  3. 단계별 분해 - "1단계, 2단계, ..."
  4. 컨텍스트 제공 - 배경 정보 명시
  5. Few-Shot - 예제 제공
  6. Chain-of-Thought - 사고 과정 표시

💡 사용 팁: 여러 패턴을 조합하면 더 강력합니다!

작업 유형별 패턴 선택 가이드 🎭 역할 기반 전문 지식 필요 시 예: 법률 자문, 코드 리뷰 📊 구조화된 출력 파싱 가능한 형식 예: JSON, CSV, Markdown 📝 단계별 분해 복잡한 작업 예: 디버깅, 분석 📚 컨텍스트 제공 문서 기반 답변 예: 계약서 분석 🎯 Few-Shot 패턴 학습 예: 스타일 복제 🧠 Chain-of-Thought 복잡한 추론 예: 수학, 논리 문제 💪 강력한 조합 예시 🎭 역할 + 📊 구조화 + 📝 단계별 → 코드 리뷰 (전문가 관점 + JSON 출력 + 체계적 분석) 📚 컨텍스트 + 🎯 Few-Shot + 📊 구조화 → 문서 요약 (정보 기반 + 스타일 예시 + JSON) 💡 복잡한 작업일수록 여러 패턴을 조합하세요 - 정확도가 크게 향상됩니다!
그림 1: 작업 유형별 프롬프트 패턴 선택 가이드 및 강력한 조합 예시

1. 역할 기반 패턴 (Role Prompting)

Claude에게 특정 전문가 역할을 부여하면 해당 도메인 지식과 어조로 응답합니다.

패턴 템플릿
당신은 [전문 분야]의 [직책/역할]입니다.
[경력/자격] 년의 경험이 있으며, [특기]를 전문으로 합니다.

[작업 요청]

실전 예시

예시 1: 시니어 개발자
당신은 10년 경력의 시니어 백엔드 개발자입니다.
Python, Django, PostgreSQL을 전문으로 하며, 대규모 서비스 아키텍처 설계 경험이 풍부합니다.

다음 API 엔드포인트의 성능 문제를 분석하고 최적화 방안을 제시해주세요:
[코드]
예시 2: 법률 자문
당신은 기업법 전문 변호사입니다.
계약법, 지적재산권, M&A를 전문으로 하며, 다국적 기업 자문 경험이 있습니다.

다음 계약서 초안의 법적 리스크를 검토해주세요:
[계약서]

2. 구조화된 출력 패턴

명확한 출력 형식을 지정하여 파싱하기 쉬운 결과를 얻을 수 있습니다.

JSON 출력

패턴 템플릿
다음 정보를 분석하고 JSON 형식으로 출력하세요.

출력 형식:
{
  "필드1": "값",
  "필드2": 123,
  "필드3": ["항목1", "항목2"]
}

입력: [데이터]

테이블 출력

패턴 예시
다음 제품들을 비교하고 Markdown 테이블로 출력하세요:

| 제품명 | 가격 | 주요 기능 | 평점 |
|--------|------|-----------|------|
| ...    | ...  | ...       | ...  |

제품 목록: [제품 정보]

3. 단계별 분해 패턴

복잡한 작업을 명시적인 단계로 나누면 정확도가 향상됩니다.

패턴 템플릿
다음 작업을 단계별로 수행하세요:

1단계: [첫 번째 단계]
2단계: [두 번째 단계]
3단계: [세 번째 단계]
...

각 단계의 결과를 명시하고, 최종 답변을 제시하세요.

작업: [작업 설명]

실전 예시: 디버깅

Python 디버깅 패턴
다음 Python 코드의 버그를 찾고 수정하세요. 단계별로 진행하세요:

1단계: 코드를 읽고 예상 동작 파악
2단계: 잠재적 오류 위치 식별
3단계: 각 오류의 원인 분석
4단계: 수정 방안 제시
5단계: 수정된 코드 작성
6단계: 테스트 케이스 제안

코드:
```python
def calculate_average(numbers):
    total = 0
    for num in numbers:
        total += num
    return total / len(numbers)

result = calculate_average([])
print(result)
```

4. 컨텍스트 제공 패턴

필요한 배경 정보를 명확히 제공하여 환각(hallucination)을 줄입니다.

패턴 템플릿
<context>
[관련 배경 정보, 문서, 데이터]
</context>

<task>
위 컨텍스트를 기반으로 다음 질문에 답변하세요:
[질문]
</task>

<constraints>
- 컨텍스트에 없는 정보는 추측하지 마세요
- 불확실한 경우 명시하세요
</constraints>

실전 예시: FAQ 생성

문서 기반 FAQ 생성
<product_manual>
[제품 매뉴얼 전문]
</product_manual>

위 매뉴얼을 기반으로 고객이 자주 묻는 질문 10개와 답변을 작성하세요.

형식:
## Q1: [질문]
**A:** [답변]

## Q2: [질문]
**A:** [답변]

...

규칙:
- 매뉴얼에 명시된 내용만 참조
- 각 답변 끝에 관련 페이지 번호 명시

5. 비교 분석 패턴

여러 옵션을 체계적으로 비교하여 의사결정을 지원합니다.

패턴 템플릿
다음 [대상들]을 [평가 기준]으로 비교 분석하세요:

평가 기준:
1. [기준 1]
2. [기준 2]
3. [기준 3]

비교 대상:
- [옵션 A]
- [옵션 B]
- [옵션 C]

출력 형식:
## 기준별 비교
...

## 종합 평가
...

## 추천
[상황별 최적 선택]

실전 예시: 기술 스택 선택

프레임워크 비교
다음 웹 프레임워크들을 비교하고 우리 프로젝트에 적합한 것을 추천하세요:

프로젝트 요구사항:
- 팀 규모: 5명 (주니어 2명 포함)
- 예상 트래픽: 일 10만 요청
- 주요 기능: REST API, 실시간 알림, 파일 업로드
- 개발 기간: 3개월

비교 대상:
1. Django (Python)
2. Express.js (Node.js)
3. Spring Boot (Java)

평가 기준:
- 학습 곡선
- 개발 속도
- 성능
- 생태계 (라이브러리, 커뮤니티)
- 유지보수성

6. 반복 개선 패턴

초안을 생성한 후 피드백을 받아 개선하는 패턴입니다.

패턴 템플릿
# 1차 요청
[작업] 초안을 작성하세요.

# 2차 요청 (사용자 피드백 후)
다음 초안을 개선하세요:

<draft>
[Claude의 1차 응답]
</draft>

<feedback>
[사용자 피드백]
</feedback>

개선 사항:
- [개선 방향 1]
- [개선 방향 2]

실전 예시: 마케팅 문구

1차 요청
신제품 "CodeMaster AI" 런칭 이메일 제목을 5개 작성하세요.

제품 특징:
- AI 기반 코드 자동완성
- 30개 언어 지원
- 월 변동

타겟: 주니어 개발자
2차 요청 (개선)
다음 제목들을 더 임팩트 있게 개선하세요:

<draft>
1. "CodeMaster AI 출시: AI가 코드를 대신 작성합니다"
2. "주니어 개발자를 위한 AI 코딩 어시스턴트"
3. "월 변동로 30개 언어 지원"
4. ...
</draft>

<feedback>
- 너무 직설적이고 지루함
- 가격보다 가치에 집중
- 감정적 연결 필요
</feedback>

개선 방향:
- 호기심 유발
- 베네핏 강조 (기능 X)
- 긴급성 추가

7. 제약 기반 패턴

명확한 제약사항을 제시하여 원하는 형태의 결과를 보장합니다.

패턴 템플릿
[작업 설명]

제약사항:
✅ 반드시 지킬 것:
- [필수 요구사항 1]
- [필수 요구사항 2]

❌ 금지사항:
- [하지 말아야 할 것 1]
- [하지 말아야 할 것 2]

📏 길이 제한:
- 최소: [N]자
- 최대: [M]자

🎨 스타일:
- [어조, 형식 등]

실전 예시: SNS 게시물

Twitter 게시물 생성
다음 블로그 글을 Twitter 스레드(5개 트윗)로 변환하세요:

[블로그 글 전문]

제약사항:
✅ 반드시 지킬 것:
- 각 트윗은 280자 이하
- 1번 트윗에 후킹 문구 필수
- 5번 트윗에 CTA(행동 유도) 포함
- 핵심 메시지 유지

❌ 금지사항:
- 이모지 과다 사용 (트윗당 최대 2개)
- 해시태그 남발 (총 3개 이내)
- 전문 용어 무분별 사용

🎨 스타일:
- 친근하지만 전문적
- 짧은 문장
- 액션 동사 사용

8. 템플릿 채우기 패턴

미리 정의된 템플릿에 정보를 채워 넣는 방식입니다.

패턴 템플릿
다음 정보를 바탕으로 템플릿을 완성하세요:

<template>
[템플릿 구조]
</template>

<data>
[원본 데이터]
</data>

규칙:
- 템플릿 구조는 변경하지 마세요
- [...] 부분만 채우세요
- 데이터에 없는 정보는 "정보 없음"으로 표시

실전 예시: 이력서 생성

이력서 템플릿
<template>
# [이름]
[직무] | [이메일] | [전화번호]

## 경력 요약
[3줄 요약]

## 핵심 역량
- [역량 1]
- [역량 2]
- [역량 3]

## 경력
### [회사명] | [직책] | [기간]
- [주요 성과 1]
- [주요 성과 2]

## 학력
[학교명] | [전공] | [졸업년도]

## 프로젝트
### [프로젝트명]
- 설명: [프로젝트 설명]
- 기술: [사용 기술]
- 성과: [측정 가능한 성과]
</template>

<raw_data>
이름: 김개발
5년 경력 백엔드 개발자
Python, Django 주력
ABC회사 2020-2023 시니어 개발자
XYZ대학 컴퓨터공학과 2019년 졸업
...
</raw_data>

9. 페르소나 기반 패턴

타겟 사용자 페르소나를 명시하여 맞춤형 결과를 얻습니다.

패턴 템플릿
<persona>
이름: [가상 인물명]
나이: [연령대]
직업: [직업]
기술 수준: [초급/중급/고급]
목표: [달성하려는 목표]
어려움: [현재 겪는 문제]
</persona>

위 페르소나를 위해 [작업]을 수행하세요.

실전 예시: 튜토리얼 작성

페르소나 기반 튜토리얼
<persona>
이름: 민수 (가명)
나이: 25세
직업: 주니어 데이터 분석가 (경력 6개월)
기술 수준: Python 기본 문법은 알지만 라이브러리 경험 부족
목표: Pandas로 엑셀 데이터 분석 자동화
어려움: DataFrame 개념이 어렵고, 에러 메시지 해석 못함
학습 스타일: 예제 코드를 직접 실행하며 배우는 것 선호
</persona>

위 페르소나를 위한 "Pandas DataFrame 기초" 튜토리얼을 작성하세요.

요구사항:
- 실행 가능한 코드 예제 포함
- 각 단계마다 예상 출력 표시
- 자주 발생하는 에러와 해결법 포함
- 총 30분 이내 완료 가능한 분량

10. 검증 패턴

Claude에게 자신의 답변을 검증하도록 요청합니다.

패턴 템플릿
[작업 수행]

작업 완료 후, 다음을 자가 검증하세요:

체크리스트:
□ [검증 항목 1]
□ [검증 항목 2]
□ [검증 항목 3]

검증 결과를 명시하고, 문제가 있다면 수정하세요.

실전 예시: SQL 쿼리 검증

SQL 쿼리 작성 + 검증
다음 요구사항에 맞는 SQL 쿼리를 작성하세요:

요구사항:
- 테이블: orders, customers
- 2024년 1월 주문 금액 상위 10명 고객
- 고객명, 총 주문액, 주문 건수 출력
- 총 주문액 내림차순 정렬

쿼리 작성 후, 다음을 검증하세요:

✅ 체크리스트:
□ JOIN 조건이 올바른가?
□ WHERE 조건이 정확한가?
□ GROUP BY가 필요한가?
□ 정렬 방향이 맞는가?
□ 성능 최적화 (인덱스 활용)
□ SQL 인젝션 취약점 없는가?

검증 결과:
[각 항목별 OK/문제점 명시]

최종 쿼리:
```sql
...
```

패턴 조합하기

여러 패턴을 조합하면 더욱 강력한 프롬프트를 만들 수 있습니다.

조합 예시: 역할 + 구조화 + 검증
# 역할
당신은 사이버 보안 전문가입니다.

# 구조화된 출력
다음 코드의 보안 취약점을 분석하고 JSON으로 출력하세요:

```python
[코드]
```

출력 형식:
{
  "vulnerabilities": [
    {
      "severity": "HIGH|MEDIUM|LOW",
      "type": "SQL Injection|XSS|...",
      "location": "line X",
      "description": "...",
      "fix": "..."
    }
  ],
  "overall_score": "A|B|C|D|F"
}

# 검증
출력 전 다음을 확인하세요:
□ 모든 취약점을 발견했는가?
□ severity 분류가 OWASP 기준에 맞는가?
□ fix가 실제로 적용 가능한가?

패턴 사용 팁

1. 프롬프트 라이브러리 구축

자주 사용하는 패턴을 저장하고 재사용하세요.

Python 예시
# prompts.py
PATTERNS = {
    "code_review": """당신은 시니어 개발자입니다.
다음 코드를 리뷰하고:
1. 좋은 점
2. 개선 사항
3. 리팩토링 제안
을 제시하세요.

코드:
{code}""",

    "summarize": """다음 문서를 {length} 이내로 요약하세요:
{document}"""
}

def get_prompt(pattern_name, **kwargs):
    return PATTERNS[pattern_name].format(**kwargs)

2. A/B 테스트

동일한 작업에 대해 다른 패턴을 시도하고 결과를 비교하세요.

3. 점진적 개선

간단한 프롬프트에서 시작해 결과를 보며 제약사항을 추가하세요.

다음 단계

프롬프트 패턴을 익혔다면 고급 기법들을 탐색하세요:

핵심 정리

  • 프롬프트 패턴 (Prompt Patterns)의 핵심 개념과 흐름을 정리합니다.
  • 패턴 가이드를 단계별로 이해합니다.
  • 실전 적용 시 기준과 주의점을 확인합니다.

실무 팁

  • 입력/출력 예시를 고정해 재현성을 확보하세요.
  • 프롬프트 패턴 (Prompt Patterns) 범위를 작게 잡고 단계적으로 확장하세요.
  • 패턴 가이드 조건을 문서화해 대응 시간을 줄이세요.