system prompt (시스템 프롬프트)
모델의 인격·역할·지켜야 할 규칙을 대화 맨 앞에 고정으로 건네는 지시문. 사용자 입력보다 우선해 작동.
1줄 정의
모델의 인격·역할·지켜야 할 규칙을 대화 맨 앞에 고정으로 건네는 지시문. 사용자 입력보다 우선해 작동.
전체 시스템에서 맡는 역할
프롬프트 에는 계층이 있다. 그 제일 위에 서는 게 system prompt 다.
대화 구조는 이렇다.
system: 개발자가 쓴다. 모델의 인격, 지킬 규칙, 쓸 수 있는 도구를 정의user: 엔드 유저가 입력assistant: 모델이 답함user→assistant→user→assistant로 턴이 이어짐
system prompt 는 전 턴의 바닥으로 유지된다. 사용자가 뭐라고 말해도 system 의 지시가 우선되는 구조 (완전 우선 보장은 아니고 prompt injection 으로 깨질 여지는 있음).
실무에서 system prompt 에 쓰이는 전형 예:
- “당신은 친절하고 정확한 어시스턴트”
- “답변은 반드시 한국어로”
- “개인정보는 다루지 않음”
- “다음 도구를 쓸 수 있음: …”
- “출력은 JSON 형식으로”
Claude Code 같은 에이전트형 도구에서는 system prompt 가 수천~수만 토큰에 이른다. 도구 사용 규칙, 파일 조작 정책, 권한 스킴이 담긴 큰 문서.
흔한 오해
- 오해 1: system prompt 는 절대 지켜진다, 라고 기대되기 쉽다.
– 실제로 모델은 강한 지시로 다루지만 절대는 아니다. 교묘한 user 입력 (prompt injection) 으로 무너질 수 있다. 중요한 규칙은 코드 쪽 검증과 함께 쓴다.
- 오해 2: system prompt 는 짧을수록 좋다, 라고 여겨지기 쉽다.
– 실제로는 태스크에 따라 다르고, 에이전트 계열은 길고 구조화된 system prompt 가 필요하다. 토큰 비용은 있지만 캐시 기구 (prompt caching) 로 억제할 수 있다.
이 용어가 중요한 이유
system prompt 를 설계 단위로 볼 수 있으면 제품의 AI 거동을 “개조 없이 제어하는” 수단을 얻는다.
이 용어가 나오는 기사
- 프롬프트 엔지니어링, agent 설계 관련 기사