시스템 프롬프트 작성법: AI 성능 향상을 위한 실용적 접근
지난 글에서는 시스템 프롬프트와 유저 프롬프트의 개념을 다루고, AI와의 대화에서 이 둘이 어떤 역할을 하는지 비교하며 구분해서 사용하는 것의 중요성을 살펴보았습니다.
시스템 프롬프트 | 유저 프롬프트 |
---|---|
AI의 기본적인 성격과 틀을 설정 | 특정 시점의 구체적인 요청을 전달 |
이번 글에서는 AI 응답의 품질과 일관성을 높이는 핵심인 시스템 프롬프트를 어떻게 효과적으로 작성할 수 있는지 실용적인 관점에서 알아보겠습니다.
팟캐스트로 듣기
시스템 프롬프트에 담겨야할 내용
대규모 언어 모델(LLM)은 광범위한 데이터를 학습하여 다양한 분야의 지식을 가지고 있으며 여러 유형의 작업을 수행할 수 있습니다. 하지만 특정 사용자의 필요나 작업의 구체적인 맥락을 정확히 반영하기 위해서는 추가적인 안내가 필요합니다. 시스템 프롬프트는 AI에게 그러한 안내 사항을 전달할 수 있는 수단이며, 다음과 같은 내용을 포함하는 것이 좋습니다.
역할 지정
작업 목표 정의
응답 스타일 및 형식 안내
제약 조건 명시
참고 정보 활용 지시
이 내용을 구체적으로 제시하는 것은 AI가 사용자의 요구사항을 보다 정확히 이해하고, 더욱 유용하고 일관성 있는 결과물을 생성하는 데 기여합니다.
내용 별 프롬프트 작성 팁
시스템 프롬프트를 작성할 때 AI가 사용자의 의도를 더 잘 파악하고 원하는 응답을 생성하도록 돕는 몇 가지 실용적인 접근 방법을 소개합니다.
명확한 역할 및 페르소나 설정
나쁜 예시: "질문에 답해줘."
좋은 예시: "당신은 중소기업 경영자를 위한 비즈니스 전략 컨설턴트입니다. 질문에 대해 실용적이고 실행 가능한 관점에서 답변해주세요."
구체적인 작업 목표와 범위 명시
나쁜 예시 (목표 불분명): "이 내용을 요약해 줘."
좋은 예시 (목표 구체화): "다음 제품 설명서의 핵심 기능을 파악하기 쉽게 300자 이내로 요약하고, 잠재 고객이 흥미를 느낄 만한 장점을 두 가지 강조하여 목록 형태로 제시하세요."
응답에 대한 제약 조건 및 가이드라인 제시
길이 제한: 답변의 최소 또는 최대 길이를 지정합니다
형식 지정: 특정 포맷(예: 마크다운, JSON, 특정 템플릿)을 따르도록 지시합니다.
내용 제한: 특정 주제 언급 금지, 특정 정보 포함 필수 등 내용에 대한 규칙을 설정합니다.
어조 및 스타일: 친근하게, 전문적으로, 간결하게 등 응답의 어조나 스타일을 안내합니다.
필요한 배경 정보와 맥락 제공
특정 상황이나 조직의 특성에 맞는 응답을 얻기 위해서는 관련된 배경 정보 제공이 유용합니다.
"우리 회사의 고객 서비스 정책은 다음과 같습니다: [정책 내용 요약]. 이 정책에 기반하여 고객 문의에 응답하는 스크립트를 작성해 주세요."
"다음은 이번 분기 판매 데이터 요약입니다: [데이터 요약]. 이 데이터를 바탕으로 판매 동향을 분석하고 다음 분기 목표 설정에 필요한 시사점을 도출하세요."
명확하고 간결한 지침 사용
모호한 지시: "좋게 바꿔서 써봐."
명확한 지시: "이 문장에서 사용된 전문 용어를 일반인도 이해할 수 있는 쉬운 단어로 바꾸고, 전체적인 어조를 좀 더 친근하게 수정하여 다시 작성해 주세요."
실제 시스템 프롬프트 예시
기업의 인사팀 담당자가 사내 직원들에게 전달할 이메일 문구를 작성할 때 AI의 도움을 받고 싶다고 가정해 봅시다. 이 담당자는 매번 이메일을 작성할 때마다 회사 내부 규정에 맞는지, 딱딱하지 않으면서도 중요한 내용을 빠뜨리지 않는지 고민합니다. 이러한 상황에서 사용할 수 있는 시스템 프롬프트는 다음과 같이 구성해 볼 수 있습니다.
당신은 이제부터 [회사 이름]의 인사팀 내부 커뮤니케이션 전문가 AI입니다.
당신의 주요 임무는 직원들에게 전달될 이메일, 공지, 메시지 등의 초안을 작성하는 것입니다.
## 목표
- 전달하고자 하는 내용을 명확하고 간결하게 직원들에게 알리는 것
- 긍정적이고 협조적인 분위기를 조성하는 것
- 회사의 공식적인 소통 가이드라인을 준수하는 것
## 지침 및 제약 조건
- 모든 메시지는 존댓말을 사용하고, 존중하는 어조를 유지해야 합니다.
- 전문 용어나 약어 사용은 최소화하고, 사용 시에는 간략한 설명을 덧붙입니다.
- 내용의 길이는 가능한 한 짧게 유지하되, 필수 정보는 모두 포함해야 합니다. (예: 관련 정책 번호, 마감일 등)
- 긍정적인 표현을 사용하여 직원들의 이해와 협조를 구합니다.
- 민감하거나 개인적인 정보는 절대로 포함하지 않습니다.
- 필요한 경우, 추가 질문이나 도움이 필요한 직원을 위한 연락처 또는 참조 문서를 안내합니다.
- 각 메시지 초안은 [제목], [본문], [필요시 첨부 파일 안내], [발신자 정보 (인사팀)]의 형식으로 구성합니다.
## 배경 정보 (예시, 실제 사용 시 구체화)
- 회사 공식 명칭: [회사 이름]
- 직원 소통 톤앤매너: 친절하지만 전문적이며 명확함
- 사용 용어집: (필요시 자주 사용하는 내부 용어 목록을 제공하여 일관성 유지)
이 시스템 프롬프트를 AI에 설정해두면, 인사팀 담당자는 유저 프롬프트로 다음과 같이 간단하게 요청할 수 있습니다.
"새로운 복지 정책 '유연근무제 확대'에 대한 안내 이메일 초안을 작성해줘. 시행일은 7월 1일이고, 자세한 내용은 첨부 파일(유연근무제 가이드라인.pdf)을 참고하라고 알려줘."
"매월 첫째 주 금요일 점심시간에 실시하는 직원 간담회 참여 독려 메시지를 작성해줘. 참여 방법 링크(intranet.company.com/meeting)를 포함하고, 간략하게 이번 간담회 주제(하반기 업무 목표 공유)를 언급해줘."
시스템 프롬프트 작성 실전 팁
마지막으로 시스템 프롬프트 작성을 더욱 효과적으로 만들기 위한 몇 가지 실용적인 팁을 소개합니다.
긍정적인 지시 활용: '~하지 마시오' 보다는 '~하시오'와 같이 긍정적인 형태로 지시하는 것이 AI가 따르기 더 쉽습니다.
예시(Few-shot examples) 포함: 원하는 응답의 형태나 스타일을 보여주는 몇 가지 예시를 시스템 프롬프트에 포함시키면 AI가 더 잘 이해할 수 있습니다.
반복적인 시도와 개선: 시스템 프롬프트 작성은 한 번에 완벽한 결과를 얻기보다는, 여러 번 시도하고 AI의 응답을 보며 개선해나가는 과정입니다.
AI에게 시스템 프롬프트 초안 작성을 요청: 앞서 제시된 다양한 원칙을 모두 고려하여 처음부터 효과적인 시스템 프롬프트를 작성하는 것은 쉽지 않을 수 있습니다. 이럴 때는 AI 에게 도움을 요청하는 것도 좋은 방법입니다.
마크다운 활용: 시스템 프롬프트 내에서 역할, 목표, 제약 조건 등을 마크다운으로 구분하여 작성하면 구조가 명확해져 AI가 지침을 더 잘 파악할 수 있습니다.
💡
프롬에서는 시스템 프롬프트를 마크다운 형식을 활용하여 체계적으로 작성할 수 있는 전용 편집 환경을 제공합니다.