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

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

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


HOOK (45초)

시스템 프롬프트를 그냥 "너는 친절한 상담원이야"로 시작하셨나요?

그러면 Claude는 모르는 내용을 그냥 지어냅니다.

고객은 틀린 답변을 받고, 회원님은 그 수습을 해야 합니다.

문제는 Claude의 능력이 아닙니다.

설계도가 없는 겁니다.

오늘 이 영상에서 역할·제약·출력 형식을 갖춘 시스템 프롬프트를 처음부터 끝까지 함께 만들겠습니다.


PROMISE (30초)

이 차시가 끝나면 회원님은 할루시네이션을 막는 제약 문구와 Few-shot 예시가 포함된, 실제 배포 가능한 시스템 프롬프트를 직접 작성할 수 있습니다.


CORE (8–10분)

중요 개념 1 — 시스템 프롬프트의 3층 구조: '건물 설계도'

설명

시스템 프롬프트는 3개 층으로 나뉩니다.

1층은 역할 정의입니다. Claude가 누구인지, 무엇을 하는지 선언합니다.

2층은 컨텍스트 삽입입니다. RAG로 가져온 지식베이스 청크가 이곳에 붙습니다.

3층은 출력 규칙입니다. 형식, 길이, 언어 톤을 지정합니다.

예시

[역할]
당신은 '코드리뷰 어시스턴트'입니다.
소프트웨어 개발팀 내부 문서 기반으로만 답변합니다.

[컨텍스트]
{retrieved_chunks}

[출력 규칙]
- 한국어로 답변합니다.
- 답변은 300자 이내로 유지합니다.
- 번호 목록을 사용합니다.

층이 분리되면 나중에 컨텍스트만 교체해도 전체 시스템이 작동합니다.

반례

역할과 출력 규칙을 한 단락에 섞으면 어떻게 될까요?

Claude가 어디까지가 규칙이고 어디가 배경 설명인지 혼동합니다.

제 경험상 응답 일관성이 30% 이상 낮아졌습니다.

정리

메모리 페그: '건물 3층' — 1층 역할, 2층 컨텍스트, 3층 규칙. 절대 섞지 않습니다.


중요 개념 2 — 할루시네이션 방지 제약 문구: '빨간 신호등'

설명

Claude는 기본적으로 답변을 완성하려는 경향이 있습니다.

지식베이스에 없는 내용도 그럴듯하게 채웁니다.

이것을 막는 문구를 출력 규칙 안에 명시해야 합니다.

예시

아래 두 문장이 중요한입니다.

- 제공된 컨텍스트에 근거가 없으면 반드시 "확인이 필요합니다"로 답변을 끝냅니다.
- 추측이 포함된 경우 "[추정]" 태그를 문장 앞에 붙입니다.

이렇게 하면 Claude가 모호한 영역에서 스스로 신호를 보냅니다.

반례

"모르면 모른다고 해"라고만 쓰면 어떻게 될까요?

Claude는 여전히 부분적으로 아는 내용을 과신해서 출력합니다.

행동 기준이 모호하기 때문입니다.

출력 형식을 구체적 문구로 강제해야 효과가 납니다.

정리

메모리 페그: '빨간 신호등' — 근거 없음 = 정지. "확인이 필요합니다" 한 문장이 신호등 역할을 합니다.


중요 개념 3 — Few-shot 예시의 삽입 위치와 개수: '나침반 2개'

설명

Few-shot 예시는 Claude에게 원하는 응답 패턴을 보여주는 나침반입니다.

위치는 출력 규칙 바로 아래, 컨텍스트 삽입 영역 바깥에 고정합니다.

컨텍스트 안에 예시를 넣으면 RAG 청크와 섞여 참조 혼동이 생깁니다.

개수는 대부분의 경우 2~3쌍이 적절합니다.

1쌍은 패턴 확립이 약하고, 4쌍 이상은 토큰을 낭비합니다.

예시

[예시]
Q: 환불 정책이 어떻게 되나요?
A: 구매일로부터 14일 이내 영수증 지참 시 전액 환불 가능합니다. (출처: 환불정책 v2.3)

Q: 해외 배송 가능한가요?
A: 현재 국내 배송만 지원합니다. 확인이 필요합니다: 해외 배송 일정은 고객센터에 문의해 주세요.

두 번째 예시에 "확인이 필요합니다" 패턴을 포함시킨 것이 포인트입니다.

반례

모범 답안만 2쌍 넣으면 어떻게 될까요?

Claude는 "모르는 상황"에서 어떻게 해야 할지 패턴을 학습하지 못합니다.

불완전 정보 상황의 예시를 반드시 1쌍 포함해야 합니다.

정리

메모리 페그: '나침반 2개' — 완전 정보 1쌍 + 불완전 정보 1쌍. 최소 2개, 최대 3개.


EXERCISE (3–4분)

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

아래 4단계로 회원님의 시스템 프롬프트를 완성합니다.

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

빈 문서를 열고 [역할] 헤더를 씁니다. "당신은 [서비스명]의 [역할명]입니다."로 시작하세요. 지난 3차시에서 만든 톤 프로필을 1~2문장으로 추가합니다.

Step 2 — 컨텍스트 자리 확보 (30초)

[컨텍스트] 헤더 아래 {retrieved_chunks} 플레이스홀더를 그대로 입력합니다. 지금은 실제 내용을 채우지 않아도 됩니다.

Step 3 — 출력 규칙 + 할루시네이션 방지 문구 추가 (1분)

[출력 규칙] 헤더 아래 다음 3가지를 반드시 포함합니다. - 응답 언어와 길이 제한 - "근거 없으면 '확인이 필요합니다'" 문구 - "[추정]" 태그 사용 조건

Step 4 — Few-shot 예시 2쌍 작성 (1분)

[예시] 헤더를 출력 규칙 아래에 추가합니다. 회원님의 서비스 맥락에 맞는 Q&A를 1쌍 작성합니다. 그 다음 정보가 불완전한 상황의 Q&A를 1쌍 추가합니다.

완성되면 영상을 다시 재생하세요.


CTA (30초)

다음 차시 5강에서는 이 시스템 프롬프트를 실제 API에 연결하고, RAG 파이프라인과 붙여서 엔드투엔드로 실행합니다.

회원님이 방금 만든 시스템 프롬프트를 3가지 질문으로 테스트해보고, 결과를 댓글에 남겨주세요.

어떤 질문에서 "확인이 필요합니다"가 나왔는지 공유해 주시면 다음 차시에서 함께 분석하겠습니다.


예상 분량: 15분