프롬프트 : 답이 일정하게 나오게 쓰려면 어떻게 할까요?
프롬프트는 모델에게 「이렇게 답해라」라고 말로 시키는 지시문입니다. 답이 마음에 안 들 때 문장을 예쁘게 고치는 대신, 무엇을 맡기고 어떤 형식으로 내놓아야 하는지를 먼저 못박으면 결과가 눈에 띄게 일정해집니다. 제 경우에는 자격증 시험 접수 FAQ 챗봇을 만들면서 이걸 확인했습니다. 줄임말을 알아듣는 비율이 7개에서 14개로, 근거를 제대로 찾는 비율이 83퍼센트에서 92퍼센트로 올라간 것은 코드를 늘려서가 아니라 지시문의 규격을 고쳐서였습니다.
프롬프트는 어떻게 써야 하나요?
프롬프트는 맡길 역할, 지켜야 할 출력 형식, 쓸 수 있는 근거, 답할 수 없을 때 할 일을 순서대로 적어 씁니다. 이 네 가지가 비어 있으면 모델이 빈칸을 알아서 메우고, 메우는 방식이 매번 달라집니다. 반대로 네 가지가 다 적혀 있으면 같은 질문에 같은 모양의 답이 돌아옵니다.
실제로 쓴 시스템 지시문은 네 줄이었습니다.
- 당신은 자격증 시험 접수 FAQ 상담원입니다.
- 아래 근거 안에서만 답하세요. 근거에 없는 내용을 만들지 마세요.
- 근거로 답할 수 없으면 정확히
UNKNOWN이라고 답하세요. - 한국어 두 문장 이내로 답하세요.
네 줄이 각각 역할, 근거 범위, 못 할 때 할 일, 형식입니다. 아이엠 AI PM 과정 강사님께서는 이걸 신입 사원 업무 인계나 콜센터 상담 가이드를 쓰는 일에 비유하셨습니다. 얼마나 잘게 쪼개야 하는지는 놀이기구 긴급정지 버튼 교육으로 설명하셨습니다. 「버튼을 누른다」가 아니라 「손가락을 3센티 높이에 수직으로 올린 뒤, 저항이 사라질 때까지 1센티 압력을 가해 딸깍 소리가 날 때까지 누른다」 수준으로 배웠다는 것입니다.
여기서 중요한 건 코딩 실력이 아니라 사람의 행동을 원자 단위로 쪼개고 예외까지 적어 내는 능력입니다. 프롬프트 엔지니어링은 말을 예쁘게 다듬는 일이 아니라 결과가 일정하게 나오도록 출력 규격을 정하는 일입니다. 기획자가 어디까지 기술을 알아야 하는지는 AI 기획자 기술 지식에 따로 정리했습니다.
프롬프트를 고쳤는데 답이 그대로인 이유는 무엇인가요?
근거를 찾는 검색 층과 그 근거로 문장을 쓰는 답변 층은 고치는 자리가 달라서, 한 층만 고치면 다른 층에서 그대로 막힙니다. 같은 질문이 두 층을 차례로 지나가는데, 한쪽만 손보면 다른 쪽에서 똑같이 걸립니다.
제 경우에는 FAQ 챗봇에 줄임말 사전을 넣었습니다. 굴삭기 → 굴착기, 요보사 → 요양보호사 는 다 됐는데 개사 하나만 계속 거절했습니다. 찾아보니 검색은 성공하고 있었습니다. 실패한 건 답변이었습니다.
| 지나간 자리 | 질문이 어떻게 들어갔나 | 결과 |
|---|---|---|
| 검색 | 동의어를 펼쳐 「개사」가 「공인중개사」로 | 근거를 찾음 |
| 답변 | 원래 질문이 「개사」 그대로 | 못 알아듣고 거절 |
고친 방법은 질문 문장을 건드리지 않는 것이었습니다. 프롬프트 끝에 [줄임말 풀이] 개사 = 공인중개사 한 줄만 붙였습니다. 질문을 통째로 치환하면 안 되는 이유가 있었습니다. 동의어 표에 얼마 → 응시료 가 있어서, 질문을 그대로 바꾸면 「얼마예요」가 「응시료예요」가 됩니다. 검색에 도움이 되는 치환이 답변에서는 문장을 망가뜨립니다.
| 층 | 하는 일 | 고치는 자리 |
|---|---|---|
| 검색 | 질문에 맞는 근거를 찾는다 | 동의어·조사 떼기·문턱값 |
| 답변 | 그 근거로 문장을 쓴다 | 프롬프트·시스템 지시 |
이 뒤로는 「답이 이상하다」가 아니라 「검색이 못 찾았나, 찾았는데 답이 못 썼나」로 먼저 가르게 됐습니다. 참고로 동의어 사전에 두 글자보다 짧은 말은 넣으면 안 됩니다. 「위생 → 위생사」를 넣으면 위생복과 위생모에도 걸립니다.
AI프롬프트에 역할을 정해 주면 무엇이 달라지나요?
AI프롬프트에 맡을 일과 하지 말아야 할 일을 먼저 못박아 두면 답의 관점과 말투, 금지 사항이 대화 내내 일정하게 유지됩니다. 역할을 안 정하면 모델이 매번 다른 사람처럼 답합니다.
제 경우에는 시스템 유지보수를 맡는 에이전트에 역할, 말투, 절대 규칙을 나눠 적었습니다. 담당 범위는 시스템 정비로 한정하고, 말투는 「~했다. ~필요함.」 같은 간결한 보고체로 고정하고, 절대 규칙에는 쓰면 안 되는 도구와 「안 된 걸 됐다고 하지 않는다」를 넣었습니다. 기억은 세션이 아니라 파일에 두고 진행판과 기록 파일을 읽고 일하게 했습니다. 개인 에이전트를 어떻게 나누는지는 클로드 코드 개인 AI 에이전트에 더 적어 두었습니다.
광고 소재를 만드는 앱에서도 같은 방식을 썼습니다. 「이미지를 나열하는 디자이너」가 아니라 브랜드 메시지를 구조화하고 시각 흐름을 설계하는 크리에이티브 디렉터의 시점으로 판단하라고 못박고, 목표도 「예쁜 이미지 생성」이 아니라 전환을 고려한 설득 구조 설계라고 적었습니다. 역할을 이렇게 적으면 모델이 결과물을 스스로 검수하는 기준도 같이 생깁니다.
시스템 프롬프트와 일반 프롬프트의 차이는 무엇인가요?
시스템 프롬프트는 대화 전체에 한 번 깔아 두는 기본 지시이고, 일반 프롬프트는 그때그때 시키는 개별 요청입니다. 성격과 금지 사항, 답의 길이처럼 매번 반복하기 싫은 것은 시스템 프롬프트에 넣고, 질문마다 달라지는 내용만 일반 프롬프트로 보냅니다.
앞의 FAQ 상담원 네 줄이 시스템 프롬프트입니다. 「근거 안에서만 답하세요」 한 줄이 여기 없으면 모델이 지어냅니다. 실제로 근거를 붙여 준 뒤에도 틀린 적이 있습니다. 미용사 시험비 를 물었더니 다루지도 않는 자격증의 요금인 20,000원을 미용사 것이라고 안내했습니다. 상담 기록에는 자격증 이름이 본문에 없었습니다. 통화하는 두 사람은 이미 알고 있어서 말하지 않기 때문입니다.
그래서 시스템 프롬프트에 한 줄을 더 넣었습니다. 「이 근거는 '손해평가사' 에 대한 것입니다. 질문이 다른 자격증이면 UNKNOWN 이라고 답하세요.」 근거 안에서만 답하고 근거로 답할 수 없으면 모른다고 답하라고 못박으면 지어낸 답을 줄일 수 있습니다.
지시를 자꾸 벗어날 때도 같은 자리를 고칩니다. 아이엠 AI PM 과정 강사님께서는 프롬프트를 「출력 계약」이라고 부르셨습니다. 부탁하는 글이 아니라, 무엇을 어떤 형식으로 내놓을지 미리 못박고 그대로 지키게 하는 약속이라는 뜻입니다. 같은 일을 시키는 지시문도 부탁으로 쓰면 이렇게 갈립니다.
| 어떻게 썼나 | 지시문 |
|---|---|
| 부탁으로 쓴 것 | 적절히 분류해주세요. |
| 계약으로 쓴 것 | 유형은 버그, 기능 요청, 문의 중 하나만 출력한다. 첫 줄은 반드시 유형: 값 형식으로 출력한다. |
허용할 값을 몇 개로 좁히고 첫 줄 형식까지 지정해 출력 계약으로 쓰면 지시를 벗어나는 답이 줄어듭니다. 출력 계약을 쓰기 전에 답해야 하는 네 가지도 있습니다. 사용자가 무엇을 입력하나, 결과에 어떤 항목이 나오나, 각 항목에 어떤 값이 허용되나, 빈 입력이면 무엇이 보이나. 하나라도 못 답하면 구현 전에 명세부터 고칩니다. 기준을 정해 두고 확인하는 방식은 데이터 정제에서도 같습니다.
설명을 길게 쓰는 대신 답의 본보기를 두세 개 넣어 주면 규칙을 길게 설명하는 것보다 원하는 모양을 더 정확하게 따라옵니다. 이걸 퓨샷이라고 부릅니다.
ai 이미지 프롬프트는 어떻게 쓰나요?
ai 이미지 프롬프트는 무엇을 그릴지만 적는 대신 화면 구성과 글자 자리, 톤 같은 결과 규격을 함께 정해 적습니다. 글 프롬프트에서 출력 형식을 못박는 것과 같은 일을 화면에서 하는 것입니다.
제 경우에는 카드뉴스 캐러셀 광고를 만드는 앱에 이미지 지시문을 썼습니다. 총 5장을 슬롯 기반으로 만들고, 슬롯마다 브랜드 톤에 맞는 카피를 어디에 합성할지 정하고, 영상까지 확장할 수 있도록 JSON 구조로 같이 내보내게 했습니다. 「예쁜 이미지」를 요청한 게 아니라 장 수와 슬롯, 글자 자리, 출력 형식을 규격으로 준 것입니다.
프롬프트로 업무를 자동화할 때도 경계는 비슷합니다. 자료 조사와 초안 작성, 분류처럼 기준이 정해진 일은 프롬프트로 자동화되지만, 심의 기준이나 품질 판단이 걸리는 단계는 사람이 검토해야 합니다. 광고 대행사에서 파워컨텐츠 제작을 GPTs로 옮겼을 때도 검수 과정을 50퍼센트까지 줄였지만 완전 자동화는 어려웠습니다. 광고 심의 기준을 지켜야 해서 기획자 검토를 남겼습니다. 브랜드 특장점이나 제품 리뷰 같은 홍보성 글은 자동화가 잘 붙었고, 전문 자료를 분석해야 하는 정보성 글은 흐름과 전문성이 부족해 사람이 보완해야 했습니다.
대화를 자동으로 분류하는 지시문에서도 같은 규격을 썼습니다. 저장할 것과 스킵할 것을 각각 목록으로 못박고, 확신이 낮으면 버리지 말고 미분류로 남기게 하고, 출력은 정해진 한 줄만 내게 했습니다. 규칙이 정해진 판단은 넘기고 애매한 것은 사람에게 남기는 구조입니다.

재료
- 맡길 역할 한 줄, 쓸 수 있는 근거, 출력 형식과 허용 값, 답할 수 없을 때 할 말, 답의 본보기 두세 개
순서
- 모델에게 맡길 역할과 하지 말아야 할 일을 시스템 프롬프트에 한 번 깔아 둡니다.
- 답에 쓸 수 있는 근거의 범위를 적고, 근거 밖이면 모른다고 답하게 못박습니다.
- 출력 항목과 허용 값, 첫 줄 형식을 정해 출력 계약으로 적습니다.
- 빈 입력일 때 무엇이 보이는지까지 정하고, 못 정하면 구현 전에 명세를 먼저 고칩니다.
- 답의 본보기를 두세 개 붙이고, 거절해야 하는 질문도 함께 넣어 반대 방향을 확인합니다.
여기서 대개 틀어집니다
답이 이상할 때 프롬프트만 고치면 검색 층에서 막힌 문제는 그대로 남습니다. 어느 층에서 막혔는지 먼저 가르지 않으면 같은 자리를 계속 고치게 됩니다.
- 「검색과 답변은 다른 층이다」 - 검색 층과 답변 층 구분, 「개사」 사건, 출력 계약, 시스템 프롬프트 네 줄, 줄임말 7개→14개·근거 정확도 83→92퍼센트를 가져왔습니다.
- 「나루터 유지보수 AI 페르소나 프롬프트」 - 역할·말투·절대 규칙을 나눠 적는 구조와 기억을 파일에 두는 방식을 가져왔습니다.
- 「캐러셀 광고 제작 앱 · AI 역할 정의 프롬프트」 - 크리에이티브 디렉터 시점 지정, 5장 슬롯 구조와 JSON 출력 규격을 가져왔습니다.
- 「검색광고 콘텐츠 GPT 자동화 보고서 · 광고대행사」 - 검수 50퍼센트 단축, 심의 기준 때문에 기획자 검토를 남긴 경계, 콘텐츠 유형별 자동화 차이를 가져왔습니다.
- 「대화 자동 분류 지시문 · 나루터 인박스」 - 저장·스킵 목록을 못박고 애매하면 미분류로 남기는 분류 규격과 한 줄 출력 형식을 가져왔습니다.
프롬프트는 어떻게 써야 하나요?
프롬프트는 맡길 역할, 지켜야 할 출력 형식, 쓸 수 있는 근거, 답할 수 없을 때 할 일을 순서대로 적어 씁니다.
프롬프트를 고쳤는데 답이 그대로인 이유는 무엇인가요?
근거를 찾는 검색 층과 그 근거로 문장을 쓰는 답변 층은 고치는 자리가 달라서, 한 층만 고치면 다른 층에서 그대로 막힙니다.
AI프롬프트에 역할을 정해 주면 무엇이 달라지나요?
AI프롬프트에 맡을 일과 하지 말아야 할 일을 먼저 못박아 두면 답의 관점과 말투, 금지 사항이 대화 내내 일정하게 유지됩니다.
시스템 프롬프트와 일반 프롬프트의 차이는 무엇인가요?
시스템 프롬프트는 대화 전체에 한 번 깔아 두는 기본 지시이고, 일반 프롬프트는 그때그때 시키는 개별 요청입니다.
ai 이미지 프롬프트는 어떻게 쓰나요?
ai 이미지 프롬프트는 무엇을 그릴지만 적는 대신 화면 구성과 글자 자리, 톤 같은 결과 규격을 함께 정해 적습니다.
비개발자 AI PM 실무 인사이트를 찾는다면?