프롬프트 설계 팁¶
이 섹션에서는 효과적인 프롬프트를 설계하기 위한 실용적인 팁들을 소개합니다.
1. 단순함부터 시작하기¶
왜 단순함이 중요한가?¶
복잡한 프롬프트부터 시작하면: - 어떤 부분이 문제인지 파악하기 어려움 - 불필요한 정보로 인해 성능이 떨어질 수 있음 - 디버깅이 어려움
단계별 접근법¶
1단계: 가장 기본적인 형태
2단계: 약간의 맥락 추가
3단계: 구체적인 요구사항 추가
4단계: 추가 요구사항
"Python으로 다음 요건을 만족하는 'add' 함수를 작성해 주세요:
- 두 개의 정수를 입력받음
- 두 수의 합을 반환
- 입력이 정수가 아니면 TypeError 발생
- 각 줄에 주석 포함"
팁¶
✅ 시작은 단순하게, 필요에 따라 점진적으로 추가
✅ 각 단계에서 테스트, 결과가 만족스러운지 확인
✅ 작동하는 프롬프트는 저장, 나중에 재사용
2. 구체성의 중요성¶
일반적 요청 vs 구체적 요청¶
나쁜 예 (일반적)
문제점: - "좋은"의 기준이 무엇인가? - 어떤 주제의 에세이? - 어떤 길이? - 어떤 톤? - 대상 독자는?
좋은 예 (구체적)
"고등학생 (16-18세)을 대상으로 한 에세이를 작성해 주세요.
주제: 인공지능이 우리의 미래에 미치는 영향
요구사항:
- 길이: 400-500단어
- 구조: 도입, 본론 2-3개 포인트, 결론
- 톤: 학술적이지만 접근 가능한 (academic but accessible)
- 포함 요소:
* 최소 2개의 구체적인 예시
* AI의 긍정적 측면과 우려 사항 모두 포함
* 미래에 대한 균형잡힌 관점
참고: 이 에세이는 학교 프로젝트 제출용입니다."
구체성을 높이는 방법¶
| 요소 | 예시 |
|---|---|
| 대상 | "고등학생", "IT 전문가", "일반인" |
| 목적 | "학교 과제", "블로그 포스팅", "회의 자료" |
| 길이 | "300-400단어", "3문단", "5분 읽을 분량" |
| 톤 | "공식적", "친근한", "유머러스" |
| 형식 | "마크다운", "JSON", "목록" |
| 포함 사항 | "예시 2개", "통계", "결론" |
| 제외 사항 | "비술어적 표현 금지", "저작권이 있는 콘텐츠 제외" |
3. 모호함 피하기¶
흔한 모호한 표현들¶
"좋게" - 너무 모호함
❌ "이 블로그 글을 좋게 개선해 줄래?"
✅ "이 블로그 글의 다음 부분을 개선해 주세요:
- 도입부: 더 관심 끌게 작성
- 본론: 5개에서 3개의 핵심 포인트로 압축
- 결론: 강한 call-to-action 추가"
"최고의" - 평가 기준이 없음
❌ "최고의 Python 라이브러리는 뭐야?"
✅ "데이터 분석을 위한 Python 라이브러리를 비교해 주세요.
비교 항목:
- 성능 (처리 속도)
- 학습 곡선 (배우기 쉬운 정도)
- 커뮤니티 지원
- 추천: NumPy vs Pandas vs PySpark
형식: 비교 테이블"
"빨리" - 기준이 모호함
❌ "이 코드를 빨리 실행되도록 최적화해 줄래?"
✅ "이 코드의 성능을 최적화해 주세요.
현재 성능: 1000개 아이템 처리에 5초 소요
목표: 1초 이내로 단축
제약: 정확도는 99.9% 이상 유지
언어: Python"
모호한 단어 대체하기¶
| 모호한 표현 | 대체 표현 |
|---|---|
| "좋게" | "더 명확하게", "더 간결하게", "더 전문적으로" |
| "빨리" | "1초 내에", "성능 50% 향상", "메모리 사용 30% 감소" |
| "최고의" | "가장 성능 좋은", "초보자 친화적인", "가성비 좋은" |
| "멋지게" | "시각적으로 매력있게", "트렌디하게", "세련되게" |
4. 해야 할 것 (Do's)¶
✅ 명확한 지시문 제공¶
✅ 필요한 맥락 제공¶
✅ 예제 제공 (In-context Learning)¶
DO: "다음 패턴을 따라 5개의 예시를 더 만들어 주세요:
예제 1:
입력: '아름다운 하루'
출력: '이 하루는 정말 훌륭했어요'
예제 2:
입력: '신나는 일'
출력: '정말 흥미로운 일이었어요'"
DON'T: "비슷한 문장들 만들어 줄래?"
✅ 출력 형식 지정¶
✅ 단계별 접근법 (Chain of Thought)¶
✅ 제약 조건 명시¶
5. 하지 말아야 할 것 (Don'ts)¶
❌ 과도하게 길고 복잡한 프롬프트¶
DON'T (너무 길고 복잡함):
"안녕하세요. 저는 마케팅을 공부하고 있는 학생이고,
다음 주에 프로젝트 발표가 있는데,
우리 회사의 새로운 스마트 워치 제품에 대해서...
(계속 길게 설명..."
DO (간결하게):
"System: 당신은 마케팅 전문가입니다.
Task: 새로운 스마트 워치의 광고 캠페인 기획
요구사항:
- 목표 고객: 25-40세 직장인
- 채널: SNS
- 톤: 프리미엄, 기술적"
❌ 상충되는 요구사항¶
DON'T (상충):
"이 에세이를 매우 짧으면서도 매우 상세하게 작성해 주세요."
(어느 것을 우선시할지 불명확)
DO (명확):
"에세이를 300단어로 작성해 주세요.
핵심 3가지 포인트에 집중해 주세요."
❌ 불필요한 정중한 표현¶
❌ 여러 작업을 한 번에 요청¶
DON'T (너무 많은 요청):
"이 텍스트를 요약하고, 번역하고,
감정을 분석하고, 주제별로 분류해 주세요."
DO (나누어서 요청):
첫 번째: "이 텍스트를 100단어로 요약해 주세요."
(결과 확인)
두 번째: "이 요약을 영어로 번역해 주세요."
(계속...)
❌ 모델의 능력을 가정하지 않기¶
DON'T:
"당신은 인터넷에 연결되어 있나요?"
"지금 이 시간이 몇 시인가요?"
(모델이 실시간 정보에 접근할 수 없음)
DO:
"현재 한국 시간 기준 2026년 2월 20일이라고 가정하고..."
실전 프롬프트 템플릿¶
일반적인 작업용 템플릿¶
System: [역할 정의]
Task: [구체적인 작업]
Background/Context: [필요한 배경 정보]
Input Data:
[처리할 데이터]
Requirements:
- [요구사항 1]
- [요구사항 2]
- [요구사항 3]
Output Format: [원하는 형식]
Constraints:
- [제약 조건 1]
- [제약 조건 2]
간단한 작업용 템플릿¶
💡 실전 팁¶
프롬프트 설계의 핵심
-
작게 시작하고 반복적으로 개선: 완벽한 프롬프트는 처음부터 만들어지지 않습니다.
-
구체성은 과할 수 없음: 더 구체할수록 더 좋은 결과를 얻을 가능성이 높습니다.
-
예제의 힘: 좋은 예제 2-3개는 긴 설명 1개보다 낫습니다.
-
프롬프트 저장: 잘 작동하는 프롬프트는 저장해서 재사용하세요.
-
모델별 특성 파악: 각 모델(GPT-5.4, Claude 4.6, Gemini 2.5 Pro)마다 약간씩 다르게 반응합니다.
-
테스트: 같은 프롬프트를 여러 번 시도해서 일관성이 있는지 확인하세요.
📝 핵심 정리¶
좋은 프롬프트의 특징: - ✅ 단순: 불필요한 정보 없음 - ✅ 구체적: 모호하지 않음 - ✅ 완전: 필요한 모든 정보 포함 - ✅ 명확: 의도가 분명함
나쁜 프롬프트의 특징: - ❌ 복잡: 불필요하게 길고 복잡함 - ❌ 모호: "좋게", "빨리" 같은 표현 - ❌ 불완전: 필요한 정보 부족 - ❌ 상충: 서로 다른 요구사항
다음 단계: 프롬프트 최적화에서 작성한 프롬프트를 더 좋게 개선하는 방법을 배워보세요.