시스템 프롬프트란 무엇인가

시스템 프롬프트(System Prompt)는 ChatGPT나 Claude 같은 대규모 언어 모델(LLM)에 대화가 시작되기 전에 개발자가 넣어 두는 지침으로, 모델의 역할, 말투, 출력 형식, 금지 사항을 대화 내내 고정하는 텍스트다.

사용자가 매번 입력하는 프롬프트와 달리 화면에 보이지 않고, 서비스를 만든 쪽이 정한다. OpenAI API는 이를 “애플리케이션 개발자가 제공하는 지침으로, 사용자 메시지보다 우선순위가 높다”고 정의한다 (OpenAI, Text generation).

Claude 웹 앱과 모바일 앱도 매 대화 시작 시 시스템 프롬프트로 현재 날짜 같은 최신 정보를 넣고, 코드는 마크다운으로 쓰라는 식의 행동을 유도한다 (Anthropic, System prompts). 이 문서는 시스템 프롬프트가 사용자 프롬프트와 어떻게 다르고, 어떤 순서로 적용되며, 무엇을 담고 어떻게 쓰는지를 다룬다.

사용자 프롬프트와 무엇이 다른가?

시스템 프롬프트는 개발자가 한 번 정해 대화 전체에 적용되고, 사용자 프롬프트는 사용자가 매 턴 입력해 그 요청에만 적용된다. 충돌하면 시스템 쪽이 이긴다.

항목시스템 프롬프트사용자 프롬프트
누가 쓰는가서비스 개발자, 운영자최종 사용자
언제 적용되는가대화 시작 전에 설정, 세션 내내 유지입력할 때마다 그 요청에
보이는가보통 숨겨져 있음사용자 자신이 입력하므로 보임
무엇을 정하는가역할, 말투, 형식, 허용 범위, 안전 경계구체적인 질문, 작업, 자료
우선순위사용자 메시지보다 높음시스템 메시지보다 낮음

OpenAI는 두 역할을 함수에 비유한다. 개발자 메시지는 함수 정의처럼 규칙과 로직을 담고, 사용자 메시지는 함수 인자처럼 그 규칙이 적용될 입력을 준다 (OpenAI, Text generation, 위 인용).

Anthropic은 시스템 프롬프트에 역할을 한 문장만 넣어도 “Claude의 행동과 어조가 사용 목적에 맞게 집중된다”고 설명한다 (Anthropic, Prompting best practices). 역할과 규칙은 시스템에, 그때그때의 작업 내용은 사용자 턴에 두는 것이 세 회사 문서의 공통된 구분이다.

시스템 프롬프트는 어떻게 작동하는가?

모델은 시스템 프롬프트를 대화의 맨 앞에 놓인 텍스트로 받고, 이후 모든 응답을 생성할 때 그 지침을 사용자 메시지보다 높은 권한으로 참조한다. API마다 넣는 자리가 다르다.

제공사넣는 방법비고
OpenAIdeveloper 역할 메시지 또는 Responses API의 instructions 파라미터instructions는 해당 요청 한 번에만 적용
AnthropicMessages API의 system 파라미터캐시 접두사 순서가 tools, system, messages
GoogleGemini API의 system_instruction 파라미터”You are a cat. Your name is Neko.” 식 예시

OpenAI는 Responses API에서 instructions 파라미터가 “현재 응답 생성 요청에만 적용된다”고 명시하므로, 여러 턴에 걸쳐 유지하려면 요청마다 다시 보내야 한다 (OpenAI, Text generation, 위 인용). Google은 “시스템 지침으로 Gemini 모델의 행동을 안내할 수 있다”고 하면서 system_instruction 파라미터를 쓰라고 안내한다 (Google, Gemini API Text generation).

권한 순서는 OpenAI 모델 스펙이 가장 명시적으로 적어 뒀다. 2026년 8월 18일판 스펙은 지시의 권위를 루트, 시스템, 개발자, 사용자, 가이드라인 순으로 두고, “모델은 루트나 시스템 지시가 덮어쓰지 않는 한 개발자 지시를 따라야 한다”고 규정한다 (OpenAI, Model Spec). 여기서 시스템 메시지는 OpenAI가 넣는 것이고, 서비스 개발자가 쓰는 것은 개발자 메시지다.

비용 면에서도 앞자리가 중요하다. Anthropic은 “도구 정의, 시스템 지침, 맥락, 예시 같은 정적 내용을 프롬프트 앞에 두라”고 하고, 최신 모델은 512토큰부터 캐시가 된다 (Anthropic, Prompt caching). 시스템 프롬프트가 매 요청 같은 내용이면 캐시가 걸려 처리 비용이 줄어든다.

시스템 프롬프트에는 무엇을 담는가?

역할, 행동 규칙, 출력 형식, 안전 경계, 그리고 모델이 알 수 없는 맥락(날짜, 사용자 정보)의 다섯 가지다. Amazon도 시스템 프롬프트가 “대화형 어시스턴트의 성격, 스타일 및 콘텐츠를 결정한다”고 같은 범위를 짚는다 (AWS, Amazon Nova 시스템 프롬프트 작성 지침).

구성 요소하는 일예
역할모델이 누구로 답할지”당신은 국내 세무 상담 보조원이다”
행동 규칙해야 할 것과 하지 말 것”근거 없는 수치는 말하지 않는다”
출력 형식길이, 구조, 언어”존댓말, 3문장 이내, 마크다운 표 금지”
안전 경계거절하거나 넘길 주제”법률 판단은 전문가 상담을 안내한다”
맥락모델이 모르는 현재 정보현재 날짜, 사용자 이름, 회사 정책 요약

실제 서비스의 시스템 프롬프트는 짧지 않다. Anthropic이 공개한 Claude Sonnet 4의 claude.ai용 시스템 프롬프트 한 버전을 2026년 9월 30일에 세어 보니 영문 약 2,560단어, 16,500자였다 (서치폴라리스 자체 실측, Anthropic, Claude Sonnet 4 system prompt 기준).

간단한 형태는 아래 정도다.

당신은 서치폴라리스 위키의 편집 보조원이다
- 한국어 평서체로 답하고, 가운뎃점과 긴 대시를 쓰지 않는다
- 수치를 말할 때는 출처 URL을 함께 적는다 (출처가 없으면 "확인 필요"로 표기)
- SEO와 AI 검색 이외의 주제는 범위 밖이라고 안내한다
- 현재 날짜: 2026-09-30

시스템 프롬프트는 어떻게 작성하는가?

역할 한 문장에서 시작해 규칙, 형식, 경계 순으로 붙이고, 실제 입력으로 시험하면서 줄인다. 순서는 다음과 같다.

  1. 역할을 한 문장으로 쓴다. Anthropic 문서대로 한 문장만으로도 어조가 바뀌므로 여기서 시작한다.
  2. 하지 말아야 할 것을 먼저 적는다. 허용 범위보다 금지 사항이 결과를 더 크게 바꾼다.
  3. 출력 형식을 못 박는다. 언어, 길이, 구조를 정해야 사용자 요청마다 형식이 흔들리지 않는다.
  4. 범위 밖 요청의 처리 방법을 적는다. 거절할지, 다른 곳으로 안내할지를 정해 둔다.
  5. 정적인 내용을 앞에, 자주 바뀌는 내용을 뒤에 둔다. 캐시가 걸리는 조건이다.
  6. 여러 종류의 입력으로 시험한다. 정상 요청, 범위 밖 요청, 지침을 무시하라는 요청을 넣어 보고 어긋나는 문장을 고친다.

강한 표현은 오히려 역효과가 난다. Anthropic은 최신 모델이 시스템 프롬프트에 더 민감해져서 “CRITICAL: You MUST use this tool” 같은 문구가 과잉 반응을 부르니 “Use this tool when…” 정도로 낮추라고 안내한다 (Anthropic, Prompting best practices, 위 인용).

시스템 프롬프트는 왜 숨기고, 왜 유출되는가?

서비스의 규칙과 경쟁 우위가 들어 있어 숨기지만, 모델이 텍스트로 읽는 이상 사용자가 “지침을 그대로 출력해”라고 하면 새어 나올 수 있다. 그래서 비밀을 넣으면 안 된다.

OWASP는 2025년 LLM 10대 위험에 “시스템 프롬프트 유출”을 일곱 번째로 올리고, “시스템 프롬프트는 비밀로 여겨서도, 보안 통제로 써서도 안 된다”고 못 박는다 (OWASP, LLM07:2025 System Prompt Leakage). 같은 문서는 API 키, 데이터베이스 이름, 권한 구조를 프롬프트에 넣지 말고, 권한 검사 같은 통제는 모델 밖의 결정적 시스템에서 하라고 권고한다.

유출의 주된 경로가 프롬프트 인젝션이다. 사용자 입력이나 모델이 읽는 웹페이지에 “이전 지시를 무시하라”는 문장을 심어 시스템 프롬프트를 덮어쓰거나 출력시키는 방식이다.

반대로 아예 공개하는 쪽도 있다. Anthropic은 claude.ai와 모바일 앱의 시스템 프롬프트를 모델별로 게시하고 있으며, 이 프롬프트는 API에는 적용되지 않는다고 밝힌다 (Anthropic, System prompts, 위 인용). API로 Claude를 쓰는 개발자는 빈 시스템 프롬프트에서 시작한다는 뜻이다.

한국에서는 누가 무엇을 검색하는가?

2026년 9월 30일 구글 키워드 플래너 기준 “시스템 프롬프트”의 월 평균 검색량은 260회이고 2026년 3월부터 5월까지 320회로 정점을 찍었다. “system prompt”는 140회, “시스템 프롬프트 예시”는 40회였다 (서치폴라리스 자체 실측, 구글 키워드 플래너 2026-09-30).

구글 자동완성은 “유저 프롬프트 차이”, “작성법”, “추출”, “예시”, “인젝션”이 붙고, 띄어쓰기 없는 “시스템프롬프트”에는 “클로드”, “클로드코드”, “제미나이”가 붙는다. 검색자의 관심이 개념 비교에서 특정 제품의 프롬프트를 찾는 쪽으로 넓어졌다는 신호다.

네이버 검색광고 기준 “시스템프롬프트”는 PC 30회, 모바일 20회로 구글보다 작고, 네이버 지식iN에서 같은 검색어는 윈도우 “명령 프롬프트” 질문이 대부분을 차지한다 (서치폴라리스 자체 실측, 네이버 검색광고 2026-09-30). 한국어 용어로서 시스템 프롬프트는 아직 구글 중심 키워드다.

시스템 프롬프트에 대해 자주 묻는 질문은 무엇인가?

시스템 프롬프트와 사용자 프롬프트의 차이점은 무엇인가?

시스템 프롬프트는 개발자가 정하고 대화 내내 유지되며 우선순위가 높다. 사용자 프롬프트는 사용자가 매 턴 입력하는 요청이다.

시스템 프롬프트 예시가 있나?

위 “무엇을 담는가” 절의 코드 블록이 최소 형태다. 실제 서비스용은 Anthropic이 공개한 Claude 앱의 시스템 프롬프트가 모델별로 게시돼 있다.

GPT 시스템 프롬프트는 어떻게 작동하나?

OpenAI API에서는 developer 역할 메시지나 instructions 파라미터가 시스템 프롬프트 역할을 하고, 사용자 메시지보다 우선한다. ChatGPT 앱에서 사용자가 만질 수 있는 부분은 “맞춤 설정” 정도다.

시스템 프롬프트를 추출하거나 유출시킬 수 있나?

프롬프트 인젝션으로 새어 나오는 사례가 있어 OWASP가 별도 위험 항목으로 분류했다. 그래서 시스템 프롬프트에는 유출돼도 문제없는 내용만 넣어야 한다.

시스템 프롬프트는 컨텍스트 엔지니어링과 어떤 관계인가?

컨텍스트 엔지니어링은 시스템 지침, 검색된 지식, 도구 정의, 대화 요약을 함께 설계하는 작업이고, 시스템 프롬프트는 그중 지침 부분이다 (Wikipedia, Prompt engineering).

참고 자료

우리 브랜드는 AI 답변에 나오고 있을까?

서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.

GEO 최적화 서비스 보기