ChatGPT한테 똑같은 질문을 했는데, 누구는 1분 만에 답을 받고 누구는 10분을 편집하느라 애먹는다. 차이가 뭘까?
바로 “어떻게 질문하느냐”다. OpenAI가 공식 문서에서 밝힌 프롬프트 엔지니어링 가이드를 보면, 수십 가지 팁이 있는 게 아니다. 핵심은 단 4가지다. 이 4가지만 제대로 적용해도, ChatGPT와 대화하는 방식이 완전히 달라진다.

30초 요약: OpenAI가 말하는 프롬프팅의 4가지 핵심
- ① 명확한 지시사항 작성 — 모호한 부탁 말고, 구체적으로 “무엇을, 어떻게, 어떤 형식으로” 지시하라
- ② 예시로 패턴 가르치기 (Few-shot) — 입출력 예시 2~3개만 보여줘도 정확도가 급상승한다
- ③ 관련 컨텍스트 제공 — 배경 정보, 참고 자료, 제약 조건을 함께 주면 환각(Hallucination)이 줄어든다
- ④ 모델에게 생각할 시간 주기 — “단계별로 생각해 줘” 한 줄이 복잡한 문제의 정답률을 바꾼다
① 명확한 지시사항 작성: “도와줘”가 아니라 “이거 해줘”
OpenAI 공식 가이드의 가장 첫 번째 전략이다. 핵심은 간단하다. 모델은 독심술가가 아니다. “좋은 글 써줘”라고 하면 모델은 ‘좋은 금액’인지 ‘좋은 내용’인지 모른다.
실전 예시 비교
❌ 나쁜 프롬프트:
- “이메일 하나 써줘”
✅ 좋은 프롬프트:
- “거래처 담당자 김과장님께 보낼 회의 일정 변경 요청 이메일을 작성해 줘. 조건은 다음과 같아: ① 원래 일정: 7월 20일 오후 2시 ② 변경 희망: 7월 22일 오후 3시 ③ 어조: 정중하고 간결하게 ④ 분량: 5문장 이내”
차이를 느끼겠는가? 좋은 프롬프트에는 역할, 작업, 제약 조건, 출력 형식이 모두 들어있다. OpenAI는 이를 “developer message”와 “user message”로 분리해 전달하는 구조를 권장한다.
| 구분 | 역할 | 예시 |
|---|---|---|
| Developer 메시지 | 시스템 규칙, 비즈니스 로직 (함수 정의 같은 역할) | “너는 전문 이메일 작성 도우미야. 항상 정중한 어조를 사용해.” |
| User 메시지 | 실제 입력값 (함수 인자 같은 역할) | “회의 일정 변경 요청 이메일을 작성해 줘” |
마크다운과 XML 태그로 구조화하기
OpenAI는 프롬프트 내부에 마크다운 헤더(#), 목록, XML 태그를 활용해 논리적 구역을 나누기를 권장한다. 개발자 메시지의 권장 구조는 다음 순서다:
- Identity (정체성): AI의 역할과 소통 방식 정의
- Instructions (지시사항): 해야 할 일과 하지 말아야 할 일
- Examples (예시): 입력-출력 샘플
- Context (컨텍스트): 추가 배경 정보
② 예시로 패턴 가르치기: Few-shot Learning의 힘
설명百 번不如 예시하나. OpenAI는 이를 Few-shot Learning이라고 부른다. 프롬프트에 입력-출력 예시 2~3개만 포함해도, 모델이 패턴을 “픽업”해서 정확도가 비약적으로 상승한다.
실전 예시: 리뷰 감성 분류
# Identity
당신은 짧은 상품 리뷰를 긍정, 부정, 중립으로 분류하는 도우미입니다.
# Instructions
* 응답은 단어 하나만 출력하세요 (추가 설명 없음)
* "긍정", "부정", "중립" 중 하나만 선택하세요
# Examples
<리뷰 id="예시1">
이 헤드폰 최고예요! 음질이 정말 좋네요.
</리뷰>
<정답 id="예시1">
긍정
</정답>
<리뷰 id="예시2">
배터리는 괜찮은데 이어패드가 싸구세요.
</리뷰>
<정답 id="예시2">
중립
</정답>
<리뷰 id="예시3">
최악의 고객 서비스, 다신 안 삽니다.
</리뷰>
<정답 id="예시3">
부정
</정답>
이렇게 예시를 주면, 모델은 새로운 리뷰가 들어왔을 때 정확히 같은 형식으로 “긍정/부정/중립” 중 하나만 출력한다. 파인튜닝(미세조정) 없이도 가능한 일이다.
③ 관련 컨텍스트 제공: 환각을 잡는 가장 확실한 방법
AI가 정보를 지어내는 현상, 이른바 “환각(Hallucination)”. OpenAI는 이 문제를 해결하는 가장 직접적인 방법으로 참고 자료를 프롬프트에 직접 포함하는 것을 권장한다. 이 기법을 RAG(검색 증강 생성)라고도 부른다.
언제 컨텍스트를 추가해야 할까?
- 사내 전용 데이터를 다뤄야 할 때 (모델 학습 데이터에 없는 정보)
- 특정 문서/규정을 기준으로 답변해야 할 때
- 최신 정보가 필요할 때 (모델의 학습 시점 이후 데이터)
- 답변을 신뢰할 수 있는 출처로 제한하고 싶을 때
실전 팁: 컨텍스트 윈도우 주의
모든 모델에는 한 번에 처리할 수 있는 정보량의 한계가 있다. 이를 컨텍스트 윈도우라고 부르며, 토큰 단위로 측정된다. GPT 모델 기준 10만~100만 토큰까지 지원하지만, 무작정 긴 텍스트를 넣는다고 좋은 것은 아니다.
핵심은 “관련성 높은 정보만 선별해서” 넣는 것이다. 벡터 데이터베이스로 검색하든, OpenAI의 파일 검색 도구를 쓰든, 결국 모델에게 “이 자료 안에서만 답해”라고 명확히 경계를 지어주는 것이 중요하다.
④ 모델에게 생각할 시간 주기: “단계별로”의 마법
OpenAI 가이드의 가장 역설적인 조언이다. 모델이 더 빨리 답하는 게 아니라, 더 천천히 생각하게 만들어야 결과가 좋다.
사람도 복잡한 수학 문제를 단번에 풀지 못한다. 중간 과정을 거쳐야 한다. AI도 마찬가지다. 특히 추론(Reasoning) 모델(예: o시리즈)은 내부적으로 “사고의 사슬(Chain of Thought)”을 생성하며, 이 과정이 결과 품질을 좌우한다.
실전 기법 3가지
기법 1: 단계별 추론 요청
"다음 문제를 단계별로 풀어주세요.
최종 답변 전에 각 단계의 추론 과정을 보여주세요."
기법 2: 작업 분할
"이 작업을 3단계로 나누어 처리해 줘:
1단계: 문서에서 핵심 요약 3문장 추출
2단계: 각 요약에 대한 평가 (장점/단점)
3단계: 최종 추천 여부와 이유를 1문단으로 작성"
기법 3: “답하기 전에 확인해 줘”
"답변하기 전에, 내 질문에서 누락되었거나
모호한 부분이 있으면 먼저 질문해 줘."
이 세 가지 기법의 공통점은 “모델이 즉각적인 답변을 내놓기 전에 한 박자 쉬게 만든다”는 것이다. 이 한 박자가 정답률을 극적으로 올린다.
GPT 모델 vs 추론 모델: 프롬프팅 방식이 다르다
OpenAI는 모델 타입에 따라 프롬프팅 접근법이 달라야 한다고 강조한다:
| 구분 | GPT 모델 (예: GPT-5.6) | 추론 모델 (예: o시리즈) |
|---|---|---|
| 비유 | 신입 사원 — 명확한 지시가 필요 | 시니어 동료 — 목표만 주면 알아서 |
| 프롬프팅 스타일 | 구체적이고 정확한 지시사항 | 고수준 목표와 맥락만 전달 |
| 속도/비용 | 빠르고 저렴 | 느리고 비싸지만 복잡한 작업에 강함 |
실무 체크리스트: 오늘 바로 적용하기
- ☐ 프롬프트에 역할, 작업, 제약 조건, 출력 형식이 모두 들어있는가?
- ☐ 모호한 단어(“좋은”, “적당히”) 대신 구체적인 수치/기준을 명시했는가?
- ☐ 정확도가 중요한 작업이라면 예시 2~3개를 추가했는가?
- ☐ 모델이 모를 수 있는 정보라면 참고 자료를 직접 포함했는가?
- ☐ 복잡한 작업이라면 “단계별로 생각해 줘”를 추가했는가?
- ☐ 마크다운(#, -, <태그>)으로 프롬프트 구역을 명확히 분리했는가?
FAQ: 자주 묻는 질문
Q1. 프롬프트가 길수록 무조건 좋은 건가요?
아니다. 길다고 좋은 것이 아니라 “구체적이고 구조화되어 있어야” 좋다. 불필요한 정보가 많으면 오히려 성능이 떨어질 수 있다. 핵심은 관련성과 명확성이다.
Q2. 영어로 프롬프트 쓰는 게 더 정확하던데요?
과거에는 그랬지만, 최신 모델(GPT-5 시리즈 등)은 한국어 프롬프트에서도 우수한 성능을 보인다. 다만 기술 문서나 코드 관련 작업에서는 영어 전문 용어를 괄호로 병기하는 것이 여전히 도움이 된다.
Q3. 예시(Few-shot)는 몇 개가 적당한가요?
일반적으로 2~5개면 충분하다. 중요한 것은 개수보다 다양성이다. 서로 다른 패턴의 예시를 보여주는 것이 비슷한 예시 10개를 나열하는 것보다 효과적이다.
Q4. “단계별로 생각해 줘”가 정말 효과가 있나요?
수학, 논리 추론, 코드 작성 등 복잡한 작업에서는 유의미한 차이를 만든다. 하지만 단순한 번역이나 요약에는 큰 차이가 없을 수 있으니, 작업 복잡도에 따라 선택적으로 적용하자.
결론: 4가지 핵심, 하나로 요약하면
OpenAI가 수십 페이지의 가이드에서 결국 강조하는 것은 이 한 문장으로 압축된다.
“AI를 도구가 아니라 동료로 대하라 — 명확하게 지시하고, 예시로 가르치고, 배경을 알려주고, 생각할 시간을 줘라.”
이 4가지 원칙은 GPT 모델이든 추론 모델이든, ChatGPT든 API든 동일하게 적용된다. 오늘 당장 다음 대화에서 “도와줘” 대신 “이렇게 해줘: [구체적 조건]”이라고 바꿔보자. 결과가 눈에 띄게 달라지는 것을 느낄 수 있다.
프롬프트 엔지니어링은 결국 “잘 물어야 잘 얻는다”는 고전적인 소통의 원칙을 AI 시대에 적용한 것이다. 4가지만 기억하자. 나머지는 연습이 해결한다.
함께 읽으면 좋은 글
- GPT 메모리 기능 업그레이드로 인한 AI 활용 혁명
- GPT-5.6 Sol vs Claude Fable 5 비교: 코딩·가격·안전장치
- OpenAI Codex CLI 완전 가이드: AI 코딩 에이전트의 새 시대
- MCP: 인공지능 생산성의 게임체인저
- GPT-5 드디어 출시! 무료 vs 유료 버전 완벽 비교가이드