본문으로 건너뛰기

시스템 프롬프트

시스템 프롬프트는 모든 대화 시작 시 AI 모델에 전송되는 지침입니다. 봇의 동작, 성격, 전문 지식 및 제약 조건을 정의합니다. 잘 작성된 시스템 프롬프트는 봇으로부터 유용하고 일관된 응답을 얻는 가장 중요한 요소입니다.

시스템 프롬프트란?

AI 모델에 메시지를 보낼 때 대화에는 세 가지 유형의 메시지가 포함됩니다:

  1. 시스템 메시지 -- 시스템 프롬프트, 먼저 전송 (채팅 UI에는 보이지 않지만 모델이 읽음)
  2. 사용자 메시지 -- 사용자의 입력
  3. 어시스턴트 메시지 -- 모델의 응답

시스템 프롬프트는 전체 대화의 컨텍스트를 설정합니다. 모델은 이것을 모든 후속 응답을 형성하는 권위 있는 지침으로 처리합니다.

┌─────────────────────────────────────────┐
│ System: You are an expert Python │ ← 시스템 프롬프트 (보이지 않음)
│ developer. Always include type hints │
│ and docstrings in code examples. │
├─────────────────────────────────────────┤
│ User: How do I read a CSV file? │ ← 사용자 메시지
├─────────────────────────────────────────┤
│ Assistant: Here's how to read a CSV... │ ← 모델 응답 (프롬프트에 의해 형성됨)
│ def read_csv(path: str) -> list[dict]: │
│ """Read CSV file into list...""" │
└─────────────────────────────────────────┘

내장 템플릿

AISCouncil에는 시스템 프롬프트 필드 위의 드롭다운에서 액세스할 수 있는 5개의 내장 템플릿이 포함되어 있습니다. 템플릿을 선택하여 필드를 채운 다음 필요에 맞게 사용자 정의하세요.

템플릿설명용도
일반 어시스턴트유용하고 균형 잡힌 모든 목적의 어시스턴트일상적인 질문, 브레인스토밍, 일반 작업
코드 전문가소프트웨어 엔지니어링 중심, 모범 사례와 함께 코드 예제 제공프로그래밍, 디버깅, 코드 리뷰
창작 작가소설, 시 및 창작 콘텐츠 생성스토리, 대본, 마케팅 카피, 창작 프로젝트
연구 분석가사실 중심, 인용 및 구조화된 분석 제공학술 연구, 데이터 분석, 팩트 체크
번역가정확한 번역 및 문화적 컨텍스트 인식언어 번역, 현지화

템플릿은 시작점이지 최종 프롬프트가 아닙니다. 가장 효과적인 시스템 프롬프트는 특정 사용 사례에 맞게 사용자 정의된 것입니다. 템플릿으로 시작한 다음 자신만의 지침, 제약 조건 및 기본 설정을 추가하세요.

효과적인 시스템 프롬프트 작성

역할에 대해 구체적으로

모델에게 정확히 누구이며 무엇을 하는지 알려줍니다. 모호한 프롬프트는 모호한 응답을 생성합니다.

❌ 나쁨:  "You are helpful."

✅ 좋음: "You are a senior Python developer with 10 years of experience
in Django and FastAPI. You write clean, well-tested code
following PEP 8 conventions."

경계 정의

봇이 해야 할 것과 하지 말아야 할 것을 지정합니다:

You are a medical information assistant.

DO:
- Explain medical concepts in plain language
- Cite reputable sources (WHO, NIH, Mayo Clinic)
- Suggest when to seek professional medical advice

DO NOT:
- Diagnose conditions
- Recommend specific medications or dosages
- Replace professional medical advice

출력 형식 지정

모델에게 응답을 구조화하는 방법을 알려줍니다:

Always format your responses as follows:
- Start with a brief summary (1-2 sentences)
- Use markdown headers for sections
- Include code examples in fenced code blocks with language tags
- End with a "Key Takeaways" bullet list

집중 유지

2-4단락 시스템 프롬프트면 일반적으로 충분합니다. 극히 긴 프롬프트(1000단어 이상)는 모델의 주의를 흐릴 수 있습니다. 가장 중요한 지침을 우선시하세요.

정보

시스템 프롬프트는 모델의 컨텍스트 윈도우에서 토큰을 소비합니다. 500토큰 시스템 프롬프트는 대화 기록에 사용할 수 있는 토큰이 500개 더 적다는 것을 의미합니다. 더 작은 컨텍스트 윈도우가 있는 모델의 경우 프롬프트를 간결하게 유지하세요.

예제 사용

시스템 프롬프트의 퓨샷 예제는 모델에게 특정 형식이나 스타일을 가르치는 데 강력합니다:

When analyzing code, use this format:

**Issue**: [description of the problem]
**Severity**: [Critical / Warning / Info]
**Fix**: [suggested code change]

Example:
**Issue**: Unhandled null reference on line 15
**Severity**: Critical
**Fix**: Add null check before accessing `.name` property

시스템 프롬프트 + 메모리

메모리 모듈은 시스템 프롬프트에 지속적인 컨텍스트를 자동으로 추가합니다. 봇에 메모리가 활성화되면 기억된 사실이 시스템 프롬프트와 함께 시스템 메시지에 주입됩니다:

┌─────────────────────────────────────────┐
│ [사용자 시스템 프롬프트] │
│ │
│ [메모리 컨텍스트 - 자동 주입]: │
│ - User's name is Alex │
│ - Prefers TypeScript over JavaScript │
│ - Working on a React e-commerce app │
└─────────────────────────────────────────┘

메모리 항목은 시스템 프롬프트 뒤에 추가되어 핵심 지침을 방해하지 않습니다. 모델은 둘 다 보고 기억된 컨텍스트를 사용하여 응답을 개인화할 수 있습니다.

노트

메모리 주입은 투명하게 발생합니다. 메모리를 수용하기 위해 시스템 프롬프트를 수정할 필요가 없습니다 -- 플랫폼이 병합을 자동으로 처리합니다.

최대 길이 고려사항

시스템 프롬프트는 모델의 컨텍스트 윈도우에 의해 제한됩니다:

모델 컨텍스트실용적인 시스템 프롬프트 제한이유
4K 토큰~500토큰 (~375단어)대화를 위한 공간 확보
32K 토큰~4,000토큰 (~3,000단어)관대하지만 주의 필요
128K+ 토큰~16,000토큰 (~12,000단어)충분한 공간

경험상 시스템 프롬프트를 모델의 컨텍스트 윈도우의 10% 미만으로 유지하여 대화 기록을 위한 충분한 공간을 확보하세요.

봇별 vs Council별 시스템 프롬프트

개별 봇

각 봇은 설정 패널에서 구성된 자체 시스템 프롬프트를 가집니다. 프롬프트는 해당 봇의 대화에서 모든 메시지와 함께 모델에 전송됩니다.

Councils

Councils (다중 모델 구성)은 모든 멤버 모델에 적용되는 공유 시스템 프롬프트를 가집니다. 이 프롬프트는 멤버별이 아닌 council 수준에서 설정 패널에서 설정됩니다.

Council 심의 중:

  • 모든 멤버 모델이 동일한 공유 시스템 프롬프트를 받음
  • 각 모델이 사용자의 메시지를 독립적으로 처리 (팬아웃 단계)
  • 의장 모델이 종합을 위해 모든 응답을 받음

다른 council 멤버에 대해 다른 지침이 필요한 경우 고유한 시스템 프롬프트가 있는 별도의 개별 프로필을 만든 다음 council로 구성하는 것을 고려하세요.

시스템 프롬프트 예시

기술 문서 작성자

You are a technical documentation writer specializing in developer docs.

Guidelines:
- Write in clear, concise language accessible to intermediate developers
- Use active voice and present tense
- Include code examples for every concept
- Structure content with headers, bullet lists, and tables
- Add warnings for common pitfalls using callout blocks
- Reference official documentation when applicable
- Keep paragraphs to 3-4 sentences maximum

데이터 분석가

You are a data analyst assistant. When given data or questions about data:

1. Start with a summary of key findings
2. Show your methodology and reasoning
3. Present results in tables or structured format
4. Include caveats about data limitations
5. Suggest follow-up analyses when relevant

Always use precise numbers — avoid vague terms like "many" or "a lot."
When performing calculations, show your work step by step.
Format numbers with appropriate precision (2 decimal places for percentages,
whole numbers for counts).

언어 튜터

You are a patient and encouraging language tutor for intermediate Spanish learners.

When the user writes in Spanish:
- Gently correct any errors, explaining the grammar rule
- Provide the corrected sentence
- Give an encouraging comment about what they did well

When the user writes in English:
- Translate their message to Spanish
- Break down the grammar of the translation
- Teach one new vocabulary word or phrase related to the topic

Always use both formal (usted) and informal (tú) forms when introducing new concepts.
Include pronunciation tips for tricky words.

코드 리뷰어

You are a senior code reviewer. When shown code:

1. First, acknowledge what the code does well
2. Then identify issues in priority order:
- Security vulnerabilities (critical)
- Bugs and logic errors (high)
- Performance issues (medium)
- Style and readability (low)
3. For each issue, provide:
- The problematic code snippet
- Why it is a problem
- A corrected version
4. End with an overall assessment and one improvement suggestion

Be constructive, not harsh. Explain the "why" behind every suggestion.

회의 요약자

You summarize meeting transcripts into structured notes.

Format every summary as:
## Meeting Summary
**Date**: [extract from transcript]
**Attendees**: [list names mentioned]

## Key Decisions
- [Bulleted list of decisions made]

## Action Items
| Owner | Task | Deadline |
|-------|------|----------|
| [name] | [task] | [date if mentioned] |

## Discussion Points
- [Brief summary of each topic discussed]

## Open Questions
- [Unresolved items that need follow-up]

Be concise. Use direct quotes only for critical statements.