실전 예제¶
이 섹션에서는 실제로 자주 사용되는 작업들에 대해 좋은 프롬프트와 나쁜 프롬프트를 비교하고, 개선된 프롬프트를 제시합니다.
1. 텍스트 요약¶
나쁜 프롬프트¶
문제점: - 지시문이 모호함 - 요약의 길이가 명시되지 않음 - 출력 형식이 정해지지 않음
개선된 프롬프트¶
System: 당신은 신문 편집자입니다. 복잡한 내용을 간결하게 정리합니다.
Task: 다음 기사를 요약해 주세요.
입력:
생성형 AI는 최근 몇 년간 급속도로 발전하고 있습니다.
특히 자연어 처리 기술의 발전으로 인해 ChatGPT, Claude, Gemini
같은 대규모 언어 모델이 등장했습니다. 이들은 텍스트 생성,
코드 작성, 문제 해결 등 다양한 작업을 수행할 수 있습니다.
요구사항:
- 길이: 최대 50단어
- 형식: 마크다운 불릿 포인트 (3-4개)
- 톤: 중립적이고 객관적
예상 출력:
- 생성형 AI는 최근 급속도로 발전
- 자연어 처리 기술 발전으로 ChatGPT, Claude, Gemini 등 등장
- 텍스트 생성, 코드 작성, 문제 해결 등 다양한 작업 수행 가능
2. 질문-답변¶
나쁜 프롬프트¶
문제점: - 맥락이 없음 - 대상 독자가 명확하지 않음 - 답변의 길이나 깊이가 정해지지 않음
개선된 프롬프트¶
System: 당신은 대학교 1학년 학생들을 가르치는 교수입니다.
복잡한 개념을 이해하기 쉽게 설명해 주세요.
실생활의 예시를 포함하세요.
User: 생성형 AI가 정확히 무엇인지, 기존 AI와 어떤 점이 다른지
5분 정도 읽을 수 있는 분량으로 설명해 주세요.
요구사항:
- 형식: 마크다운 (제목, 소제목, 단락)
- 길이: 300-400단어
- 포함 요소: 정의, 기존 AI와의 차이, 실생활 예시 2-3개
예상 출력:
# 생성형 AI란?
## 정의
생성형 AI는...
## 기존 AI와의 차이
- 기존 AI (분류 AI)는...
- 생성형 AI는...
## 실생활 예시
### 1. ChatGPT
...
3. 텍스트 분류¶
나쁜 프롬프트¶
문제점: - 어떤 기준으로 분류할지 명확하지 않음 - 결과 형식이 지정되지 않음
개선된 프롬프트¶
System: 당신은 고객 리뷰 분석가입니다.
Task: 다음 고객 리뷰들을 감정별로 분류해 주세요.
분류 기준:
- 긍정: 상품에 대한 만족도가 높은 리뷰
- 중립: 장점과 단점이 섞여 있는 리뷰
- 부정: 상품에 대한 불만이 있는 리뷰
리뷰:
1. "이 상품 정말 좋습니다!"
2. "별로네요."
3. "음... 그래도 가격이 비싼 것 같아요."
출력 형식 (CSV):
리뷰,분류,신뢰도
"이 상품 정말 좋습니다!",긍정,95%
예상 출력:
4. 대화 생성¶
나쁜 프롬프트¶
문제점: - 톤이 정해지지 않음 - 고객의 이유가 불명확 - 대화의 길이가 정해지지 않음
개선된 프롬프트¶
System: 당신은 친절하고 프로페셔널한 고객 서비스 담당자입니다.
고객의 불만을 해결하려고 노력하며, 회사 정책을 따릅니다.
Task: 다음 상황에서의 고객 서비스 대화를 작성해 주세요.
상황:
- 고객이 1주일 전에 구매한 노트북의 배터리 문제로 반품을 원함
- 고객은 약간 화나 있는 상태
- 제품 구입 후 7일 이내는 무조건 반품 가능한 정책
대화 구조:
1. 인사 및 공감 (1-2문장)
2. 상황 파악 (고객의 문제 확인)
3. 해결책 제시 (회사 정책 설명)
4. 감사 인사
톤: 친근하면서도 전문적 (존댓말)
형식: 마크다운 대화체
예상 출력:
**고객 서비스 담당자:** 안녕하세요! 서비스를 이용해 주셔서 감사합니다.
배터리 문제가 있으시다니 정말 불편하셨을 것 같습니다.
어떻게 도와드릴까요?
**고객:** 네, 지난 주에 구입했는데 배터리가 자꾸 방전돼요.
**고객 서비스 담당자:** 그렇군요. 정말 답답하셨을 것 같습니다.
좋은 소식은 저희 제품은 구입 후 7일 이내 무조건 반품이 가능하다는 점입니다.
...
5. 코드 생성¶
나쁜 프롬프트¶
문제점: - 어떤 프로그램인지 명확하지 않음 - 코드 스타일이 정해지지 않음 - 주석이나 설명 수준이 불명확
개선된 프롬프트¶
System: 당신은 경력 5년의 Python 개발자입니다.
깔끔하고 이해하기 쉬운 코드를 작성합니다.
Task: Python으로 간단한 투두 리스트 애플리케이션을 만들어 주세요.
기능:
1. 할 일 추가 (add)
2. 할 일 목록 보기 (list)
3. 할 일 완료 표시 (complete)
4. 할 일 삭제 (delete)
요구사항:
- 파이썬 내장 모듈만 사용 (외부 라이브러리 X)
- 클래스 기반 설계
- 한국어 주석 포함
- 오류 처리 포함
- 각 함수에 docstring 포함
코드 스타일: PEP 8 준수
예상 출력:
class TodoApp:
"""간단한 투두 리스트 애플리케이션"""
def __init__(self):
"""투두 리스트를 초기화합니다."""
self.todos = []
def add(self, task):
"""새로운 할 일을 추가합니다.
Args:
task (str): 추가할 할 일
"""
self.todos.append({"task": task, "completed": False})
print(f"'{task}'이(가) 추가되었습니다.")
# ... 나머지 메서드들
6. 이메일 작성¶
나쁜 프롬프트¶
문제점: - 대상이 명확하지 않음 - 관계가 명확하지 않음 (상사, 동료, 고객 등) - 이유가 명시되지 않음
개선된 프롬프트¶
System: 당신은 업무 경험이 많은 직장인입니다.
공식적이면서도 친근한 톤으로 이메일을 작성합니다.
Task: 다음 상황에서 팀장님께 보낼 이메일을 작성해 주세요.
상황:
- 발신: 마케팅 팀 대리
- 수신: 마케팅 팀장님
- 목적: 내일 예정된 팀 회의를 목요일로 연기 요청
- 이유: 중요한 고객 미팅이 급하게 잡혔음
- 제안: 목요일 오후 3시
이메일 구조:
1. 인사 및 요청 (제목과 첫 문장)
2. 상황 설명 (왜 변경이 필요한지)
3. 제안 (새로운 일정)
4. 양해 요청 및 마무리
톤: 공식적이면서도 친근함 (존댓말)
길이: 200단어 이내
예상 출력:
제목: 팀 회의 일정 변경 요청 (내일 → 목요일)
팀장님께 인사드립니다.
갑자기 이메일을 드려 요청이 있어 말씀드립니다.
내일 예정되어 있던 팀 회의 일정을 목요일 오후 3시로
변경해주실 수 있을까요?
중요한 고객 미팅이 내일 갑자기 잡혀서,
미안하지만 일정을 옮길 필요가 생겼습니다.
목요일 오후 3시가 가능하신지 확인해 주시면 감사하겠습니다.
...
💡 실전 팁¶
작업별 프롬프트 작성 팁
-
요약: 단어 수 제한을 명시하고, 불릿 포인트 사용을 권장합니다.
-
분류: 분류 기준을 명확히 정하고, 출력을 CSV나 JSON으로 받으면 활용이 쉽습니다.
-
대화: 톤(공식적/친근한)과 길이(문장 수 또는 단어 수)를 반드시 명시합니다.
-
코드: 프로그래밍 언어, 라이브러리 제약, 코드 스타일을 모두 명시합니다.
-
이메일/문서: 대상과 관계, 톤을 명확히 하면 훨씬 자연스러운 결과를 얻습니다.
-
일반적 팁: 비슷한 작업이면 한 번 성공한 프롬프트를 저장해 두고 재사용하면 시간을 절약할 수 있습니다.
📝 핵심 정리¶
- 각 작업별로 다른 프롬프트 구조가 필요합니다.
- 지시문, 맥락, 입력, 출력 형식을 모두 명시할 때 가장 좋은 결과를 얻습니다.
- 톤, 길이, 포함 요소를 구체적으로 명시하면 원하는 형태로 결과를 받을 수 있습니다.
- 반복 실험을 통해 각 작업에 최적화된 프롬프트를 찾을 수 있습니다.
다음 단계: LLM 설정에서 모델의 동작을 제어하는 설정값들을 배워보세요.