같은 LLM을 쓰는데도 어떤 사람은 원하는 답을 바로 얻고, 어떤 사람은 몇 번을 다시 물어봐도 엉뚱한 답만 받습니다. 차이는 대부분 프롬프트(prompt), 즉 LLM에게 건네는 요청 문장에서 생깁니다. 원하는 결과를 얻도록 프롬프트를 설계하고 다듬는 일을 프롬프트 엔지니어링이라고 부릅니다.
LLM 공부 시리즈의 첫 번째 글로, 어떤 모델을 쓰든 공통으로 통하는 프롬프트 작성의 기본 원칙을 정리해 보겠습니다. 특별한 기술 없이 오늘부터 바로 적용할 수 있는 내용들입니다.
1. 왜 프롬프트가 중요한가요?
LLM은 입력된 글을 보고 그다음에 올 가장 그럴듯한 내용을 만들어 냅니다. 그래서 입력이 모호하면 모델은 '평균적인' 답, 즉 누구에게나 무난하지만 나에게는 쓸모없는 답을 내놓기 쉽습니다.
예를 들어 "회의록 요약해 줘"라고만 하면 모델은 요약을 몇 줄로 할지, 누가 읽을지, 무엇이 중요한지 모릅니다. 반면 "아래 회의록을 팀장님께 보고할 용도로 5줄 이내로 요약하고, 결정 사항과 담당자를 따로 정리해 줘"라고 하면 훨씬 쓸 만한 결과가 나옵니다. 모델의 능력은 같지만 정보가 많아질수록 추측할 부분이 줄어들기 때문입니다.
좋은 프롬프트를 쓰는 기준으로 이렇게 생각해 보세요. "이 요청을 처음 일하는 똑똑한 신입 동료에게 그대로 건넸을 때, 추가 질문 없이 원하는 결과를 만들 수 있을까?" 그렇지 않다면 아직 빠진 정보가 있는 것입니다.
2. 좋은 프롬프트의 5가지 구성 요소
잘 쓴 프롬프트에는 대체로 다음 요소가 들어 있습니다. 모든 요소가 항상 필요한 것은 아니지만, 결과가 마음에 들지 않을 때 무엇이 빠졌는지 점검하는 체크리스트로 쓰기 좋습니다.
| 요소 | 설명 | 예시 |
|---|---|---|
| 작업 (Task) | 무엇을 해야 하는지 동사로 분명하게 | 요약해 줘, 비교해 줘, 초안을 써 줘 |
| 맥락 (Context) | 왜 필요한지, 배경과 상황 | 다음 주 신입 교육 자료에 넣을 거야 |
| 자료 (Input) | 작업 대상이 되는 원문이나 데이터 | 회의록 원문, 표, 코드 |
| 형식 (Format) | 결과물의 모양, 분량, 말투 | 표로, 3줄 이내, 존댓말로 |
| 조건 (Constraints) | 지켜야 할 규칙이나 하지 말아야 할 것 | 전문 용어는 풀어서, 추측은 하지 말 것 |
이 다섯 가지를 넣어 프롬프트를 다시 써 보면 차이가 확실히 보입니다.
[개선 전]
파이썬 설명해 줘.
[개선 후]
코딩을 처음 배우는 마케팅 직군 동료에게 파이썬을 소개하려고 해. (맥락)
파이썬이 무엇이고 업무에 어떻게 쓸 수 있는지 설명해 줘. (작업)
엑셀 자동화 예시를 하나 들어 주고, (조건)
전체 분량은 A4 반 페이지, 소제목 3개로 나눠 줘. (형식)
3. 바로 써먹는 작성 원칙
- 구체적으로 쓰세요: "짧게"보다 "3문장으로", "좋게"보다 "초등학생도 이해할 수 있게"가 훨씬 정확하게 전달됩니다.
- 하지 말라는 말보다 하라는 말을 쓰세요: "어려운 말 쓰지 마"보다 "일상적인 단어로 설명해 줘"처럼 원하는 행동을 직접 알려 주는 편이 결과가 안정적입니다.
- 이유를 함께 알려 주세요: "줄임말을 쓰지 마"보다 "음성으로 읽어 줄 글이라 줄임말은 풀어서 써 줘"처럼 이유를 덧붙이면 모델이 비슷한 다른 상황까지 알아서 판단합니다.
- 자료와 지시를 구분하세요: 긴 원문을 붙여 넣을 때는 따옴표, 구분선, 또는
<회의록> ... </회의록>같은 태그로 감싸면 모델이 어디까지가 자료인지 헷갈리지 않습니다. - 긴 자료는 위에, 질문은 아래에: 긴 문서를 넣을 때는 문서를 먼저 두고 마지막에 질문을 적으면 답변 품질이 좋아지는 경우가 많습니다.
- 역할을 정해 주세요: "너는 10년 차 세무사야"처럼 역할을 주면 답변의 관점과 용어 수준이 그에 맞게 조정됩니다.
4. 한 번에 끝내려 하지 마세요
프롬프트 작성은 한 번에 완성하는 작업이 아니라 고쳐 가며 맞추는 작업입니다. 결과가 마음에 들지 않으면 처음부터 다시 쓰기보다, 무엇이 아쉬운지 구체적으로 알려 주는 것이 효과적입니다.
- "더 좋게 해 줘" 대신 "두 번째 문단이 너무 길어. 핵심만 2문장으로 줄여 줘"처럼 고칠 곳을 짚어 주세요.
- 모델에게 먼저 질문하게 할 수도 있습니다. "작업 전에 필요한 정보가 있으면 먼저 물어봐 줘"라고 덧붙이면 빠진 정보를 모델이 찾아 줍니다.
- 잘 동작한 프롬프트는 메모장에 저장해 두고 템플릿처럼 다시 쓰세요. 반복 업무에서 시간을 크게 아낄 수 있습니다.
정리
프롬프트 엔지니어링의 핵심은 모델이 추측해야 할 부분을 줄이는 것입니다. 작업, 맥락, 자료, 형식, 조건의 다섯 가지 요소를 점검하고, 구체적인 표현과 이유를 함께 전달하세요. 결과가 아쉬우면 고칠 곳을 짚어 다시 요청하면 됩니다. 다음 글에서는 예시를 보여 주는 퓨샷(few-shot), 단계별로 생각하게 하기, 프롬프트 체이닝 같은 조금 더 발전된 기법을 정리해 보겠습니다.
참고자료
- Anthropic, Prompt engineering overview: https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview
- OpenAI, Prompt engineering guide: https://platform.openai.com/docs/guides/prompt-engineering
- Google, Prompt design strategies (Gemini API): https://ai.google.dev/gemini-api/docs/prompting-strategies
'AI > LLM' 카테고리의 다른 글
| [LLM] LLM 공부 2편: 퓨샷과 Chain-of-Thought, 프롬프트 체이닝 (0) | 2026.10.23 |
|---|---|
| [LLM] LLM 환각을 줄이는 방법, RAG 쉽게 이해하기 (0) | 2026.10.19 |
| [LLM] 처음 배우는 LLM: 토큰, 트랜스포머, RLHF, RAG 쉽게 이해하기 (0) | 2026.10.19 |