2Slides Logo
AI 프레젠테이션 에이전트를 위한 시스템 프롬프트: 개발자 가이드 (2026)
2Slides Team
14 min read

AI 프레젠테이션 에이전트를 위한 시스템 프롬프트: 개발자 가이드 (2026)

AI 프레젠테이션 에이전트용 시스템 프롬프트는 사용자 프롬프트와 다릅니다. 특정 작업이 아닌 에이전트의 역할, 제약 조건, 출력 계약을 인코딩합니다. 잘 작성된 시스템 프롬프트는 범용 LLM을 안정적인 슬라이드 생성 에이전트로 변환합니다: 일관된 톤, 예측 가능한 구조, 호출 가능한 도구 사용. 이 개발자 가이드는 2Slides의 자체 에이전트 파이프라인에서 실제로 사용되는 7개 섹션 시스템 프롬프트 템플릿, Claude, GPT-4o 또는 DeepSeek으로 슬라이드 에이전트를 구축하기 위한 즉시 사용 가능한 시스템 프롬프트, 신뢰할 수 없는 출력을 생성하는 3가지 안티 패턴, 그리고 2Slides V1 API(generate, create-pdf-slides, create-like-this, generate-narration, jobs/:id, themes/search)와 시스템 프롬프트를 통합하는 방법을 다룹니다. 가이드는 세 가지 실제 예제로 마무리됩니다: 창업자 노트를 투자자 덱으로 변환하는 피치덱 에이전트, 경영진 대상으로 분기별 지표를 포맷하는 이사회 덱 에이전트, 그리고 PDF를 프레젠테이션으로 변환하는 수집 에이전트.

챗봇, 슬라이드 출력을 제공하는 코딩 어시스턴트, 또는 보고서를 자동화하는 내부 도구를 구축하는 경우, 데모와 프로덕션의 차이는 거의 전적으로 시스템 프롬프트에 있습니다. 이 가이드는 개발자 대상으로 작성되었습니다: 마케팅 과장 없이, 실제 코드, 실제 엔드포인트만 다룹니다.


시스템 프롬프트 vs 사용자 프롬프트: 실제 차이점은 무엇일까?

사용자 프롬프트는 작업(task)입니다. 시스템 프롬프트는 운영 매뉴얼입니다.

제품 관리자가 "3분기 매출에 관한 슬라이드 10장을 만들어줘"라고 입력하면, 그것은 사용자 프롬프트입니다. 에이전트가 일관되게 유효한 JSON을 반환하고, 슬라이드 예산을 절대 초과하지 않으며, 발표자 노트에 항상 출처를 인용하고, 사용자가 파일을 업로드할 때

create-pdf-slides
엔드포인트를 호출하는 것 — 이러한 동작은 시스템 프롬프트에서 비롯됩니다.

OpenAI, Anthropic, Google API에서 시스템 프롬프트는 별도의 필드입니다(Anthropic의

system
, OpenAI 채팅 완성의
system
역할, Gemini의
systemInstruction
). 모델은 사용자 턴보다 이를 더 높은 가중치로 처리하도록 학습되며, 이후 메시지로 재정의할 수 없는 것으로 취급합니다. 따라서 다음 사항을 위한 적절한 장소입니다:

  • 역할 정의 — 어떤 종류의 에이전트인지
  • 출력 규약 — JSON 스키마, markdown 형식, 또는 도구 호출 구조
  • 엄격한 제약 조건 — 단어 수 제한, 어조 규칙, 금지된 콘텐츠
  • 도구/API 목록 — 어떤 함수를 언제 호출할 수 있는지
  • 에스컬레이션 규칙 — 거부, 명확화 요청, 또는 이관할 시점

이 모든 것을 인코딩하려는 사용자 프롬프트는 사용자의 작업 텍스트가 길어지는 순간 무너집니다. 시스템 프롬프트는 모든 턴에서 유지됩니다.

7섹션 시스템 프롬프트 템플릿

2Slides에서 출시하거나 감사한 모든 신뢰할 수 있는 슬라이드 생성 에이전트는 이 7섹션 구조의 변형을 사용합니다. 순서가 중요합니다 — LLM은 앞부분의 지시사항에 더 높은 가중치를 두기 때문에 역할과 계약이 먼저 나옵니다. 작업 예시는 마지막에 배치됩니다.

  1. 정체성 및 역할 — 에이전트가 누구이며 무엇을 하는지에 대한 한 단락 설명
  2. 출력 계약 — 에이전트가 반환해야 하는 정확한 스키마 또는 형식
  3. 엄격한 제약사항 — 협상 불가능한 규칙 (길이, 톤, 금지된 패턴)
  4. 도구 목록 — 사용 가능한 각 API 또는 함수, 호출 시기에 대한 안내 포함
  5. 추론 정책 — 에이전트가 사고해야 하는 방식 (chain-of-thought, 자가 점검, 에스컬레이션)
  6. 오류 처리 — 입력이 모호하거나 잘못되었거나 주제를 벗어났을 때 취해야 할 조치
  7. 작업 예시 — 올바른 동작을 보여주는 2~4개의 완전한 입력/출력 쌍

이 템플릿은 의도적으로 독단적입니다. 프로덕션 환경에서 오작동하는 에이전트를 감사할 때, 원인은 거의 항상 잘못된 섹션이 아닌 누락된 섹션입니다. 도구 목록이 없는 에이전트는 엔드포인트를 환각합니다. 오류 처리 섹션이 없는 에이전트는 입력이 부족할 때 데이터를 만들어냅니다. 작업 예시가 없는 에이전트는 긴 대화 중 톤이 흐트러집니다.

신원 및 역할

당신은 SlideAgent로, 프레젠테이션 생성 보조 도구입니다. 당신의 역할은 비구조화된 사용자 입력(메모, 대화록, PDF, 원시 데이터)을 받아서 2Slides V1 API로 렌더링할 수 있는 구조화된 슬라이드 덱 사양을 반환하는 것입니다. 당신은 범용 챗봇이 아닙니다. 퀴즈에 답하거나, 코드를 작성하거나, 긴 대화를 나누지 않습니다. 슬라이드 덱을 생성한 후 종료합니다.

출력 계약

덱 작성을 요청하는 모든 사용자 입력에 대해, 다음 스키마에 맞는 단일 JSON 객체를 반드시 출력해야 합니다:

{ "title": string, // 3-10단어, 제목 케이스 "audience": string, // 예: "series-a investors", "exec staff" "tone": "formal" | "conversational" | "technical", "slide_count": integer, // 5 <= n <= 40 "language": string, // ISO 639-1 코드, 기본값 "en" "theme_hint": string, // 자유 텍스트, themes/search에 전달됨 "slides": [ { "layout": "title" | "content" | "two-column" | "quote" | "chart" | "image", "heading": string, // <= 12단어 "bullets": string[], // 0-5개 항목, 각각 <= 18단어 "speaker_notes": string, // 30-80단어, 완전한 문장 "image_prompt": string?, // 선택사항, 이미지 레이아웃용 "chart_data": object? // 선택사항, 차트 레이아웃용 } ], "api_call": { "endpoint": "generate" | "create-pdf-slides" | "create-like-this", "reasoning": string // 한 문장: 이 엔드포인트를 선택한 이유 } }

JSON 앞뒤에 산문을 작성하지 마세요. JSON 주변에 markdown 펜스를 사용하지 마세요. 사용자가 덱 요청이 아닌 질문을 하면 다음을 반환하세요:

{ "error": "not_a_deck_request", "suggestion": string }

엄격한 제약사항

  • 절대 40슬라이드를 초과하지 마세요. 사용자가 더 많이 요청하면 40으로 제한하고 슬라이드 1의 speaker_notes에 이를 명시하세요.
  • 모든 슬라이드에는 speaker_notes가 있어야 합니다. 빈 speaker_notes는 버그입니다.
  • 글머리 기호는 문법적으로 병렬이어야 합니다(모두 동사로 시작하거나, 모두 명사구 — 절대 혼합하지 않음).
  • 통계를 만들어내지 마세요. 사용자가 숫자를 제공하지 않았다면 숫자를 작성하지 마세요. "[source needed]"를 자리 표시자로 사용하세요.
  • 사용자가 명시적으로 제공하지 않은 연락처 정보, 전화번호 또는 이메일 주소를 포함하지 마세요.
  • 제목은 제목 케이스입니다. 글머리 기호는 문장 케이스입니다. 모두 대문자는 사용하지 마세요.
  • 사용자가 출처를 제공하지 않은 명예훼손적 콘텐츠나 의료, 법률, 재무 관련 주장을 생성하는 것을 거부하세요.

도구 목록 (2Slides V1 API)

호출 코드가 다음 엔드포인트를 호출하도록 지시할 수 있습니다. 직접 호출하지 않고 "api_call" 필드에 이름을 지정합니다.

  • generate — 기본값. 텍스트 입력, 덱 출력. 대부분의 요청에 사용.
  • create-pdf-slides — 사용자가 PDF URL을 업로드하거나 붙여넣었을 때. 사용자 프롬프트에 PDF URL을 전달.
  • create-like-this — 사용자가 "내 마지막 덱처럼" 또는 참조 덱 URL을 제공했을 때. 테마 + 구조를 재사용.
  • generate-narration — 덱이 구축된 후 각 슬라이드에 TTS 음성 해설을 추가. 사용자가 비디오 또는 내레이션을 명시적으로 요청할 때만 호출.
  • download-slides-pages-voices — 렌더링된 페이지와 오디오를 일괄 다운로드. 비디오 워크플로의 끝에서 호출.
  • jobs/:id — 비동기 작업 상태 폴링. 호출 코드가 폴링을 처리하므로 직접 수행하지 않음.
  • themes/search — 키워드로 테마 검색. "theme_hint" 필드가 호출 코드에 의해 여기로 전달됨.

추론 정책

JSON을 출력하기 전에 태그 안에서 단계별로 생각하세요:

  1. 사용자 입력을 분석. 실제 덱의 주제는 무엇인가?
  2. 청중을 식별. 투자자? 엔지니어? 이사회? 영업팀?
  3. 콘텐츠 밀도에 따라 slide_count 선택, 사용자의 아첨이 아님.
  4. 엔드포인트 선택: generate (기본값) | create-pdf-slides | create-like-this.
  5. 개요 초안 작성 후 자체 점검: 글머리 기호가 병렬인가? 숫자에 출처가 있는가?

후 JSON 객체를 출력하세요. 최종 출력에 추론 과정을 포함하지 마세요 — 호출 코드가 렌더링 전에 블록을 제거합니다.

실패 처리

  • 모호한 주제: 오류 응답의 "suggestion" 필드에 명확화 질문 하나만 하세요. 여러 질문을 하지 마세요.
  • 잘못된 형식의 입력(사용자가 무의미한 내용 붙여넣기): { "error": "unintelligible_input", "suggestion": "..." }를 반환.
  • 충돌하는 지시사항(사용자가 5분 안에 50슬라이드 원함): 엄격한 제약사항(최대 40)을 준수하고 슬라이드 1 speaker_notes에 충돌 내용 기록.
  • 유효하지 않아 보이는 PDF URL: 여전히 api_call = create-pdf-slides로 JSON 출력; URL을 가져올 수 없으면 백엔드가 명확한 오류를 반환함.

작동 예시

2Slides AI 프롬프트 엔지니어링 가이드

사용자가 프레젠테이션을 요청할 때, AI는 요청을 분석하고 적절한 API 엔드포인트와 파라미터를 선택해야 합니다.


예시 1: 최소 입력

사용자: "3분기 매출 덱 만들어줘, 우리 420만 달러 달성했고, 전년 대비 30% 증가했어, 청중은 이사회야"

이사회 청중 -> 공식적인 톤. 매출 덱 -> 8-12슬라이드가 표준. 숫자는 출처가 있음 (사용자가 제공). 엔드포인트: generate.
{ "title": "3분기 매출 검토", "audience": "이사회", "tone": "formal", "slide_count": 10, "language": "ko", "theme_hint": "minimal corporate finance", "slides": [ { "layout": "title", "heading": "3분기 매출 검토", "bullets": [], "speaker_notes": "오프닝 슬라이드. ..." }, ... ], "api_call": { "endpoint": "generate", "reasoning": "텍스트 전용 입력, 참조 덱이나 PDF 없음." } }

예시 2: PDF 수집

사용자: "이 백서를 엔지니어용 12슬라이드 요약으로 만들어줘: https://example.com/whitepaper.pdf"

PDF URL 존재 -> create-pdf-slides. 엔지니어 청중 -> 기술적 톤. 사용자가 12슬라이드 지정 -> 준수.
{ "title": "백서 요약", "audience": "소프트웨어 엔지니어", "tone": "technical", "slide_count": 12, "language": "ko", "theme_hint": "technical documentation dark", "slides": [ ... ], "api_call": { "endpoint": "create-pdf-slides", "reasoning": "사용자가 PDF URL 제공." } }

예시 3: 덱 요청이 아님

사용자: "프랑스의 수도는 어디인가요?"

{ "error": "not_a_deck_request", "suggestion": "저는 슬라이드 덱을 제작합니다. 다음과 같이 시도해보세요: '프랑스에 관한 5슬라이드 브리핑 만들어줘'." }

위 프롬프트는 대략 1,800 토큰입니다. 이것이 권장하는 상한선입니다 — 그보다 길어지면 8k 또는 16k 컨텍스트 윈도우를 가진 모델에서 사용자의 실제 입력을 압박하기 시작합니다. 200k 컨텍스트 모델의 경우 더 많은 엣지 케이스를 다루기 위해 작업 예시를 안전하게 확장할 수 있습니다. # 2Slides V1 API와 통합하기 시스템 프롬프트는 엔드포인트의 이름을 지정하고, 호출 코드가 이를 실행합니다. 다음은 각 엔드포인트의 기능과 에이전트가 언제 이를 사용해야 하는지에 대한 설명입니다. - **`POST /api/v1/slides/generate`** — 핵심 엔드포인트입니다. 텍스트 프롬프트와 선택적 구조화된 힌트(슬라이드 수, 언어, 테마 ID)를 받아 작업 ID를 반환합니다. 에이전트 트래픽의 90%가 이 엔드포인트를 호출합니다. - **`POST /api/v1/slides/create-pdf-slides`** — PDF URL을 받아 프레젠테이션으로 변환합니다. 사용자가 문서를 업로드할 때 사용합니다. 서버 측에서 추출, 청킹, 요약을 처리하므로 에이전트에 PDF 파서가 필요하지 않습니다. - **`POST /api/v1/slides/create-like-this`** — 참조 프레젠테이션 URL 또는 ID와 새로운 주제를 받습니다. 참조 자료의 시각적 테마와 구조적 리듬을 재사용합니다. "지난 이사회 발표 자료처럼 만들어줘" 워크플로우에 사용합니다. - **`POST /api/v1/slides/generate-narration`** — 기존 프레젠테이션에 TTS 음성 해설을 추가합니다. 슬라이드별 오디오 URL을 반환합니다. 최종 출력이 비디오일 때 `generate` 다음에 연결합니다. - **`GET /api/v1/slides/download-slides-pages-voices`** — 렌더링된 페이지 이미지와 음성 해설 오디오를 하나의 응답으로 반환하는 배치 엔드포인트입니다. 비디오 내보내기 파이프라인의 최종 단계에서 사용합니다. - **`GET /api/v1/jobs/:id`** — 폴링 엔드포인트입니다. 에이전트가 아닌 호출 코드가 호출합니다. `pending`, `processing`, `success`, 또는 `failed`와 완료 시 최종 프레젠테이션 URL을 반환합니다. - **`GET /api/v1/themes/search?q=...`** — 공개 테마 라이브러리에서 키워드 검색을 수행합니다. 시스템 프롬프트 출력의 `theme_hint` 필드를 여기에 전달하여 `generate` 호출 전에 구체적인 테마 ID로 변환합니다. 완전한 에이전트 루프는 의사 코드로 다음과 같습니다: ```ts const completion = await llm.messages.create({ system: SYSTEM_PROMPT, // 위의 7섹션 템플릿 messages: [{ role: "user", content: userInput }], }); const spec = JSON.parse(stripThinking(completion.content)); if (spec.error) return handleError(spec); const theme = await fetch(`/api/v1/themes/search?q=${spec.theme_hint}`); const job = await fetch(`/api/v1/slides/${spec.api_call.endpoint}`, { method: "POST", body: JSON.stringify({ ...spec, themeId: theme.id }), }); const result = await pollJob(job.id); // /api/v1/jobs/:id 호출 return result.deckUrl;

API 구조가 처음이라면, AI 프레젠테이션 에이전트 구축 개발자 가이드에서 실제 TypeScript로 전체 흐름을 안내합니다. 시스템 프롬프트가 여러 기능 중 하나인 상위 수준의 스킬 기반 아키텍처에 대해서는 AI 슬라이드 에이전트 스킬 개요를 참조하세요.

슬라이드 에이전트를 망가뜨리는 3가지 안티 패턴

수십 개의 프로덕션 에이전트(내부 분석 도구부터 고객 대면 영업 코파일럿까지)를 검토한 결과, 동일한 세 가지 실패 패턴이 반복적으로 나타났습니다.

안티 패턴 1: 경계가 없는 출력 계약

증상: 에이전트가 때로는 JSON을, 때로는 markdown을, 때로는 정중한 문단을 반환합니다. 파서가 50번 요청마다 한 번씩

SyntaxError: Unexpected token
을 던집니다.

원인: 시스템 프롬프트가 정확한 형식을 지정하지 않고 "슬라이드 덱을 반환하라"고만 말하거나, 형식은 지정하지만 주변에 산문을 허용합니다.

해결책: 시스템 프롬프트에 스키마를 작성하세요. 명시적으로 말하세요: "JSON 앞뒤에 산문 없음. JSON 주변에 markdown 펜스 없음." 그런 다음 모든 출력을 검증기(Zod, Pydantic, io-ts)로 실행하고 실패 시 재시도하세요. 스키마 준수를 선택 사항이 아닌 엄격한 제품 요구사항으로 취급하세요.

안티 패턴 2: 도구 인벤토리 불일치

증상: 에이전트가 사용자에게 자신 있게 "제가

refine-deck
엔드포인트를 호출하겠습니다"라고 말합니다 — 존재하지 않는 엔드포인트입니다. 사용자의 덱은 절대 도착하지 않습니다.

원인: 시스템 프롬프트가 구조화된 인벤토리가 아닌 산문으로 도구를 언급하여 모델이 변형을 환각합니다. 또는 새 엔드포인트를 배포한 후 인벤토리가 업데이트되지 않았습니다.

해결책: API가 변경될 때마다 갱신되는 단일 정규 도구 인벤토리를 시스템 프롬프트에 유지하세요. API에 7개의 엔드포인트가 있다면 정확히 7개를 나열하고, 각각 언제 호출할지 설명하는 한 줄을 포함하세요. 모델이 다른 것을 명명하는 것을 금지하세요 — "위의 엔드포인트 중 어느 것도 적용되지 않으면

api_call: null
을 반환하고 에스컬레이션하세요."

안티 패턴 3: 통계 환각

증상: 사용자가 숫자를 제공하지 않고 "우리 3분기 수치에 대한 덱을 만들어"라고 말합니다. 에이전트가 즐겁게 "매출이 47.3% 성장하여 820만 달러를 달성했습니다"라고 작성합니다. CFO가 격분합니다.

원인: 데이터 조작을 금지하는 엄격한 제약이 없습니다. 대부분의 LLM이 불충분하게 지정되었을 때 하는 것처럼, 모델은 그럴듯하게 들리는 허구를 기본값으로 사용합니다.

해결책: 명시적인 규칙을 추가하세요: "통계를 조작하지 마세요. 사용자가 숫자를 제공하지 않았다면

[출처 필요]
를 플레이스홀더로 사용하세요." 그런 다음 정규식이나 별도의 LLM 검사로 의심스러운 구체성을 찾아 출력을 스캔하세요. 이 한 가지 규칙은 우리 검토에서 다른 어떤 규칙보다 더 많은 고객 에스컬레이션급 버그를 잡아냈습니다.

실습 예제 1: 피치덱 에이전트

피치덱 에이전트는 창업자 메모를 10개 슬라이드의 투자자 덱으로 변환합니다. 기본 시스템 프롬프트에 다음 내용을 추가하세요:

# 전문화: 피치덱 모드 피치덱을 제작할 때는 정확히 다음 구조를 사용하세요: 1. 타이틀 2. 문제점 3. 솔루션 4. 시장 규모 (TAM/SAM/SOM) 5. 제품 데모 / 스크린샷 6. 트랙션 지표 7. 비즈니스 모델 8. 경쟁사 9.10. 요청 사항 (투자 금액 + 자금 활용 계획) slide_count = 10으로 고정. tone = "대화체이지만 자신감 있게"로 고정. 사용자가 시장 규모, 트랙션 또는 요청 사항에 대한 숫자를 제공하지 않은 경우, "[자료 필요]"를 사용하세요 — 임의로 만들지 마세요.

입력 예시: "치과 진료소용 B2B SaaS, 보험 청구 자동화 지원, 12개 유료 고객 보유, 150만 달러 시드 투자 유치 중."

출력 예시 (요약): 고정된 구조의 10개 슬라이드 JSON,

api_call.endpoint = "generate"
,
theme_hint = "pitch deck modern gradient"
, 그리고 트랙션 슬라이드에는 임의의 숫자 대신
["유료 치과 진료소 12곳", "[자료 필요] — MRR", "[자료 필요] — 고객 유지율"]
을 표시합니다.

실습 예제 2: 이사회 발표 자료 에이전트

이사회 발표 자료는 다른 규칙이 필요합니다: 공식적인 어조, 빽빽한 표, 이모지 제로, CFO들이 기대하는 특정 슬라이드 순서. 다음을 추가하세요:

# 전문화: 이사회 발표 자료 모드 이사회 회의에는 정확히 이 구조를 사용하세요: 1. 경영진 요약 (3개의 핵심 포인트) 2. 재무 정보 (매출, 마진, 런웨이) 3. KPI 스코어카드 (표 레이아웃) 4. 전략적 이니셔티브 (상태 + 리스크) 5. 채용 계획 6. 리스크 및 완화 방안 7. 이사회 요청 사항 어조 = "공식적"으로 강제 설정. 사용자 로케일에 맞춰 언어 강제 설정. 모든 숫자는 speaker_notes에 출처가 있어야 함. 이미지 슬라이드 없음 — 이사회 발표 자료는 텍스트와 표.

이사회 발표 자료 에이전트는 이사회가 이전 분기 발표 자료를 본 경우

create-like-this
와 잘 어울립니다. 이전 발표 자료 URL을 전달하면 새 발표 자료가 테마와 페이싱을 상속받습니다.

실습 예제 3: PDF-to-Deck 수집 에이전트

이 에이전트는 고객 백서, 연구 PDF 또는 RFP를 소화하기 쉬운 요약 덱으로 변환합니다. 2Slides의

create-pdf-slides
엔드포인트가 대부분의 작업을 처리하기 때문에 가장 간단하게 구축할 수 있습니다.

# 전문화: PDF 수집 모드 트리거: 사용자가 .pdf로 끝나는 URL을 제공하거나 명시적으로 "이 PDF/백서/보고서를 슬라이드로 만들어줘"라고 말하는 경우 항상 api_call.endpoint = "create-pdf-slides"로 설정. PDF 길이에 따라 slide_count 설정: - 5페이지 미만 -> 5슬라이드 - 5-20페이지 -> 8-12슬라이드 - 20-50페이지 -> 15-20슬라이드 - 50페이지 초과 -> 25-30슬라이드 (최대 30으로 제한) 덱 제목으로 사용할 PDF 제목 추출. 사용자가 PDF의 원래 청중과 다른 청중을 지정한 경우, 렌더러가 톤을 조정할 수 있도록 슬라이드 1의 speaker_notes에 플래그 표시.

Claude Desktop 또는 유사한 MCP 호스트 내에 있는 에이전트의 경우, PDF 수집 플로우를 한 시간 이내에 연결할 수 있습니다 — 전체 워크스루는 Claude MCP를 사용하여 프레젠테이션 생성하는 방법을 참조하세요.

자주 묻는 질문

시스템 프롬프트를 코드에 넣어야 하나요, 아니면 데이터베이스에 넣어야 하나요?

프로덕션 에이전트의 경우, 버전 관리 시스템에 넣고(빌드 시점에 가져오는

.md
파일로) 릴리스에 태그를 지정하세요. 데이터베이스에 저장된 프롬프트는 유연해 보이지만 롤백이 어렵고 로그에서 어떤 프롬프트가 어떤 출력을 생성했는지 불분명해집니다. 테넌트별 맞춤화가 필요한 경우, 테넌트별 오버라이드를 데이터베이스에 저장하고 요청 시점에 기본 프롬프트와 병합하세요.

시스템 프롬프트는 얼마나 길어야 하나요?

슬라이드 생성 에이전트의 경우, 1,500~2,500 토큰이 적절합니다. 짧은 프롬프트는 제약 조건을 놓치고 엣지 케이스에서 실패합니다. 긴 프롬프트는 작은 컨텍스트 모델에서 사용자의 실제 입력을 압박하고 종종 내용이 중복됩니다. 3,000 토큰을 초과하면 중복성을 점검하세요 — 같은 규칙이 두 번 언급되었을 가능성이 있습니다.

Claude, GPT-4o, DeepSeek에 각각 다른 시스템 프롬프트가 필요한가요?

약간의 조정만 필요합니다. 7섹션 템플릿은 세 모델 모두에서 작동합니다. Claude는 XML 태그 구조(

<thinking>
,
<output>
)에 잘 반응합니다. GPT-4o는 번호가 매겨진 규칙이 있는 깔끔한 markdown을 선호합니다. DeepSeek는 둘 다 처리하지만 더 명확한 예시가 도움이 됩니다. 하나의 기본 프롬프트를 작성한 다음, 모델별로 작은 형식 변형을 A/B 테스트하세요.

재배포 없이 시스템 프롬프트를 업데이트할 수 있나요?

예 — 그리고 빠른 반복을 위해 가능해야 합니다. 프롬프트를 환경 변수나 기능 플래그 서비스에 저장하여 SRE가 몇 초 안에 잘못된 프롬프트를 롤백할 수 있도록 하세요. 잘못된 프롬프트를 잘못된 배포처럼 취급하세요: 이것은 프로덕션 인시던트이며 동일한 영향 범위 제어가 필요합니다.

시스템 프롬프트를 어떻게 테스트하나요?

실제 사용자 분포를 포괄하는 50~200개의 입력/출력 쌍으로 회귀 테스트 세트를 구축하세요: 정상 경로 덱, 적대적 입력, 잘못된 JSON 시도, 주제에서 벗어난 요청 등. 프롬프트 변경마다 전체 세트를 실행하고 스키마 준수도와 사람이 평가한 품질을 점수화하세요. 이것은 에이전트 안정성을 위한 가장 높은 레버리지를 가진 엔지니어링 투자입니다.

결론

시스템 프롬프트는 카피가 아니라 인프라입니다. 이는 일반적인 LLM을 알려진 출력 계약, 고정된 도구 목록, 예측 가능한 장애 모드를 가진 신뢰할 수 있는 슬라이드 생성 에이전트로 전환하는 요소입니다. 시스템 프롬프트를 제품 산출물로 취급하여 버전 관리, 테스트, 모니터링하는 개발자는 실제 사용자와의 접촉에서 살아남는 에이전트를 출시합니다. 이를 일회성 프롬프트 엔지니어링 연습으로 취급하는 개발자는 데모만 출시합니다.

이 가이드의 7섹션 템플릿과 프로덕션 준비 예제는 끝이 아니라 시작점입니다. 이를 포크하고, 사용 사례에 맞게 특화하고, 2Slides V1 API에 연결하고 — 가장 중요하게는 — 출시 전에 회귀 테스트 하네스를 구축하세요. 2026년에 승리할 에이전트는 프롬프트를 코드와 동일한 엄격함으로 엔지니어링한 에이전트입니다.

프로덕션 환경에서 슬라이드 에이전트를 출시하세요 — 2Slides API 키 받기 또는 MCP 서버 탐색.

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free