📘 2부: 프롬프트 엔지니어링은 GPT에게 맡기세요 — 실전 Before/After

이전 1부에서는
아래의 관점으로 개념을 정리해보았습니다.

“프롬프트 = 질문, 프롬프트 엔지니어링 = 설계”

이번 2부에서는 그 설계를
굳이 사람이 머리 싸매고 하지 않고,
GPT에게 그대로 맡겼을 때 어떤 차이가 나는지를 실제 사례로 정리해보려고 합니다.


🧩 0. 실험 방법 – 딱 이것만 바꿨습니다

실험 방법은 아주 단순합니다.

  1. 실제 업무에서 제가 하고 싶은 작업을 그대로 정리해둔다.
  2. Before: 떠오르는 대로 GPT에 “그냥 질문”을 던진다.
  3. After: GPT에게

    “이 작업을 가장 잘 수행할 수 있는 프롬프트를 먼저 설계해 주세요.”
    라고 요청한 뒤, 설계된 프롬프트로 다시 작업을 실행한다.

  4. 두 결과를 정확도·구조·재사용성·실무 활용성 기준으로 비교한다.
    → 바꾼 것은 딱 하나입니다.

“결과를 바로 달라”에서
“그 결과를 만드는 프롬프트부터 설계해 달라”로.


🏗️ 1. RAG 성능 평가: 그냥 질문 vs 설계 맡기기

1-1. Before — 그냥 물었을 때

제가 처음 GPT에게 던진 질문은 아주 단순했습니다.

Q. “RAG 성능 평가 기준 알려줘.”

GPT의 답은 대략 이런 식이었습니다. (요약)

    • Retrieval: Recall@K, Precision@K, MRR, nDCG 등
    • Generation: 정답성, 근거충실도, 인용 정확도, 완전성 등
    • UX/운영: Latency, Success rate, Deflection, Cost per query 등
    • Safety: PII, 프롬프트 인젝션, 유해 콘텐츠, 어뷰징 대응 등

내용만 보면 틀린 말이 하나도 없습니다.
실제로도 RAG 논문/문서에서 자주 볼 수 있는 구성입니다.

문제는,

    • “우리 서비스에 바로 붙여 쓸 수 있는 평가표”는 아니라는 점입니다.
    • 결국 지표를 다시 고르고, 정의를 다시 쓰고, 합격선을 다시 잡는 일을 제가 해야 합니다.

정리하면,

Before: 교과서식 개념은 얻었지만,
“실제 프로젝트에 붙여 쓸 수 있는 프레임워크”는 아닌 상태.


1-2. After — GPT에게 ‘프롬프트 설계’를 먼저 시킨 버전

이번에는 접근을 완전히 바꿔봤습니다.

Q. “RAG 시스템 평가를 위한 프레임워크를 만들고 싶습니다.
먼저 이 작업에 최적화된 프롬프트를 설계해 주세요.”

이때 GPT에게 맡긴 역할은
“지식 설명자”가 아니라 “평가 프레임워크 설계자”였습니다.

GPT가 먼저 만들어 준 것은 “평가 프레임워크 템플릿을 만드는 프롬프트”였습니다.
구조만 요약하면 대략 이런 형태입니다.

    • 역할(Role): RAG/하이브리드 챗봇 평가 실행자
    • 입력(Input)
      • {TEMPLATE}: 합의된 평가 프레임워크 템플릿
      • {SYSTEM_DESC}: 실제 평가 대상 시스템 설명(도메인, 채널, 정책, 실험 조건 등)
    • 출력(Output)
      1. 평가 스코어카드(표)
      2. 실패 유형 분류표
      3. 평가 데이터셋 설계
      4. A/B 실험 설계 요약
      5. 실행 체크리스트
      6. 리스크 Top3 & 이번 주 액션 Top3

즉, GPT에게 이렇게 말한 셈입니다.

“RAG를 잘 평가하는 사람이 된다면,
이 정도는 기본으로 만들어야 하지 않겠습니까?”

그다음 단계에서,
GPT가 설계한 이 프롬프트를 실제 프로젝트 맥락(게임 도메인 CS·AI 챗봇)에 그대로 적용했습니다.
그러자 이번에는 처음부터 “바로 실전에 쓸 수 있는 평가 산출물”이 출력됐습니다.


1-3. After 결과물 스냅샷 – “바로 쓰는 스코어카드”

실제 결과물은 매우 길지만,
핵심만 보여드리면 대략 이런 형태입니다.

🔎 축별 대표 지표 일부 발췌

지표명정의합격선 예시
RetrievalEvidence Hit@5정답 근거 문서가 Top-5에 포함된 비율Hit@5 ≥ 0.85
GroundingHallucination Rate근거 없이 정책/절차를 단정한 응답 비율≤ 3%
Answer 품질Policy Correctness환불/제재 등 정책 응답의 정합성≥ 0.98
UX·운영Deflection Rate“정답” 기준 티켓 없이 해결된 세션 비율≥ 0.35 (초기 운영 기준)
SafetySecurity Abuse Refusal부정행위/해킹 유도 요청을 거절한 응답 비율≥ 0.99

이 테이블의 중요한 점은:

    • 게임 CS 맥락에 맞는 지표 + 정의 + 합격선이 한 번에 잡혀 있고
    • “어디서 자주 틀리는지”, “무엇을 먼저 모니터링해야 하는지”가
      이미 설계된 상태로 나온다는 것입니다.

그래서 이 결과는

    • 제 머릿속 정리 → 메모 → 엑셀 → 문서… 과정을 생략하고,
    • 곧바로 대시보드 기획 & 라벨링 설계 단계로 넘어갈 수 있게 해줍니다.

※ 실제로는 스코어카드, 실패 유형 분류표, 데이터셋 설계, A/B 설계 등
모든 산출물이 훨씬 길습니다.
전체 전문은 글 하단 ‘부록’에 구조만 만들어 두었습니다.
(필요하신 분은 그대로 복붙해서 참고하시면 됩니다.)


1-4. Before/After에서 달라진 것들

한 줄로 비교하면 이렇습니다.

    • Before:
      • “RAG 평가 지표가 뭐가 있는지”는 알게 되지만,
      • 결국 내가 다시 구조를 짜야 하는 상태
    • After:
      • “우리 서비스에 맞는 평가표/실험 설계/체크리스트까지”
      • 한 번에 뽑혀 나오는 상태

그리고 이 변화는,
모델을 바꾼 것도, 사람을 바꾼 것도 아니라

“그냥 질문했냐” vs “프롬프트 설계부터 맡겼냐”
이 차이에서 나왔습니다.


🎯 2. 언제는 그냥 질문만 해도 되는가

여기까지 읽으면
“앞으로는 모든 작업에 다 이렇게 해야 하나?”
라는 생각이 드실 수 있습니다.

제 기준은 이렇습니다.

❌ 굳이 엔지니어링까지 안 해도 되는 경우

    • 단발성 정보 조회
    • 오늘 점심 메뉴 같은 가벼운 질문
    • 짧은 문장 다듬기, 한두 문단 요약

→ 그냥 자유롭게 질문해도 충분합니다.

⭕ 프롬프트 엔지니어링이 확실히 먹히는 경우

    • 비슷한 작업을 여러 번 반복하는 경우
    • 정확도·재현성이 중요한 경우 (지표/정책/계약/CS 등)
    • 팀 차원에서 프롬프트/결과물을 공유해야 하는 경우

이때는 한 번만 제대로 설계해두면,
그 뒤로는 “나 + 팀의 시간”이 같이 줄어듭니다.


🧭 3. 마무리 — 설계를 “누가 하느냐”의 문제

정리하면, 프롬프트 엔지니어링

    1. 더 좋은 결과를 더 예측 가능하게 얻기 위한 설계이고
    2. 반드시 사람이 다 할 필요는 없다는 점이 중요합니다.

요즘 방식은 이런 느낌에 가깝습니다.

  “GPT야,
  이 작업을 가장 잘 수행할 수 있는 프롬프트를
  먼저 설계해 줘.”

사람은 요구사항과 맥락만 잘 전달하고,
실제 프롬프트 구조·포맷·샘플 설계는 GPT에게 넘기는 쪽으로 흐름이 바뀌고 있습니다.

프롬프트 엔지니어링은 이제 특정 직군의 전문 기술이라기보다, “AI를 내 도구로 만들고 싶은 사람이라면 누구나 가져갈 수 있는 설계 습관”에 가깝다라고 보여집니다.

이제 프롬프트 엔지니어링은 고민말고 GPT에게 맡기세요.

 


 

 

📘부록: RAG 평가 전체 예시


📎 부록 A. RAG 평가 — Before Q/A 전문

Q:

RAG 성능 평가 기준 알려줘.

A:

RAG 성능 평가는 보통 (1) 검색이 잘 됐는지, (2) 답변이 근거에 붙어있는지, (3) 운영 품질이 괜찮은지 3축으로 봅니다. (지표는 많은데 대시보드는 한 장이죠… 😅)

1) Retrieval (검색 품질)

    • Recall@K / Hit rate@K: 정답 근거 문서가 Top-K에 들어왔는지
    • Precision@K: Top-K가 “정답에 도움 되는 문서”로 얼마나 깨끗한지
    • MRR / nDCG: 정답 근거가 얼마나 위에 랭크되는지
    • Chunk 품질 지표(정성 포함): chunk 길이/중복/노이즈, 쿼리-문서 매칭 적합도

2) Grounded Generation (생성 품질: 근거 기반)

    • Answer Correctness (정답성): 질문에 대한 최종 답이 맞는지
    • Faithfulness / Groundedness (근거충실도): 제공된 컨텍스트 밖 “추측”이 섞였는지(=환각)
    • Citation Accuracy (인용 정확도): 인용/출처가 실제 주장과 일치하는지
    • Completeness (충분성): 필요한 항목을 빠짐없이 답했는지

3) End-to-End UX & Ops (운영/경험)

    • Latency (p50/p95): 응답 시간(평균보다 p95가 실전 체감)
    • Success rate: 정상 응답 비율(타임아웃/에러/빈 답 제외)
    • Deflection / Task success: 사용자 문제 해결로 이어졌는지(전환/재문의율)
    • Cost per query: 쿼리당 비용(토큰+검색 인프라 포함)
    • Stability: 배포 후 품질 드리프트(데이터 변경/색인 갱신/모델 업데이트 영향)

4) Safety & Robustness (필요 시)

    • PII/보안 위반률, 프롬프트 인젝션 취약성, 유해/금칙 응답률
    • Adversarial 쿼리 성능(애매한 질문/함정 질문/근거 부족 상황)

실무에서 흔한 결론(좋은 점/나쁜 점)

    • 좋은 점: “검색(Recall) + 근거충실도(Faithfulness) + 지연(p95)”만 잡아도 대다수 문제가 어디서 생기는지 보입니다.
    • 나쁜 점: 지표를 늘리면 보고서는 풍성해지지만, 우선순위는 더 헷갈립니다(“측정은 했는데 개선이 안 됨” 함정).

📎 부록 B. RAG 평가 — “프롬프트 설계” 요청 전문

RAG 시스템 평가를 위한 프레임워크를 만들고 싶습니다. 먼저 이 작업에 최적화된 프롬프트를 설계해 주세요.

📎 부록 C. RAG 평가 — 설계된 프롬프트 전문

당신은 “게임 하이브리드(CS·AI) 챗봇”의 평가 프레임워크를 만드는 평가 리드입니다.
목표는 ‘RAG+LLM 답변’과 ‘Rule/FAQ/티켓 플로우’가 섞인 챗봇을 실무에서 운영·개선할 수 있도록,
바로 복붙 가능한 “평가 템플릿(표+기준+체크리스트)”을 만드는 것입니다.

### [기본 컨텍스트(가정)]
- 도메인/서비스: 게임 고객센터용 하이브리드 챗봇(CS+AI)
- 사용자 Top Tasks:
1) 결제/환불/구독(청약철회, 결제 오류)
2) 계정/보안(로그인, OTP, 해킹 의심)
3) 이용제한/제재(사유/이의제기)
4) 아이템/재화(미지급, 소멸, 우편)
5) 버그/접속장애(공지/해결가이드/티켓)
6) 이벤트/쿠폰(조건, 지급, 기간)
- 입력/출력 언어: 한국어(KO→KO), 게임 용어/약어/오타 많음
- 지식원천: 공지/패치노트, 운영정책, 결제/환불 정책, 계정/보안 가이드, FAQ, GM 매뉴얼, CS 티켓 답변 템플릿(최신 우선)
- 아키텍처(일반적 가정):
- Hybrid retrieval: BM25 + Vector + reranker, Top-k 5~10
- Chunking: 300~600 tokens, overlap 50~100, 메타데이터(문서종류/게임/지역/버전/개정일)
- Generator: LLM이 최종 답변 + “근거 인용” + 필요 시 티켓 전환(링크/폼)
- 운영 제약(가중치):
- 정확도/정책 준수 60% + 지연 25% + 비용 15%
- 목표 응답시간: p50 2초 / p95 6초
- 안전/정책 요구:
- PII/계정정보 요청 최소화(“스크린샷/주문번호/UID” 수집은 단계·목적 명시)
- 부정행위/취약점 악용/환불 꼼수 유도 등 금지
- 법/결제 관련 문구는 근거 문서 기반, 불확실 시 상담/티켓 유도
- 비교 실험 축(기본): 제로샷 vs 프롬프트 설계(가드레일/출력포맷/인용 강화)

### [산출물 요구: 짧게, 하지만 ‘실무용’으로]
아래 5개를 반드시 출력하세요(불필요한 개념 설명 금지).

1) “평가 스코어카드(표)” 1개
- 축: Retrieval / Grounding / Answer 품질 / UX·운영 / Safety
- 각 항목별: 지표명, 정의, 단위, 측정법(로그 기반/라벨링), 합격선(기본 Threshold), 치팅 가능성(낮/중/높)
2) “실패 유형 분류표” 1개
- 게임 CS에 특화된 실패 예시 포함(환불 정책, 제재 사유, 이벤트 조건 등)
3) “평가 데이터셋 설계” 요약
- Head/Torso/Longtail 비율 제안
- 최신 문서/충돌 문서/유사 문서/빈 근거(knowledge gap) 케이스 포함
4) “실험 설계” 요약(A/B)
- 제로샷 vs 프롬프트 설계 비교 시 통제변수/독립변수/핵심 KPI 제시
- 회귀(절대 깨지면 안 되는 30개 핵심 케이스) 정의 방식 포함
5) 마지막에 딱 8줄:
- 이번 프레임워크에서 ‘가장 위험한 함정 5개’
- ‘우선순위 Top 3 개선 액션’

추측이 필요한 부분은 진행하되, 결과에 영향 큰 불확실성 3개만 “확인 필요”로 끝에 적으세요.

📎 부록 D. 평가 스코어카드 전체 표

※ 누르면 크게 보입니다. 텍스트 표가 깨져서 이미지로 첨부하니 양해 바랍니다.


📎 부록 E. 실패 유형 분류표 전체

※ 누르면 크게 보입니다. 텍스트 표가 깨져서 이미지로 첨부하니 양해 바랍니다.


📎 부록 F. 평가 데이터셋 / 실험 설계 요약 전문

평가 데이터셋 설계 요약

    • 분포(권장): Head 35% / Torso 45% / Longtail 20%
    • 케이스 구성(필수 포함)
      • 최신 문서 우선: 최근 30일 내 공지/정책 개정 기반 20% 이상
      • 충돌 문서 세트: “구정책 vs 신정책”, “서버/지역별 상이 정책” 10%
      • 유사 문서 혼동 세트: 제목/키워드 유사(환불 vs 결제오류, 제재 vs 보호조치) 10%
      • Knowledge Gap(빈 근거): 문서에 없는 문의(미공개 이벤트/개별 계정 상태) 10%
      • 오타/약어/은어: “ㅈㅈ”, “환불ㄱ?”, “핵의심”, “OTP튕김” 등 변형 15%
      • 고위험 도메인 과대표집: 결제/환불·계정/보안·제재 합산 50% 이상(정책/법 리스크 때문)
    • 라벨 스키마(최소): 정답유형(FAQ/정책/RAG/티켓전환), 정답근거(문서ID+스팬), 핵심 주장 체크리스트(기간/조건/예외/필요정보), 안전(PII/악용/법)
    • 샘플 수 가이드(초기): 오프라인 400~800 / 회귀 30 / 악성(안전) 80~150

실험 설계 요약(A/B: 제로샷 vs 프롬프트 설계)

    • 독립변수(A/B)
      • A(제로샷): 최소 시스템 지시 + 기본 인용만 허용
      • B(프롬프트 설계): (1) 출력 포맷 고정(요약→단계→필요정보→전환) (2) 인용 강제(핵심 주장마다) (3) 정책/법/보안 가드레일 (4) Knowledge gap 처리 (5) 티켓 전환 트리
    • 통제변수(고정)
      • 동일 모델/온도/토큰 제한, 동일 리트리벌(BM25+Vec+rerank, k=5~10), 동일 청킹/메타필터, 동일 지식베이스 스냅샷, 동일 캐시 정책
    • 핵심 KPI(우선순위)
      1. Policy Correctness, Hallucination Rate, PII Minimization (정확·정책)
      2. p50/p95 Latency (지연)
      3. Cost/Session (비용)
      4. 보조: Task Success, Citation Precision/Coverage, Escalation Accuracy
    • 판정 방식(추천)
      • 오프라인: 동일 평가셋에서 스코어카드 비교(신뢰구간/유의성)
      • 온라인(가능 시): 10~20% 트래픽 A/B, “정답 라벨 표본”으로 Deflection을 정답일 때만 계산
    • 회귀(절대 깨지면 안 되는 30개) 정의 방식
      • Top Task별 5~6개씩(결제/보안/제재 우선), 최신 정책 1개 + 충돌 1개 + 빈근거 1개 포함
      • “법/결제 문구 단정 금지”, “제재 사유 추정 금지”, “PII 최소수집” 같은 가드레일 회귀 10개를 별도 트랙으로 고정
      • 릴리즈마다 30개 전수, 임계치 미달 시 롤백(게임 밸런스 패치처럼요)

함정1: “Deflection 상승”만 보고 좋아했다가, 정답 검증 없이 CS 폭탄(가짜 해결) 터집니다.
함정2: 최신/충돌 문서 처리를 안 하면, 환불·제재에서 한 번에 신뢰가 증발합니다.
함정3: 인용이 ‘있기만’ 하면 된다고 착각하면, Citation Precision에서 바로 걸립니다.
함정4: Knowledge gap에서 단정 한 줄이면, 법/보안/결제 리스크가 즉시 현실화됩니다.
함정5: p95 최적화 없이 p50만 맞추면, 피크 타임에 챗봇이 “로딩창 NPC”가 됩니다.
액션1: 고위험(결제/보안/제재) 150케이스 과대표집 + 회귀30 고정부터 만드세요.
액션2: “최신 우선+충돌 인지+단정 금지+티켓 트리”를 프롬프트/룰로 하드코딩하세요.
액션3: Citation Precision/Coverage 라벨링을 먼저 붙여서, 개선 방향을 데이터로 고정하세요.

확인 필요(영향 큰 불확실성 3개)

    1. 티켓 전환 채널(웹폼/인게임/CS툴)에서 필수 수집 필드(UID/주문번호/스크린샷)와 수집 허용 범위(정책/법무).
    2. “정답 Deflection”의 운영 목표치(예: 35% vs 50%)와, 실패 시 허용 가능한 CS 리스크 한도.
    3. 지식베이스의 갱신 주기/버전 관리 체계(공지·정책 개정이 실시간인지, 배치인지) 및 “최신 판정”의 단일 진실원천(SSOT).

📘 1부: 프롬프트는 질문, 엔지니어링은 설계입니다

 

부제: 더 좋은 응답을 쉽게 얻는 법


LLM을 쓰다 보면 누구나 한 번쯤 이런 경험을 합니다.

  • “어제는 잘하더니 오늘은 왜 이렇게 엉뚱하게 답하지?”
  • “GPT가 작업 중간에 뭔가 잃어버린 것 같은데?”
  • “이렇게 스펙을 정리했는데 왜 다른 걸 이해하지…?”

이 차이를 만드는 핵심 원인은 프롬프트를 어떻게 입력 혹은 설계했느냐입니다.
같은 모델에게 요청해도 결과가 다르게 나오는 이유죠.

이 글에서는 ‘프롬프트 vs 프롬프트 엔지니어링’의 차이
가장 쉽고 실용적인 관점에서 정리해보겠습니다.


🧩 1. 프롬프트란 무엇일까요?

프롬프트는 AI에게 주는 요청(Instruction)입니다.
즉, “이걸 해달라”고 전달하는 단순 명령입니다.

예를 들면:

  • “이 문서를 요약해 주세요.”
  • “서비스 기획서를 작성해 주세요.”
  • “아이온2 전투 시스템을 설명해 주세요.”

이렇게 단순하게 입력해도 모델은 꽤 많은 일을 해냅니다.
하지만 문제는 결과가 일정하지 않다는 점입니다.
바로 이 지점에서 엔지니어링이 필요해집니다.


🏗️ 2. 프롬프트 엔지니어링이란?

프롬프트 엔지니어링은
AI가 더 좋은 결과를 안정적으로 내도록 입력을 설계하는 기술입니다.

단순히 길게 쓰거나 어렵게 쓰는 게 아니라,

  • 목적
  • 구조
  • 맥락
  • 데이터
  • 출력 형식

등을 명확하게 설계해 모델이 헤매지 않도록 안내하는 작업입니다.

그리고 중요한 사실이 있습니다.

프롬프트 엔지니어링은 개발자 기술이 아닙니다.
언어로 ‘설계’를 하는 모든 사람에게 필요한 스킬입니다.

PM·마케터·기획자·에디터·컨설턴트…
LLM을 쓰는 누구나 매일 부딪히는 실용 기술입니다.


🎯 3. 왜 굳이 프롬프트 엔지니어링을 해야 할까요?

저도 초기에는 이렇게 생각했습니다.

“GPT가 똑똑한데 굳이 복잡하게 설계할 필요가 있나?”

하지만 실제 업무에서 깊게 활용해보니 명확한 이유가 있습니다.

✔ 결과 품질이 매번 다르다

작은 표현·순서 차이만으로도 큰 품질 차이가 납니다.

✔ 모델은 부정문·복잡한 문장·중간부 누락에 취약

Lost in the Middle(중간 내용 삭제)은 LLM의 고질적 문제입니다.

✔ 엔지니어링을 하면

  • 더 정확하고
  • 더 빠르고
  • 더 저렴하고
  • 재사용 가능한 자동화 도구가 됩니다.

결국 목적은 하나입니다.

더 좋은 결과를 얻기 위해서.
더 쉽게, 더 안정적으로.


🧱 4. 프롬프트 엔지니어링의 핵심 4요소

이 4요소는 Anthropic Claude Prompt Engineering Guide,
OpenAI Prompting Overview,
Google Cloud Prompt Engineering Guide
에서 공통적으로 사용하는 구조입니다.

각 요소의 의미를 1줄로 정리하면 다음과 같습니다.


① Instructions (지시)

모델에게 “무슨 작업을 해야 하는지” 명확히 전달하는 부분.

예)

  • “아래 문서를 3줄로 요약해 주세요.”

② Input Data (데이터)

모델이 실제로 처리해야 하는 텍스트·표·코드 등 입력 데이터.

예)

  • 분석할 문서 본문
  • 사용자 로그
  • 텍스트 조각

③ Context (맥락)

작업이 수행되는 배경·조건·관점을 설명하는 부분.

예)

  • “PM 관점에서 설명해 주세요.”
  • “전문가 톤을 유지해주세요.”

④ Output Indicator (출력 지시문)

모델이 어떤 형태로 결과를 내야 하는지 구조·형식을 명시.

예)

  • “표 형식으로 작성해 주세요.”
  • “JSON으로 출력해 주세요.”
  • “한 줄당 20자 이하로 써 주세요.”

이 네 가지를 포함해 프롬프트를 작성하면 품질과 재현성이 크게 향상됩니다.


✏️ 5. 엔지니어링 팁 — 이것만 기억해도 반은 성공합니다

(각 항목에 좋은 예시(O) / 나쁜 예시(X) 포함)


✅ 1) 부정문 최소화

LLM은 부정문을 자주 오해합니다.

(X) 나쁜 예시

“문체는 절대 변형하지 말고 요약해 주세요.”
‘변형하지 말고’를 무시하거나 반대로 이해할 위험↑

(O) 좋은 예시

“문체는 그대로 유지하고, 핵심 내용만 요약해 주세요.”
긍정문 기반 → 오해 없음


✅ 2) 구조화된 프롬프트 사용

모델은 구조를 좋아합니다.

(X) 나쁜 예시

“전투, 경제, 보상을 포함해서 게임 시스템을 자세히 설명해 주세요.”
누락 or 순서 혼란 가능

(O) 좋은 예시

출력 구조:

  1. 전투 시스템(3줄)
  2. 경제 구조(표)
  3. 보상 구조(장점/리스크 2줄씩)
    → 모델이 “틀”대로 작성 → 안정적 출력

✅ 3) 출력 형식을 먼저 정하기

(X) 나쁜 예시

“이 글의 핵심 내용을 알려주세요.”
→ 모델이 임의 판단 → 길이·형식·순서 불안정

(O) 좋은 예시

“아래 문서를

  • 3줄 요약
  • 불렛 포인트
  • 한 문장 20자 이하
    형식으로 정리해 주세요.”
    → 품질·일관성 급상승

✅ 4) 짧고 명확하게

긴 설명은 사람도 AI도 이해하기 어렵습니다.

(X) 나쁜 예시

“배경이 이런데, 그래서 제가 원하는 건 이런 거고… 아무튼 잘 정리해 주세요.”

(O) 좋은 예시

“아래 기사를 PM 관점에서 3줄로 요약해 주세요.”
→ 명확·간결·정확


🔮 6. 앞으로는 GPT에게 ‘설계’까지 맡기는 시대

프롬프트 엔지니어링의 최신 방향은
“프롬프트를 사람이 직접 설계하는 시대가 끝나가고 있다”입니다.

이제는 이렇게 요청하는 것이 더 효율적입니다.

“GPT, 이 작업을 위한 최적의 프롬프트를 먼저 설계해 주세요.”

사람은 요구사항만 제시하고,
프롬프트의 구조·형식·샘플·맥락은 모델이 설계하는 시대입니다.


🧭 7. 마무리

프롬프트 엔지니어링은 어렵지 않습니다.
본질은 “좋은 질문을 구조적으로 만드는 기술”이며,
이를 통해 더 좋은 응답을 쉽게 얻을 수 있습니다.

이번 1부에서는 개념을 정리했습니다.
2부에서는 실전 Before/After 비교를 공개하겠습니다.


📘 다음 글 예고

2부: 프롬프트 엔지니어링은 GPT에게 맡기세요 — 실전 Before/After 3선

내용 구성:

  • AI/RAG 평가 기준 자동 생성
  • 데이터 정제 + 시각화 레포트 생성
  • 서비스 기획 문서 자동 생성
    세 가지 실무 예제를 통해 프롬프트 엔지니어링의 효과를 보여드립니다.

 

AI 챗봇 기획, 처음이라면 꼭 알아야 할 개념 5가지

서문

LLM 기반 챗봇을 처음 기획하면서 가장 어려웠던 점은, 핵심 개념들이 전혀 익숙하지 않다는 점이었습니다. 예를 들어, 처음 들었던 ‘RAG’, ‘폴백 시나리오’, ‘쿠션멘트’ 같은 용어들은 그 의미조차 가늠이 되지 않아 막막했던 기억이 납니다. RAG, LLM, 프롬프트 등의 용어부터 구조, 그리고 대응 방식까지 모두 새로운 세계였습니다.

무엇보다도 제가 가장 먼저 가졌던 생각은…

“AI니까 방향만 입력해주면 알아서 다 하는 거 아니야? 내가 기획자로 꼭 필요할까?”

하지만 프로젝트를 진행할수록 명확해졌습니다.
AI가 더 똑똑해질 수 있도록, 그 방향과 기준을 제시하는 역할은 여전히 ‘기획자’에게 있다는 사실입니다.
AI는 방대한 정보를 학습했지만, 그 중 어떤 것을 언제 어떻게 보여줄 지를 스스로 정하지 못합니다. 예를 들어 어떤 발화가 ‘혐오인지 아닌지’, ‘차별인지 아닌지’를 아직은 완벽하게 판단하지는 못하죠.

즉, AI는 많은 걸 아는 존재지만, 정확히 어느 선에서 말해야 하는지를 모릅니다. 그 기준을 설정하는 사람이 필요합니다.
물론… 기획자가 아주 잘 설계해놓고 계속 피드백까지 제공한다면 언젠간 정말 기획자가 필요 없어질지도 모르겠습니다.

이 글은 저와 같은 입장에서 출발하는 모든 분들을 위해, LLM 챗봇을 기획하면서 반드시 마주치게 되는 기본 개념들을 정리한 글입니다.
가볍게 한 번 살펴봐 주시면 감사하겠습니다.


1. LLM + RAG

LLM (Large Language Model)은 대규모 텍스트 데이터를 학습해 문장을 생성하는 AI 모델입니다. 대표적인 예시로 GPT-4, Gemini, Claude 등이 있죠.

하지만 LLM은 모든 정보를 알고 있는 전지적 존재가 아닙니다. 일정 시점까지의 데이터로 학습되었고, 그 이후 정보나 기업 내부 정보는 모릅니다. 이를 보완하기 위해 도입된 개념이 RAG (Retrieval-Augmented Generation) 입니다.

  • RAG 1.0: 유저 질문을 벡터화 → 문서 검색 → 검색된 문서를 기반으로 LLM이 응답 생성
  • RAG 2.0: 유저 질문 + 문서 검색 결과를 통합 → 프롬프트에 구조화하여 응답 생성 (더 높은 정밀도와 출처 추적 가능)

RAG를 한 줄로 쉽게 설명한다면, 정보를 최신화하는 프레임워크라고 볼 수 있습니다. RAG 1.0이 ‘좋은 책 한 권’을 찾아 답변하는 것이라면, RAG 2.0은 ‘여러 권의 좋은 책’을 찾아 ‘정확하고 논리적인 비교 분석’까지 해주는 것이라고 생각하면 이해하기 쉽습니다. 다만 아직 2.0은 보편적으로 적용된 상태는 아닙니다.

기획자는 이 구조를 이해해야, 왜 ‘출처 표기’가 필요한지, 어떤 식으로 데이터를 전처리해야 하는지를 설계할 수 있습니다. 일반적으로 말하는 AI 모델은 이 두 가지를 함께 패키지로 언급하는 걸로 이해하시면 쉽습니다.


2. 메인 시나리오 / 폴백 시나리오

LLM 챗봇도 여전히 시나리오 설계가 핵심이고 기획자가 필요한 이유입니다. 사용자의 질문이 정해진 흐름대로 이어질 수 있는 경우에는 메인 시나리오, 그렇지 않거나 실패 상황에서는 폴백 시나리오로 구분됩니다.

  • 메인 시나리오: 유저가 의도한 목적(예: “배송 조회”)에 도달하기 위한 핵심 플로우. 대부분의 시나리오 설계의 기반.
  • 폴백 시나리오: ‘의도 불일치, 시스템 오류, 잡담 대응, 부적절 발화’ 등 예상 외 상황. (발화 예: “제가 잘 이해하지 못했어요. 다시 한 번 말씀해주시겠어요?”)

메인 시나리오 / 폴백 시나리오 구조는 챗봇에서 유래했지만, 챗봇에만 국한되지 않고 다양한 인터랙티브 시스템(서비스) 전반에 통용되는 개념입니다.

두 시나리오는 각각 다른 UX, 응답 톤, Safety 정책이 필요하며, 기획자가 이 경계를 명확히 잡아주는 것이 중요합니다.


3. 쿠션멘트

쿠션멘트란, 사용자의 감정선을 고려하여 직접적인 응답 이전에 제공하는 완충 문장을 의미합니다. 예를 들어, 사용자가 반복적으로 같은 질문을 하거나 챗봇이 명확히 답을 주지 못하는 상황에서, “죄송합니다. 다시 한번 확인해보겠습니다.”와 같은 문장이 쿠션멘트가 될 수 있습니다.

  • 예: “확인해볼게요! 잠시만 기다려주세요.”
  • 예: “질문 감사합니다. 안내드릴게요.”

단순히 친절해 보이기 위한 표현이 아니라, LLM이 제공하는 불안정하거나 모호한 응답을 감싸는 장치로써 매우 중요한 역할을 합니다. 특히 반복된 fallback 시나리오에서는 사용자 피로감을 줄여주거나, 부정적 사용 경험을 완화하는 효과도 있습니다.

실제 운영에서도 쿠션멘트가 포함된 응답은, 포함되지 않은 응답보다 사용자 만족도와 피드백 지표가 더 높게 나타났습니다. 정성 분석 결과, 사용자들은 쿠션멘트가 포함될 경우 “배려받는 느낌이다”, “AI가 나를 신경 쓰는 것 같다”는 반응을 보이기도 했습니다.

실험 설계나 AB 테스트를 통해 쿠션멘트의 효과를 직접 검증해보는 것도 기획자에게 매우 유의미한 경험이 될 수 있습니다.


4. 파지티브 규제 / 네거티브 규제

챗봇이 어떤 질문에 답을 해도 되는지, 어떤 질문은 막아야 하는지를 정하는 방식은 두 가지로 나뉩니다.

  • 파지티브 규제 (Positive Regulation): 정해진 질문과 응답만 허용 (화이트리스트 기반)
  • 네거티브 규제 (Negative Regulation): 금지된 항목만 차단, 그 외는 허용 (블랙리스트 기반)

용어 때문에 자칫 헷갈릴 수 있는데, 실제 자유도는 반대입니다. 파지티브 규제는 ‘되는 거만 빼고 다 안되기’에 자유도가 낮고, 오히려 ‘네거티브 규제’는 ‘안되는 거만 빼고 다되기 때문’에 자유도가 높습니다.

LLM 기반 챗봇은 자유도가 높기 때문에 네거티브 규제를 적용해야 하며, 민감 이슈나 출처 문제로 인해 일부 영역에서는 파지티브 규제를 혼합 적용하기도 합니다. 특히 금융, 의료, 공공 분야에서는 이 균형이 매우 중요합니다.


5. Safety 정책

AI 챗봇은 사용자와 직접적으로 상호작용하기 때문에, 적절한 안전 정책(Safety Policy) 설정이 필수입니다.

  • 예: 욕설, 차별, 혐오 발언 차단
  • 예: 개인정보 질문 차단 (예: 주민번호, 계좌번호 등)
  • 예: 자살/자해 등 심각한 이슈에 대한 대응 시나리오

이를 해결하는 장치로는 프롬프트 차단(input filtering)과 응답 차단(output filtering)이 있습니다. 리스크가 큰 경우에는 프롬프트 차단을 우선 적용하며, 기본적으로는 응답 차단을 적용합니다.

카테고리 중 리스크가 큰 ‘아동 성착취, 혐오 및 차별’ 관련해서는 면밀한 검토가 필요하며, 출시 전에 높은 수준의 내부 검수가 필요합니다.


✅ 함께 알아두면 좋은 개념들

프롬프트(Prompt) & 프롬프트 엔지니어링

프롬프트는 LLM에게 질문이나 지시를 내리는 문장입니다.
“AI에게 말을 거는 방식”이라 생각하면 이해가 쉽습니다.

예시:
→ “이 글을 두 문장으로 요약해줘.”
→ “너는 친절한 고객센터야. 질문에 간결하게 답변해줘.”

좋은 프롬프트를 설계하면 더 정확하고 명확한 응답을 받을 수 있습니다.
기획자는 단순히 질문을 적는 게 아니라, 어떤 맥락에서 어떤 톤으로 응답해야 할지를 고려해 프롬프트를 설계해야 합니다.

📃참고: 안트로픽(Claude) 프롬프트 엔지니어링 가이드


싱글턴 vs 멀티턴

구분설명예시
싱글턴(Single-turn)한 번의 질문과 응답으로 끝나는 단문 대화 구조대부분의 고객센터, 쇼핑몰, 은행, 공공기관 챗봇 등
멀티턴(Multi-turn)이전 대화 맥락을 기억하며 이어지는 연속 대화 구조ChatGPT, Claude, Copilot 등 생성형 AI 서비스

현재 대부분의 상용 챗봇은 싱글턴 구조를 기반으로 구현되며, 멀티턴은 고도화 단계에서 도입됩니다.
반면, 생성형 AI 서비스는 멀티턴을 기본 전제로 설계됩니다.


UI 출력 방식

LLM 챗봇은 단순 텍스트 외에도 이미지, 동영상, 버튼, 문서 링크 등을 포함할 수 있습니다. 이는 사용자의 몰입도와 정보 이해도를 높이기 위한 중요합니다. 실제 챗봇 UI에서 다양한 출력 형태가 어떻게 표현될 지는 정리하는 것은 주요한 기획 포인트입니다.

예시:
– 대표 이미지 썸네일
– 관련 문서 링크 버튼
– 답변 내용 하이라이트
– 출처 명시 (문서명, 링크 등)


LLM의 한계 및 환각(Hallucination)

LLM은 정답을 “검색”하는 게 아니라, 가장 그럴듯한 답을 생성합니다.
그래서 다음과 같은 특징이 존재합니다.

– 동일한 질문에도 응답이 달라질 수 있음 → 비결정성
– 실제 존재하지 않는 정보를 만들어낼 수 있음 → 환각(hallucination)

이런 이유로, 다음 상황에서는 Rule 기반 시나리오와 병행이 필요합니다.

– 정답이 반드시 고정되어야 하는 영역 (예: 약관, 정책, 법률 등)
– 민감한 주제 또는 정확성이 중요한 고객상담 영역
– 내부 기준이나 구조화된 출력이 필요한 응답


이 글이 AI 챗봇 기획의 첫걸음을 떼는 분들께 작게나마 도움이 되기를 바랍니다. 끝까지 읽어주셔서 고맙습니다 🙂