실무 Multi-Agent 오케스트레이션 3장 · 프롬프트 설계 2 / 7 ← 이전목차다음 → TechLead Cro

3장. 프롬프트 설계

시스템 프롬프트 — 역할과 규칙을 미리 알려 준다

한 줄 요약

시스템 프롬프트(system prompt) 는 대화가 시작되기 전에 모델에게 주는 역할과 규칙입니다. 고객의 질문보다 우선하여, 모든 답변의 소속·말투·범위·길이를 정합니다. Gemini API에서는 system_instruction이라는 이름으로 넣습니다.


1. 질문과 지시는 자리가 다르다

모델에게 보내는 글은 두 부분으로 나뉩니다.

자리 누가 쓰나 내용 코드에서
시스템 프롬프트 개발자 역할, 규칙, 금지 사항, 형식 system_instruction=
사용자 메시지 고객 그때그때의 질문 contents=

둘을 나누는 이유는 우선순위입니다. 시스템 프롬프트는 "이 대화 전체에서 지켜야 할 것"이고, 사용자 메시지는 "지금 처리할 것"입니다. 고객이 "반말로 답해"라고 해도 시스템 프롬프트의 존댓말 규칙이 먼저입니다.


2. 무엇을 적는가 — 네 덩어리

좋은 시스템 프롬프트는 대체로 네 덩어리로 이루어집니다.

덩어리 답하는 질문 하루마켓에서는
역할 너는 누구인가 온라인 쇼핑몰 '하루마켓'의 고객지원 상담원 '하루'
원칙 어떻게 응대하는가 존댓말, 먼저 공감, 모르면 모른다고, 확인 안 된 금액·일정은 단정하지 않기
금지 무엇을 하지 않는가 책임 회피 표현, 과장 표현, 반말
형식 답은 어떤 모양인가 3~5문장, 마지막 문장에서 다음 행동 안내

이번 장에서 쓰는 프롬프트의 전문입니다.

당신은 온라인 쇼핑몰 '하루마켓'의 고객지원 상담원 '하루'입니다.

[응대 원칙]
1. 존댓말을 쓰고, 문장은 짧고 명확하게 씁니다.
2. 고객의 불편에 먼저 공감을 표한 뒤 해결책을 안내합니다.
3. 모르는 것은 아는 척하지 않고 "확인 후 안내드리겠습니다"라고 합니다.
4. 확인되지 않은 환불 금액·배송 일정을 단정해서 말하지 않습니다.

[금지 표현]
- "그건 저희 책임이 아닙니다" 등 책임 회피성 표현
- "무조건", "100% 보장" 등 과장 표현
- 반말, 이모티콘 남용

[형식]
- 3~5문장 이내로 답합니다.
- 다음 행동(버튼/메뉴 위치 등)을 마지막 문장에서 안내합니다.

3. 잘 쓰는 요령

구체적으로 씁니다. "친절하게 답하세요"는 모델마다, 실행마다 다르게 해석됩니다. "고객의 불편에 먼저 공감을 표한 뒤 해결책을 안내합니다"는 확인할 수 있는 규칙입니다. 답을 보고 지켰는지 아닌지 가려낼 수 있어야 좋은 규칙입니다.

길이를 숫자로 정합니다. "간결하게"가 아니라 "3~5문장 이내"입니다. 길이는 곧 비용이고, 채팅 화면에서의 읽기 편함입니다.

하지 말아야 할 것을 적습니다. 원칙 3·4번이 특히 중요합니다. "모르면 모른다고 하라", "확인 안 된 금액을 단정하지 마라"는 1장에서 본 환각에 대한 첫 번째 방어선입니다.

덩어리를 나눠 제목을 붙입니다. [응대 원칙], [금지 표현], [형식]처럼 구획을 나누면 모델도 사람도 읽기 쉽고, 나중에 한 부분만 고치기도 쉽습니다.


4. 프롬프트도 코드다

코드에서 이 프롬프트는 HARU_SYSTEM_V1이라는 이름의 문자열입니다. 이름 끝의 V1에 주목하세요.

프롬프트는 한 번 쓰고 끝나지 않습니다. 과정이 진행되면서 규칙이 늘고 문구가 바뀝니다. 그때 "무엇을 바꿨더니 무엇이 달라졌는지"를 알려면 버전을 남기고 비교해야 합니다. 코드를 다루는 방식과 같습니다.

프롬프트 한 줄을 고치면 모든 답변이 달라집니다. 그래서 고친 뒤에는 표준 질문 12개로 "여전히 전부 되는가"를 다시 확인합니다. 이 습관이 과정 내내 이어집니다.


5. 프롬프트가 맡는 일과 맡지 않는 일

시스템 프롬프트는 말투와 태도를 정할 수 있지만 사실을 만들어 주지는 못합니다.

  • "하루마켓 상담원"이라고 알려 줘도 모델은 하루마켓의 주문 데이터를 모릅니다.
  • "환불 금액을 단정하지 마라"고 하면 지어내는 일은 줄지만, 정확한 금액을 답하게 되는 것은 아닙니다.

사실은 도구(5장~)와 문서 검색(12장~)이 가져옵니다. 프롬프트는 그 사실을 어떻게 말할지를 정합니다.


핵심 정리

  • 시스템 프롬프트는 역할·원칙·금지·형식 네 덩어리로 씁니다.
  • 고객의 질문(contents)보다 위에서 작동합니다.
  • 규칙은 지켰는지 확인할 수 있게, 길이는 숫자로 적습니다.
  • 프롬프트는 코드처럼 버전을 남기고 비교합니다.
  • 프롬프트는 말투를 정할 뿐, 모르는 사실을 알게 해 주지는 않습니다.
← 이전 절왜 프롬프트 설계가 필요한가 — 답은 하는데, 우리 상담원이 아니다다음 절 →temperature와 출력 제어 — 같은 질문에 왜 답이 다른가
오명운 · macro@prag-ai.com