프롬프트가 잘 안 먹히는 이유는 대개 모델이 멍청해서가 아니라, 당신의 의도가 '문장'으로는 전달됐지만 '작업 명세'로는 전달되지 않았기 때문입니다. 사람에게 일을 시킬 때도 "적당히 예쁘게 해줘"라고 하면 결과가 들쑥날쑥하죠. 생성형 AI도 같습니다.
이 장의 목표는 감으로 치는 프롬프트를 틀이 있는 문장으로 바꾸는 것입니다. 틀을 한 번 만들어두면, 다음부터는 빈칸만 채우면 되니 속도도 빨라지고 결과도 안정됩니다.
왜 '모듈형 구조'가 필요한가
대부분의 실패 프롬프트는 한 줄짜리 요청입니다.
"요약해줘."
"기획안 써줘."
"홍보 문구 만들어줘."
이 문장들은 '무엇을'은 말하지만, '어떻게'를 대부분 비워 둡니다. 그러면 모델이 그 빈칸을 임의로 채웁니다. 문제는 모델이 채우는 기준이, 당신의 기준과 같을 확률이 낮다는 점입니다.
그래서 프롬프트를 레고 블록처럼 나눠 생각합니다.
역할(누가) → 목표(무엇을 위해) → 맥락(무슨 재료로) → 제약(어디까지/어떻게는 금지) → 출력(어떤 모양으로)
이 다섯 가지를 모듈로 만들어두면, 작업이 바뀌어도 구조는 그대로 재사용할 수 있습니다.
5요소 ① 역할(Role): "누구처럼 답할 것인가"
역할은 모델에게 관점과 전문성의 기준을 제공합니다. 같은 내용이라도 "초등 교사"와 "보안 컨설턴트"는 설명의 단위, 예시, 단어 선택이 달라져야 합니다.
역할은 단순히 직함을 붙이는 것에서 끝나지 않습니다. 좋은 역할은 보통 두 가지를 포함합니다.
첫째, 정체성입니다. 예를 들어 "10년차 B2B 마케터", "백엔드 시니어 엔지니어", "법률 문서 교정에 강한 편집자"처럼요.
둘째, 우선순위입니다. 예를 들어 "간결함을 우선", "정확성 우선", "초보자 이해 우선" 같은 운영 기준을 역할에 포함하면 결과가 더 안정됩니다.
역할을 쓸 때 흔한 실수는 '캐릭터 놀이'에 가까운 과장입니다. 역할이 많아질수록 충돌이 늘어 결과가 흔들립니다. 하나만 고르되, 필요한 특징을 짧게 붙이는 편이 좋습니다.
5요소 ② 목표(Goal): "무엇을 위해 쓰는가"
목표는 태스크와 비슷해 보이지만, 역할이 다릅니다.
태스크는 "무엇을 하라"에 가깝고
목표는 "그래서 무엇이 되어야 하냐"에 가깝습니다.
예를 들어 "회의록을 요약하라"는 태스크이고, "의사결정이 바로 보이게 만들어라"는 목표입니다. 목표가 있으면 모델이 선택해야 하는 순간(무엇을 빼고 무엇을 남길지)에 기준이 생깁니다.
목표는 다음 중 하나로 표현하면 실무에서 특히 잘 작동합니다.
의사결정 목적: 승인받기, 설득하기, 리스크 줄이기, 비교하기
사용 목적: 메일로 보낼 것, 슬라이드에 넣을 것, 위키에 올릴 것
독자 목적: 상사가 30초 만에 파악, 고객이 오해하지 않기, 신규 입사자가 따라 하기
목표는 한 문장으로 충분합니다. 목표가 길어지면, 사실 목표가 아니라 '요구사항 목록'이 되기 쉽습니다. 목록이 필요해지면 그때는 제약으로 옮깁니다.
5요소 ③ 맥락(Context): "모델이 참고해야 할 재료"
맥락은 단순한 배경 설명이 아니라, 모델이 답을 만들 때 붙잡아야 할 근거와 조건입니다. 맥락이 없으면 모델은 추측으로 채웁니다.
맥락은 보통 세 층으로 나뉩니다.
첫째, 상황 맥락입니다. "우리 서비스는 B2B SaaS이고, 대상은 인사팀이다" 같은 환경 정보입니다.
둘째, 입력 데이터입니다. 요약할 원문, 분석할 표, 수정할 초안, 코드, 정책 문서처럼 '재료'가 여기에 들어갑니다.
셋째, 용어/기준 정의입니다. 조직마다 뜻이 다른 단어(예: '리드', '전환', '이슈')는 짧게 정의해 두면 혼선을 크게 줄일 수 있습니다.
맥락을 넣을 때 중요한 원칙은 "많이"가 아니라 "관련 있는 것만"입니다. 맥락이 길어질수록 핵심 신호가 희석될 수 있습니다. 그래서 맥락은 덩어리로 붙이되, 경계를 선명하게 만드는 습관이 좋습니다.
예를 들어 긴 문서를 넣을 때는 아래처럼 구분선을 쓰면, 모델이 어디까지가 재료인지 덜 헷갈립니다.
문서 시작/끝 표시
따옴표 블록(""" ... """)
섹션 라벨(예: [CONTEXT], [INPUT])
5요소 ④ 제약(Constraints): "허용 범위와 금지 규칙"
제약은 프롬프트의 '가드레일'입니다. 결과를 더 짧게 만드는 장치가 아니라, 결과가 쓸모 있는 형태로 나오게 하는 제한 조건입니다.
제약은 크게 네 종류가 자주 쓰입니다.
범위 제약: 포함/제외 범위(예: 2024~2026만, 제품 기능 5개만)
품질 제약: "좋은 답"의 기준(예: 근거 없는 단정 금지, 모호하면 질문 먼저)
스타일 제약: 톤/난이도/문장 규칙(예: 초등학생 수준, 공격적 표현 금지)
운영 제약: 실패 시 행동(예: 정보가 부족하면 확인 질문 3개, 불확실하면 '확인 필요' 표기)
제약에서 가장 효과가 큰 문장은 "하지 말 것"을 명확히 쓰는 것입니다. 사람도 금지 규칙이 있으면 실수가 줄어들듯, 모델도 마찬가지입니다.
5요소 ⑤ 출력(Output): "결과물의 모양을 고정한다"
출력 요소는 모델에게 '완성품 규격'을 주는 파트입니다. 여기에는 형식(표/목록/JSON), 길이, 섹션 구성, 필드명이 들어갑니다.
특히 재사용 가능한 템플릿을 만들려면 출력은 가능하면 라벨 기반이 좋습니다. 예를 들어 "요약/핵심포인트/다음 액션"처럼 섹션 이름이 항상 동일하면, 결과를 읽는 사람도 편해지고 이후 자동화도 쉬워집니다.
이 책 뒤의 장들에서 출력 제어는 더 깊게 다루겠지만, 3장에서는 한 가지 원칙만 기억하면 충분합니다.
출력 형식은 '예쁘게'가 아니라 '재사용 가능하게' 요구한다.
5요소를 한 번에 조립하는 기본 템플릿
아래 템플릿을 복사해서, 작업할 때마다 빈칸만 채우면 됩니다.
모듈형 프롬프트 템플릿(기본형)
[역할] 너는 {전문가 역할}이다. 답변의 우선순위는 {우선순위: 정확성/간결함/실행가능성 등}이다.
[목표] 이 작업의 목표는 {성공한 결과의 모습}이다.
[맥락] 배경: {상황/대상/독자/용도} 입력: {자료/초안/데이터} 용어: {필요한 정의}
[제약]
반드시 포함: {필수 항목}
반드시 제외: {금지 항목}
불확실할 때: {질문 먼저/표시 규칙}
[출력] 아래 형식으로 출력하라:
{섹션1 라벨}: ...
{섹션2 라벨}: ...
{섹션3 라벨}: ...
이 템플릿의 장점은 "길어서"가 아니라 "분리되어 있어서"입니다. 한 요소가 부족하면 그 칸만 보강하면 됩니다.
실전: 한 줄 프롬프트를 '틀이 있는 문장'으로 바꾸기
예시로 "기획안 써줘"를 구조화해보겠습니다.
1) 한 줄 버전(실패하기 쉬움)
"신규 기능 기획안 써줘."
모델은 여기서 최소한 다음을 추측해야 합니다. 어떤 서비스인지, 누구를 위한 기능인지, 기획안 포맷은 무엇인지, 어느 수준의 디테일이 필요한지 말이죠.
2) 5요소 버전(재사용 가능)
[역할] 너는 B2B SaaS 프로덕트 매니저다. 실행 가능성과 이해관계를 우선한다.
[목표] 개발/디자인/영업이 같은 그림을 보게 만들고, 다음 스프린트에 착수 가능한 수준의 기획안 초안을 만든다.
[맥락] 배경: 인사팀이 쓰는 근태 관리 SaaS. 고객사는 50~300인 규모. 입력: 우리가 추가하려는 기능은 "지각/조퇴 자동 규칙 설정"이다.
[제약]
반드시 포함: 문제 정의, 사용자 시나리오 2개, 요구사항(필수/선택), 성공 지표 3개
반드시 제외: 구현 기술 스택 추측, 법적 자문 단정
불확실할 때: 확인 질문을 먼저 3개 제시
[출력] 다음 섹션 순서로 마크다운으로 작성:
요약
문제와 배경
사용자 시나리오
요구사항(필수/선택)
성공 지표
오픈 이슈(질문)
이렇게 바꾸면 프롬프트는 더 이상 '부탁'이 아니라 초안 생산을 위한 명세서가 됩니다.
템플릿을 더 강하게 만드는 두 가지 옵션
모듈형 구조가 익숙해지면, 아래 두 옵션을 추가했을 때 체감 품질이 크게 오릅니다.
첫째는 예시(Exemplar)입니다. 원하는 출력이 애매한 작업(브랜딩 문구, 리뷰 답변, 분류, 교정)은 예시 한 쌍만 있어도 결과가 안정됩니다. "이런 스타일로"를 말로 설명하는 것보다, 짧은 예시가 더 직접적입니다.
둘째는 성공 기준(체크 규칙)입니다. 예를 들어 "총 5개 항목인지", "각 항목이 20단어 이하인지"처럼 스스로 검사 가능한 규칙을 붙이면, 모델이 형식을 더 잘 지키고 당신도 검토가 빨라집니다.
이 장의 핵심 정리
좋은 프롬프트는 재능이 아니라 구조입니다. 역할·목표·맥락·제약·출력의 5요소를 모듈로 분리하면, 프롬프트를 '그때그때 떠오르는 문장'에서 '재사용 가능한 템플릿'으로 바꿀 수 있습니다. 다음 장부터는 이 구조를 더 강력하게 만들기 위해, 애매함을 제거하는 방법(명확성과 구체성)부터 하나씩 다뤄보겠습니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.