콘텐츠로 이동

프롬프트 설계 팁

이 섹션에서는 효과적인 프롬프트를 설계하기 위한 실용적인 팁들을 소개합니다.

1. 단순함부터 시작하기

왜 단순함이 중요한가?

복잡한 프롬프트부터 시작하면: - 어떤 부분이 문제인지 파악하기 어려움 - 불필요한 정보로 인해 성능이 떨어질 수 있음 - 디버깅이 어려움

단계별 접근법

1단계: 가장 기본적인 형태

"Python 함수를 작성해 줄래?"

2단계: 약간의 맥락 추가

"Python으로 두 숫자를 더하는 함수를 작성해 줄래?"

3단계: 구체적인 요구사항 추가

"Python으로 두 개의 정수를 더하고 결과를 반환하는 
함수를 작성해 주세요. 함수 이름은 'add'입니다."

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)

✅ 명확한 지시문 제공

DO: "다음 고객 리뷰들을 긍정/중립/부정으로 분류하고,
    각 카테고리의 갯수를 세어 주세요."

DON'T: "이 리뷰들을 분석해 줘."

✅ 필요한 맥락 제공

DO: "당신은 마케팅 전문가입니다. 
    20-30대 직장인 여성을 대상으로..."

DON'T: "마케팅 문구 만들어 줄래?"

✅ 예제 제공 (In-context Learning)

DO: "다음 패턴을 따라 5개의 예시를 더 만들어 주세요:

    예제 1: 
    입력: '아름다운 하루'
    출력: '이 하루는 정말 훌륭했어요'

    예제 2:
    입력: '신나는 일'
    출력: '정말 흥미로운 일이었어요'"

DON'T: "비슷한 문장들 만들어 줄래?"

✅ 출력 형식 지정

DO: "다음 데이터를 CSV 형식으로:
    이름, 나이, 도시, 직업"

DON'T: "데이터 정렬해 줄래?"

✅ 단계별 접근법 (Chain of Thought)

DO: "다음 문제를 단계별로 풀어 주세요:
    1. 문제 이해하기
    2. 핵심 정보 식별하기
    3. 풀이 과정
    4. 최종 답"

DON'T: "이 문제 풀어 줄래?"

✅ 제약 조건 명시

DO: "코드를 작성해 주세요:
    - 외부 라이브러리 사용 금지
    - 함수로 구현
    - 한국어 주석 포함
    - 오류 처리 포함"

DON'T: "Python 코드 짜 줄래?"

5. 하지 말아야 할 것 (Don'ts)

❌ 과도하게 길고 복잡한 프롬프트

DON'T (너무 길고 복잡함):
"안녕하세요. 저는 마케팅을 공부하고 있는 학생이고,
다음 주에 프로젝트 발표가 있는데, 
우리 회사의 새로운 스마트 워치 제품에 대해서...
(계속 길게 설명..."

DO (간결하게):
"System: 당신은 마케팅 전문가입니다.

Task: 새로운 스마트 워치의 광고 캠페인 기획

요구사항:
- 목표 고객: 25-40세 직장인
- 채널: SNS
- 톤: 프리미엄, 기술적"

❌ 상충되는 요구사항

DON'T (상충):
"이 에세이를 매우 짧으면서도 매우 상세하게 작성해 주세요."
(어느 것을 우선시할지 불명확)

DO (명확):
"에세이를 300단어로 작성해 주세요. 
핵심 3가지 포인트에 집중해 주세요."

❌ 불필요한 정중한 표현

DON'T (너무 정중):
"혹시 괜찮으시다면, 가능하시다면, 
아마도 도와주실 수 있으실까요?"

DO (명확):
"다음을 분석해 주세요: ..."

❌ 여러 작업을 한 번에 요청

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]

간단한 작업용 템플릿

[지시문 + 맥락]

[입력 데이터]

[출력 형식]

💡 실전 팁

프롬프트 설계의 핵심

  1. 작게 시작하고 반복적으로 개선: 완벽한 프롬프트는 처음부터 만들어지지 않습니다.

  2. 구체성은 과할 수 없음: 더 구체할수록 더 좋은 결과를 얻을 가능성이 높습니다.

  3. 예제의 힘: 좋은 예제 2-3개는 긴 설명 1개보다 낫습니다.

  4. 프롬프트 저장: 잘 작동하는 프롬프트는 저장해서 재사용하세요.

  5. 모델별 특성 파악: 각 모델(GPT-5.4, Claude 4.6, Gemini 2.5 Pro)마다 약간씩 다르게 반응합니다.

  6. 테스트: 같은 프롬프트를 여러 번 시도해서 일관성이 있는지 확인하세요.

📝 핵심 정리

좋은 프롬프트의 특징: - ✅ 단순: 불필요한 정보 없음 - ✅ 구체적: 모호하지 않음 - ✅ 완전: 필요한 모든 정보 포함 - ✅ 명확: 의도가 분명함

나쁜 프롬프트의 특징: - ❌ 복잡: 불필요하게 길고 복잡함 - ❌ 모호: "좋게", "빨리" 같은 표현 - ❌ 불완전: 필요한 정보 부족 - ❌ 상충: 서로 다른 요구사항


다음 단계: 프롬프트 최적화에서 작성한 프롬프트를 더 좋게 개선하는 방법을 배워보세요.