프롬프트 엔지니어링 — AI에게 제대로 말 거는 법
AI에게 질문하는데 엉뚱한 답이 나온 경험 있으신가요? 같은 AI라도 어떻게 질문하느냐에 따라 결과가 완전히 달라집니다. 이게 바로 프롬프트 엔지니어링입니다.
---
프롬프트 엔지니어링이란?
AI 모델이 우리가 원하는 결과를 내도록 입력(프롬프트)을 설계하는 기술입니다. 단순히 질문을 던지는 게 아니라, AI가 올바른 맥락에서 정확한 형식으로 답변하도록 구조를 잡아주는 것입니다.
음식 주문에 비유하면 이렇습니다.
나쁜 주문: "뭐 좀 주세요" 좋은 주문: "매운 거 빼고, 고기는 잘 익혀서, 밥은 반 공기로, 포장해서 주세요"
---
좋은 프롬프트의 4가지 구성 요소
| 요소 | 설명 | 예시 | |---|---|---| | 지시 (Instructions) | 무엇을 해야 하는지 명확하게 | "다음 텍스트를 3줄로 요약하세요" | | 맥락 (Context) | 배경 정보 제공 | "당신은 10년 경력의 AWS 전문가입니다" | | 입력 데이터 (Input Data) | 실제 처리할 데이터 | 분석할 로그, 번역할 문장 등 | | 출력 형식 (Output Indicator) | 결과물의 형식 지정 | "JSON 형식으로 출력하세요" |
이 네 가지를 잘 조합하면 훨씬 정확한 답변을 얻을 수 있습니다.
---
네거티브 프롬프팅
"하지 말아야 할 것"을 명시하는 기법입니다. 예: "전문 용어는 쓰지 마세요. 코드 예시는 포함하지 마세요."
세 가지 효과가 있습니다.
불필요한 내용 방지 주제 이탈 방지 출력 간결성 향상
---
프롬프트 파라미터 — 창의성과 일관성의 조절
Temperature (온도) — 범위: 0~1
AI 답변의 "창의성" 정도를 조절합니다.
| 값 | 결과 | 적합한 상황 | |---|---|---| | 낮음 (0.2) | 예측 가능하고 일관된 답변 | 법률 문서, 기술 문서 | | 높음 (0.9) | 다양하고 창의적인 답변 | 아이디어 발상, 소설 창작 |
Top P — 범위: 0~1
누적 확률 기준으로 단어를 선택합니다.
낮음 (0.25): 상위 25% 확률 단어만 고려 → 일관된 답변 높음 (0.99): 넓은 범위 고려 → 다양한 답변
Top K
고정된 개수의 단어만 후보로 고려합니다.
낮음 (10): 상위 10개 단어 → 일관된 답변 높음 (500): 상위 500개 단어 → 다양한 답변
시험 함정 포인트: Temperature, Top P, Top K는 응답 속도(Latency)에 영향을 주지 않습니다. 모델 동작만 바뀝니다.
---
응답 속도(Latency)에 영향을 주는 요소
시험에서 함정으로 자주 출제됩니다.
영향을 주는 것: 모델 크기 (클수록 느림) 입력 토큰 수 (많을수록 느림) 출력 길이 (길수록 느림)
영향을 주지 않는 것: Temperature Top P Top K
---
프롬프트 기법 4가지
Zero-Shot Prompting
예시 없이 바로 지시만 내리는 방법입니다.
"다음 리뷰가 긍정인지 부정인지 분류하세요: '이 제품 정말 마음에 들어요!'"
적합한 상황: 모델의 일반 지식으로 충분할 때, 빠르게 테스트할 때.
Few-Shot Prompting
몇 가지 예시를 먼저 보여주고 같은 방식으로 해달라고 하는 방법입니다.
"Q: 프랑스의 수도는? A: 파리 / Q: 일본의 수도는? A: 도쿄 / Q: 한국의 수도는? A:"
적합한 상황: 일관된 출력 형식이 필요할 때.
Chain of Thought (CoT) Prompting
"단계별로 생각해보세요"라고 지시해서 복잡한 문제를 논리적으로 풀게 하는 방법입니다.
수학 문제, 논리적 추론이 필요한 상황에 적합합니다. Zero-Shot이나 Few-Shot과 함께 쓸 수 있습니다.
RAG (Retrieval-Augmented Generation)
외부 문서를 검색해서 프롬프트에 추가한 뒤 답변을 생성하는 방법입니다. 최신 정보, 회사 내부 자료가 필요할 때 적합합니다.
기법 선택 가이드
| 상황 | 추천 기법 | |---|---| | 모델 기본 지식으로 충분 | Zero-Shot | | 일관된 형식 필요 | Few-Shot | | 복잡한 다단계 논리 | Chain of Thought | | 최신/외부 정보 필요 | RAG |
---
프롬프트 인젝션 공격
프롬프트 인젝션은 악의적인 입력으로 AI의 원래 지시를 무력화하는 공격입니다.