프로덕션 앱을 위한 7가지 시스템 프롬프트 예제 (2026 복사-붙여넣기 템플릿)

가장 좋은 시스템 프롬프트 예제는 튜토리얼에서 나오는 "당신은 도움이 되는 어시스턴트입니다"라는 한 줄짜리가 아닙니다. 프로덕션 앱이 새벽 2시에 망가지는 것을 막아주는 구체적인 명령어 블록들입니다. 우리의 콘텐츠 파이프라인에서는 12개 이상의 Claude 서브에이전트를 운영하고 있으며, 각각은 Claude Opus 4.8이나 GPT-5에서 버그를 배포한 후 여러 번 수정된 시스템 프롬프트로 제어됩니다. 이 글은 장난감 같은 데모는 건너뜁니다. 바로 사용할 수 있는 7가지 실제 시스템 프롬프트를 얻을 수 있으며, 그 중 2개는 우리 프로덕션 스택에서 직접 가져온 것이고, 모든 신뢰할 수 있는 프롬프트 아래에 있는 6개 블록의 구조를 소개합니다.

핵심 요점

  • 시스템 프롬프트는 지속적인 명령어(역할, 제약사항, 출력 형식, 가드레일)로, 사용자 메시지 이전에 한 번 설정됩니다.
  • 1,000개의 요청에서 콘텐츠가 동일하면 시스템 프롬프트에 넣으세요. 요청별 콘텐츠는 사용자 차례에 넣으세요.
  • 신뢰할 수 있는 프롬프트는 6개 블록으로 구성됩니다: 역할, 컨텍스트, 제약사항, 출력 형식, 가드레일, 예제.
  • 추론 모델(o-series, GPT-5, Claude Opus 4.5+)은 공격적인 "당신은 반드시" 표현보다는 고수준의 목표를 원합니다.

시스템 프롬프트에 무엇이 들어가나? 6가지 구성 블록

시스템 프롬프트는 전체 세션 동안 모델의 역할, 동작, 제약사항, 출력 형식을 정의하는 지속적인 명령어 세트로, 사용자 메시지 이전에 한 번 설정됩니다. 신뢰할 수 있는 것들은 6가지 구성 블록을 공유합니다: 역할, 컨텍스트, 제약사항, 출력 형식, 가드레일, 그리고 선택적 예제. 이 순서대로 구성하면 프로덕션에서 견딜 수 있는 시스템 프롬프트를 작성하는 방법의 요약 버전을 얻게 됩니다.

각 블록이 하는 일은 다음과 같습니다.

역할 블록은 보이는 것보다 더 중요합니다. Anthropic의 문서에서 명확히 하듯이: 시스템 프롬프트에 역할을 설정하면 모델의 동작과 톤을 집중시키고 "단 한 문장만으로도 차이를 만듭니다". 가드레일 블록의 경우, 거부 및 안전 규칙은 실질적인 생각이 필요합니다. 우리의 가드레일 가이드에서 자세히 다룹니다. 그리고 Claude를 연결하는 경우, Anthropic은 XML 태그(<instructions>, <context>, <input>)를 사용하여 각 콘텐츠 유형을 분리하여 모델이 서로 혼동하지 않도록 권장합니다.

다음은 6가지 블록을 모두 하나의 템플릿으로 연결하는 바로 붙여넣기 가능한 스켈레톤입니다:

6개의 블록은 느낌을 사양으로 바꿉니다. 이것은 시스템 프롬프트 레이어만입니다. 더 넓은 기법(few-shot, chain-of-thought, prompt chaining)의 경우 우리의 프롬프트 엔지니어링 가이드를 참조하고, 이들을 시스템 프롬프트 자체에서 유지하세요. 세션 시스템 프롬프트는 또한 전체 코드베이스를 관리하는 CLAUDE.md 같은 저장소 수준의 지속적인 프로젝트 수준 명령어 파일과 다릅니다.

7가지 프로덕션 시스템 프롬프트 예제 (복사-붙여넣기 준비 완료)

다음은 오늘 바로 시스템 파라미터나 개발자 메시지에 붙여넣을 수 있는 7가지 시스템 프롬프트 예제입니다. 각각은 실제 작업(에이전트, RAG, 지원, 코딩, JSON, 콘텐츠 QA, 번역)을 대상으로 하며, 각각은 주요 블록이 왜 존재하는지 보여줍니다. 마지막 두 개는 우리 자체 파이프라인에서 실행됩니다. Cursor와 Devin 프롬프트를 유출하는 리포지토리는 수요를 증명합니다. 아무도 배포하지 않는 것은 각 블록이 있는 이유를 설명하는 주석입니다.

1. 자율 에이전트

역할을 좁게 범위를 정하고, 도구 규칙을 명확히 하고, 무한 루프에 빠지지 않도록 정지 조건을 제공하세요.

작동 이유: 좁은 역할과 명시적 정지 조건은 끝나는 에이전트와 루프에서 토큰을 태우는 에이전트의 차이입니다. 이것은 좋은 에이전트 시스템 프롬프트 모범 사례의 핵심입니다.

2. RAG / 검색 Q&A

검색의 전부는 모델이 자신의 메모리에서 답변하지 않도록 하는 것입니다. 하나의 규칙이 그것을 수행합니다.

작동 이유: "컨텍스트에서만"과 인용 형식은 RAG 시스템 프롬프트를 위해 작성할 수 있는 가장 저렴한 환각 방지입니다.

3. 고객 지원 봇

톤, 에스컬레이션 경로, 그리고 엄격한 금액 규칙은 지원 봇을 도움이 되도록 유지하면서도 약속할 수 없는 것을 약속하지 않도록 합니다.

작동 이유: 환불 가드레일과 에스컬레이션 폴백은 지원 봇이 프로덕션에서 제거되게 하는 두 가지 실패 모드를 방지합니다.

4. 코딩 어시스턴트

출력 형식과 버전을 제한하고, 편집하기 전에 설명하도록 만드세요.

작동 이유: "전체 파일이 아닌 diff" 그리고 버전 상한은 어시스턴트를 스택 내에 유지합니다. 코딩 에이전트를 위한 프롬프트 설계는 자체 가이드가 필요할 만큼 깊이가 있으므로, 이 예제는 간단하게 유지합니다.

5. 구조화된 데이터 / JSON 추출

출력 형식 블록에 스키마를 넣고 산문을 금지하세요. 그것이 신뢰할 수 있는 구조화된 출력의 패턴입니다.

작동 이유: 리터럴 스키마 플러스 "유효한 JSON만"은 설명된 형식보다 항상 낫습니다. 프롬프트를 넘어선 강제 패턴(JSON 스키마 검증, 도구 기반 추출)의 경우 우리의 구조화된 출력 가이드를 참조하세요.

6. 콘텐츠-QA / 검증자 에이전트 (우리 프로덕션 파이프라인에서)

이것은 우리 스택에서 실행됩니다. 우리 검증자의 시스템 프롬프트는 음수 제약사항 예제입니다: 모델에게 정확히 무엇을 쓰지 말아야 하는지 알려주고, 스크립트가 규칙을 문자 그대로 확인합니다.

작동 이유: 열거된 금지 목록 플러스 grep은 "유행어를 피하세요"라는 모호한 방식으로는 절대 집행할 수 없는 방식으로 집행 가능합니다. 모델은 느낌에 대해 논쟁할 수 있습니다. 0이 아닌 종료 코드에는 논쟁할 수 없습니다.

7. 번역 에이전트 (우리 프로덕션 파이프라인에서)

또한 우리 것입니다. 번역자의 프롬프트는 모델이 자신의 출력에서 실행하는 자체 검사가 있는 출력 형식 및 완전성 계약입니다.

작동 이유: 완전성 계약 플러스 구체적인 잘못된 출력 예제는 모호한 "정확하게 번역하세요" 라인이 통과하는 자동 실패를 포착합니다.

프로덕션에서 시스템 프롬프트를 실행하면서 배운 것

우리 파이프라인의 3가지 시스템 프롬프트 버그는 모든 문서 페이지보다 더 많이 가르쳐주었습니다. 3가지 모두 괜찮아 보였지만 구체적이거나 검증할 수 없는 명령어에서 나왔습니다. 다음은 우리의 16개 이상 Claude 서브에이전트에서 깨진 것과 각 시간마다 고착된 정확한 수정입니다. 패턴은 매번 동일합니다: 부드러운 규칙은 무시되고, 구체적이고 외부에서 검증된 규칙은 고착됩니다.

금지된 어휘 버그. 몇 주 동안 모델은 우리가 얼마나 정중하게 요청하든 상관없이 계속 "leverage"와 "robust"를 초안에 미끄러뜨렸습니다. 부드러운 "유행어를 피하세요" 라인은 아무것도 하지 않았습니다. 수정은 예제 #6이었습니다: 프롬프트 내 열거된 금지 목록 플러스 출력을 grep하고 모든 히트에서 0이 아닌 종료 코드로 나가는 스크립트, 1,000개 단어당 3개의 em-dash 상한입니다. 교훈: 모호한 제약사항은 무시됩니다. 열거되고 외부에서 검증된 제약사항은 고착됩니다.

분음 부호 버그. 우리의 번역자는 터키어, 프랑스어, 스페인어에서 조용히 ASCII를 방출했습니다. "karşılaştırma"는 "karsilastirma"로 나왔고, 모국어 사용자가 지적할 때까지 아무도 알아채지 못했습니다. 수정은 프롬프트의 네이티브 문자 테이블, 명시적 잘못된 출력 예제, 그리고 사후 grep(네이티브 문자가 0이면 다시 번역)이었습니다. 교훈: 모델에게 규칙이 아닌 실패의 구체적인 예제를 제공하세요.

안정적 ID 버그. 이것은 비싼 버그입니다. 모든 재번역에서 지역화된 슬러그를 다시 도출한 시스템 프롬프트는 출판사가 포스트당 두 번째 라이브 문서를 발행하게 했습니다. 우리는 2026-06-13에 54개의 중복 라이브 문서를 배포했고 2026-07-05까지 게시를 취소하지 않았으며, 링크 공정성이 분할되고 중복 콘텐츠 플래그가 지정된 3주입니다. 수정: ID를 명시적으로 고정하고 기존 ID를 그대로 재사용합니다. 자신의 ID를 비결정적으로 재생성하는 시스템 프롬프트는 중복을 배포합니다. 우리는 ID를 고정하기 전에 54개의 라이브 문서를 발행했습니다.

가장 일반적인 시스템 프롬프트 실수는 무엇인가?

...

출처 바로가기