🎓 첫 코스 무료 📩 새 코스 도착 알림
← 홈으로

#4 Claude 시스템 프롬프트 작성하기lecture_script

코스: claude-customer-support · 에이전트: producer


HOOK (45초)

시스템 프롬프트를 그냥 "너는 친절한 상담사야"라고 썼다가, Claude가 엉뚱한 말을 지어냈던 경험, 있으시죠?

고객이 환불 정책을 물었는데 존재하지도 않는 조건을 자신 있게 답하는 상황. 그게 바로 시스템 프롬프트 설계 실수에서 시작됩니다.

오늘 이 차시에서, 역할·제약·출력 형식을 한 문서에 정확히 녹여내는 방법을 알려드립니다.


PROMISE (30초)

이 차시가 끝나면, 톤 프로필과 지식베이스를 결합한 시스템 프롬프트를 직접 완성하고, 3가지 테스트 질문으로 응답 품질을 스스로 검증할 수 있게 됩니다.


CORE (8–10분)

중요 개념 1 — 시스템 프롬프트의 3층 구조

설명

시스템 프롬프트는 크게 세 층으로 나뉩니다.

첫 번째 층, 역할 정의. Claude에게 "누구인지"를 알려주는 층입니다. 두 번째 층, 컨텍스트 삽입. 지식베이스에서 가져온 실제 데이터가 들어오는 층입니다. 세 번째 층, 출력 규칙. 답변 형식, 길이, 언어 스타일을 지정하는 층입니다.

예시

[역할] 너는 '스튜디오 온'의 예약 전담 상담사 '온이'야.
[컨텍스트] {retrieved_chunks} ← RAG 결과가 여기 주입됨
[출력 규칙] 답변은 3문장 이내, 존댓말, 글머리 기호 없이 작성해.

메모리 페그 — '샌드위치 이미지'

빵(역할) → 속재료(컨텍스트) → 빵(출력 규칙). 속재료 없이 빵만 있으면 맛이 없고, 빵 없이 속재료만 있으면 흘러내립니다.

반례

출력 규칙을 생략하면 Claude는 대부분의 경우 마크다운 헤더, 불릿, 장문을 자유롭게 씁니다. 고객 채팅창에 ##이 그대로 노출되는 상황이 발생하죠.

정리

역할→컨텍스트→출력 규칙, 이 순서를 지키세요. 순서가 바뀌면 Claude가 컨텍스트를 역할로 오해하는 경우가 생깁니다.


중요 개념 2 — 할루시네이션 방지 제약 문구

설명

Claude는 검색된 컨텍스트에 없는 정보를 "그럴듯하게" 채우려는 경향이 있습니다. 이걸 막는 제약 문구가 시스템 프롬프트 안에 반드시 들어가야 합니다.

메모리 페그 — '레드 라인 3개'

제 경험상, 다음 세 문장이 중요한입니다.

  1. "제공된 컨텍스트에 없는 내용은 답하지 마세요."
  2. "모르는 경우 '확인이 필요합니다'라고만 답하세요."
  3. "외부 링크나 정책을 임의로 생성하지 마세요."

예시

환불 정책이 컨텍스트에 없을 때, 제약 문구가 있으면 Claude는 "해당 내용은 제가 확인 후 안내드리겠습니다"라고 답합니다. 제약이 없으면 "14일 이내 환불 가능합니다"처럼 없는 정책을 지어냅니다.

반례

제약 문구만 길게 쓰고 컨텍스트를 넣지 않으면, Claude가 모든 질문에 "확인이 필요합니다"만 반복합니다. 제약과 컨텍스트는 항상 함께 작동합니다.

정리

레드 라인 3개를 출력 규칙 바로 위에 배치하세요. 위치가 아래로 내려갈수록 Claude가 덜 강조해서 인식하는 경향이 있습니다.


중요 개념 3 — Few-shot 예시 삽입 위치와 개수

설명

Few-shot은 Claude에게 "이런 식으로 답하면 된다"는 시범 케이스를 보여주는 기법입니다. 문제는 어디에, 몇 개를 넣느냐입니다.

메모리 페그 — '2-5 법칙'

예시는 최소 2개, 최대 5개. 위치는 출력 규칙 바로 아래, 컨텍스트 주입 블록 바로 위입니다.

[역할]
[할루시네이션 제약]
[출력 규칙]
[Few-shot 예시: 2–5개]  ← 여기
[컨텍스트: {retrieved_chunks}]

예시

예시 Q: 영업시간이 어떻게 되나요?
예시 A: 평일 오전 10시부터 오후 7시까지 운영합니다. 주말은 오전 11시부터 오후 5시까지입니다.

이 예시 하나만 있어도, Claude는 불필요한 인사말 없이 정보만 짧게 전달하는 패턴을 학습합니다.

반례

예시를 6개 이상 넣으면 프롬프트 토큰이 길어지고, 컨텍스트 창에서 실제 지식베이스 데이터가 밀려나는 상황이 생깁니다. 2–5개를 지키는 이유가 여기 있습니다.

정리

Few-shot은 2–5개, 컨텍스트 블록 바로 위. 이 위치에서 예시가 출력 규칙과 실제 데이터 사이의 다리 역할을 합니다.


EXERCISE (3–4분)

영상을 지금 일시정지하세요.

아래 단계를 따라 시스템 프롬프트 문서를 직접 만들어 보세요.

Step 1 — 역할 정의 작성 (1분)

3차시에서 만든 톤 프로필을 꺼내세요. 다음 형식을 채웁니다.

"너는 [비즈니스 이름]의 [역할 이름]이야. 고객 문의에 [톤 키워드 2개] 방식으로 응답해."

Step 2 — 레드 라인 3개 붙여넣기 (30초)

방금 배운 할루시네이션 제약 문구 3개를 그대로 복사해 역할 정의 아래에 붙입니다.

Step 3 — 출력 규칙 + Few-shot 2개 작성 (1분 30초)

자신의 서비스에서 자주 오는 질문 2개를 골라, Q/A 쌍으로 작성합니다. 답변은 실제 원하는 형식과 길이로 쓰세요.

Step 4 — 테스트 Q&A 3쌍 비교 (1분)

Claude에 완성된 프롬프트를 넣고, 다음 3가지 유형의 질문을 차례로 입력하세요.

  1. 컨텍스트에 있는 질문
  2. 컨텍스트에 없는 질문
  3. 톤이 무너질 법한 무례한 질문

각 응답을 스크린샷으로 저장하세요. 이것이 오늘의 최종 결과물입니다.


CTA (30초)

다음 차시 #5에서는, 오늘 만든 시스템 프롬프트를 실제 RAG 파이프라인에 연결하고 자동으로 컨텍스트가 주입되는 구조를 완성합니다.

오늘 만든 테스트 Q&A 3쌍 스크린샷을 댓글에 공유해 주세요. 제가 직접 피드백 드립니다.


예상 분량: 15분