같은 모델인데 왜 결과가 다를까?
두 사람이 같은 ChatGPT에게 질문합니다.
A: "마케팅 전략 알려줘"
B: "B2B SaaS 스타트업(월 구독 30만 원, 타겟: 중소기업 HR 담당자)의
신규 고객 획득을 위한 콘텐츠 마케팅 전략 3가지를 알려줘.
각 전략에 실행 방법과 예상 비용을 포함해줘."
A는 교과서 같은 일반론을, B는 즉시 실행 가능한 구체적 전략을 얻습니다.
모델 능력의 차이가 아니라 질문의 차이입니다.
프롬프트 엔지니어링이란?
LLM에게 원하는 출력을 이끌어내기 위해 입력(프롬프트)을 설계하는 기술입니다.
모든 요소를 항상 넣을 필요는 없습니다. 상황에 맞게 조합합니다.
원칙 1: 명확성 — 모호한 단어를 제거하라
LLM은 "좋은", "적당한", "간단한" 같은 주관적 표현을 사람마다 다르게 해석합니다.
명확성 체크리스트
| 모호한 표현 | 명확한 표현 |
|---|---|
| 짧게 써줘 | 200자 이내로 써줘 |
| 쉽게 설명해줘 | 초등학생도 이해할 수 있게 설명해줘 |
| 자세히 써줘 | 각 항목을 2~3문장으로 설명해줘 |
| 좋은 예시 들어줘 | 실제 회사명과 수치를 포함한 예시 3개를 들어줘 |
원칙 2: 구체성 — 맥락을 충분히 제공하라
LLM은 여러분의 상황을 모릅니다. 맥락이 없으면 일반론을 줄 수밖에 없습니다.
맥락의 6하원칙
누가(Who): 나는 누구인가? 대상은 누구인가?
무엇을(What): 원하는 결과물은?
왜(Why): 이 결과물의 목적은?
언제(When): 시간 제약이 있는가?
어디서(Where): 어떤 채널/플랫폼에서 사용되는가?
어떻게(How): 형식·분량·톤은?
원칙 3: 구조화 — 복잡한 지시는 나눠라
한 번에 많은 것을 요구하면 LLM이 일부를 빠뜨립니다.
번호 매기기, 불릿 포인트, 섹션 구분이 LLM이 지시를 빠뜨리지 않도록 도와줍니다.
원칙 4: 출력 형식 지정
형식을 지정하면 후처리 없이 바로 사용할 수 있는 결과를 얻습니다.
형식 지정 예시
다음 5개 항목을 아래 JSON 형식으로 출력해줘:
[
{
"title": "제목",
"summary": "한 줄 요약",
"difficulty": "상/중/하",
"tags": ["태그1", "태그2"]
}
]
프롬프트 개선 반복 패턴
첫 번째 시도가 완벽할 필요는 없습니다. 반복하며 개선합니다.
개선 질문들:
- 어떤 부분이 원하던 것과 다른가?
- 빠진 맥락이 있는가?
- 출력이 너무 길거나 짧은가?
- 형식이 맞는가?
실전 비교: 블로그 글 아이디어
❌ "블로그 아이디어 줘"
✅ "개발자를 대상으로 하는 기술 블로그에 올릴
'LLM 활용' 관련 글 아이디어 5개를 제안해줘.
조건:
- 각 아이디어는 제목 + 한 줄 설명 + 예상 독자 레벨(초급/중급/고급)
- 이미 많이 다뤄진 ChatGPT 사용법 제외
- 실용적이고 코드 예제를 포함할 수 있는 주제
마크다운 표 형식으로 출력"
정리
| 원칙 | 핵심 | 적용 |
|---|---|---|
| 명확성 | 모호한 표현 제거 | 수치·기준으로 대체 |
| 구체성 | 맥락 충분히 제공 | 6하원칙 활용 |
| 구조화 | 복잡한 지시 나누기 | 번호·불릿 사용 |
| 형식 지정 | 출력 형태 명시 | JSON·표·목록 등 |
| 반복 개선 | 첫 시도는 초안 | 부족한 부분 파악·수정 |
다음 편에서는 역할 부여와 Few-shot — LLM에게 페르소나를 주고 예시를 보여주는 강력한 기법을 배웁니다.