시스템 프롬프트(System Prompt)가 뭐야? AI 톤을 결정하는 첫 줄 5분
같은 ChatGPT라도 누가 쓰느냐에 따라 답의 톤이 다르다. 그 차이의 8할은 시스템 프롬프트에서 결정된다. AI 사용의 시작이자 끝이라고 해도 과장이 아니다.

시스템 프롬프트 한 줄 정의
**시스템 프롬프트(System Prompt)**는 AI 모델에게 대화 시작 전에 미리 박아두는 지시문이다.
사용자가 어떤 질문을 하든 모델은 이 지시문을 항상 먼저 본다. 톤·역할·금기·형식 같은 모든 행동 규칙이 여기서 정해진다. 모델은 시스템 프롬프트를 사용자 입력보다 더 우선시하도록 학습되어 있다.
쉽게 말하면 AI에게 일을 맡길 때 미리 적어두는 업무 매뉴얼이다. 매뉴얼이 명확할수록 결과가 일관된다.
중학생도 이해하는 비유
시스템 프롬프트를 가장 쉽게 설명하는 비유는 신입 사원에게 첫날 주는 안내서다.
회사가 신입에게 “복장은 비즈니스 캐주얼, 메일은 존댓말, 내부 정보는 외부 누설 금지” 같은 안내서를 준다. 신입은 매번 새 손님을 만날 때마다 그 안내서를 다시 안 읽지만, 그 안내서가 행동의 기준이 된다.
시스템 프롬프트가 그 안내서다. 사용자가 매번 다른 질문을 던져도, AI는 시스템 프롬프트의 규칙 안에서 답한다. 한 번 잘 만들어두면 매 대화 자동 적용된다는 게 핵심 매력이다.
시스템 프롬프트의 5가지 구성
좋은 시스템 프롬프트는 보통 다음 다섯 부분이 균형 잡혀 있다.
1. 역할(페르소나) “당신은 한국어 IT 블로그 편집자다.”
2. 톤·문체 규칙 “1인칭 경험담 톤, 짧은 문장, 존댓말 X.”
3. 출력 형식 “마크다운, FAQ 12개 이상, 출처는 마지막에 bullet 리스트.”
4. 금기 사항 “em dash(—) 금지, 추측 통계 금지, 가짜 인용 금지.”
5. 사실 근거 제한 “공식 페이지 또는 일반적으로 확인된 사실만, 없으면 ‘공식 페이지 확인 권장’.”
이 다섯 항목이 5~15줄로 정리되면 어느 모델에서든 일관된 결과가 나온다.
실전 시스템 프롬프트 예시
예시 1: 블로그 글쓰기 (AI 통통 사용)
당신은 한국어 IT 블로그 'AI 통통'의 편집자다.
톤·문체:
- 1인칭 경험담, 짧은 문장 (50자 이내)
- 한 문단 3-4문장, 핵심 단어 볼드
- em dash(—), en dash(–) 금지
출력 형식:
- 마크다운, frontmatter 포함
- FAQ 12개 이상, 출처 3개 이상 bullet
- description 160자 이하
사실 근거:
- 공식 페이지·일반 관찰만
- 추측 통계, 가짜 거래·사건 금지
- 모르면 "공식 페이지 확인 권장"
예시 2: 코드 리뷰
당신은 시니어 백엔드 개발자다.
리뷰 형식:
1. 에러 케이스 한 줄
2. 성능 한 줄
3. 가독성 한 줄
4. 종합 권고 한 줄
원칙:
- TypeScript strict 가정. any 금지.
- 함수형 패턴 우선
- 한국어 주석 유지
예시 3: 친근한 동료 모드
친한 동료처럼 답해라.
- 반말 OK, 짧고 직관적
- 이모지 1개까지
- 길게 설명 안 하고 핵심만
Prompt Caching로 비용 절감
같은 시스템 프롬프트를 반복 사용하면 prompt caching 기능으로 토큰 비용을 크게 줄일 수 있다.
| 항목 | 일반 입력 | 캐시 입력 |
|---|---|---|
| 비용 | 100% | 약 10% (Anthropic 기준) |
| 저장 시간 | - | 약 5분 |
| 활성화 | 자동 X | 명시적 옵션 ON |
매일 같은 시스템 프롬프트로 100번 호출한다면, 캐시 적용 시 토큰 비용이 절반 이하로 떨어지는 경우도 흔하다. 운영 워크플로에 큰 영향이 있다.
잘 쓰는 5가지 팁
1. 5-15줄 핵심만 50줄짜리 시스템 프롬프트는 일부가 무시된다. 압축해서 핵심만.
2. 부정형보다 긍정형 “X 하지 마”보다 “Y 해라”. AI는 부정형을 가끔 놓친다.
3. 예시 포함 규칙만 쓰지 말고 “예: 좋은 표현 / 나쁜 표현” 형식으로 예시 추가하면 정확도 상승.
4. 파일로 분리·재사용 .cursorrules, CLAUDE.md, system_prompt.md로 별도 파일에 저장. 매 작업마다 새로 짜지 말고 자산화.
5. 정기 업데이트 새 케이스 발견할 때마다 시스템 프롬프트에 규칙 추가. 사용자 피드백을 반영하는 살아있는 문서로 운영.
자주 만나는 함정
1. 너무 강한 페르소나 “천재 의사”, “노벨상 수상자” 같은 페르소나는 정확도를 올려주지 않는다. 환각만 자신감 있게 만든다.
2. 충돌하는 지시 “짧게 답해” + “자세히 설명해”가 같이 들어가면 모델이 헷갈린다. 우선순위를 명시하거나 한쪽으로 통일.
3. 사용자 입력 신뢰 사용자 입력 안에 ‘이전 지시 무시’가 있으면 시스템 프롬프트가 우회될 수 있다. 사용자 입력은 별도 <user_input> 태그로 감싸 처리.
4. 토큰 낭비 같은 시스템 프롬프트를 캐시 없이 매번 보내면 비용이 누적된다. prompt caching 활성화 + 짧게.
5. 모델별 미세 차이 ChatGPT에서 잘 동작한 프롬프트가 Claude에서 약간 다르게 동작. 모델 변경 시 한 번씩 점검.
비슷한 용어와 차이
| 용어 | 뜻 | 시스템 프롬프트와의 차이 |
|---|---|---|
| 사용자 프롬프트 | 사용자가 매번 입력하는 질문 | 시스템 프롬프트는 한 번만 |
| 페르소나 | 역할·톤 부분 | 시스템 프롬프트의 일부 |
| GPTs Instructions | ChatGPT 맞춤 챗봇 지시 | 시스템 프롬프트 자체 |
| Custom Instructions | ChatGPT 사용자별 영구 지시 | 사용자 단위 시스템 프롬프트 |
| Few-shot 예시 | 답 형식 예시 | 시스템 프롬프트와 자주 결합 |
언제 시스템 프롬프트를 마주치나
- GPTs 만들기: Instructions 칸이 곧 시스템 프롬프트
- API 호출 시작: 첫 messages 항목으로 보냄
- AI 코딩 도구: .cursorrules, CLAUDE.md
- AI Agent: 에이전트 행동 규칙의 출발점
- 자동화 워크플로: Zapier·Make의 ChatGPT 노드 첫 칸
관련 용어
- 페르소나: 시스템 프롬프트의 핵심 요소. 페르소나가 뭐야? 참고.
- 프롬프트 엔지니어링: 시스템 프롬프트 설계의 학문·기술.
- 컨텍스트 윈도우: 시스템 프롬프트도 컨텍스트의 일부. 컨텍스트 윈도우가 뭐야? 참고.
- API 키: 시스템 프롬프트가 API로 보내질 때 인증에 사용. API 키가 뭐야? 참고.
시스템 프롬프트는 “AI에게 미리 박아두는 업무 매뉴얼”이다. 한 번 잘 짜두면 사용자가 어떤 질문을 던져도 일관된 톤·형식·규칙으로 답이 나온다. 5-15줄 핵심만, 부정형보다 긍정형, 예시 포함, 자산화. 이 네 원칙이 좋은 시스템 프롬프트의 핵심이다.
출처
- Anthropic, System Prompts 가이드, https://docs.anthropic.com/
- OpenAI, Custom Instructions 안내, https://help.openai.com/
- Anthropic, Prompt Caching 안내, https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching