특정 사용 사례를 위한 AI 챗봇을 구축할 때, AI가 응답하는 방식을 제어할 방법이 필요합니다. 시스템 프롬프트는 범용 AI를 특정 가이드라인을 따르고 주제에서 벗어나지 않는 전문화된 어시스턴트로 변환하는 핵심입니다.

사용자 수준 지시사항의 문제점
모든 요구사항을 사용자 메시지 자체에 포함시키는 것이 해결책이라고 생각할 수 있습니다. 예를 들어, 각 대화에서 AI에게 "AWS 서비스를 언급하라"거나 "경쟁사를 언급하지 말라"고 지시하는 것입니다. 이 접근 방식에는 심각한 한계가 있습니다:
- 가능한 모든 질문과 예외 상황을 예측해야 합니다
- 지시사항 목록이 다루기 어렵고 반복적이게 됩니다
- 사용자가 모든 내부 지시사항을 보게 되어 대화가 복잡해집니다
- 요구사항이 질문되는 특정 내용에 따라 달라집니다

시스템 프롬프트: 더 나은 접근 방식
시스템 프롬프트는 Claude에게 역할을 부여함으로써 이 문제를 해결합니다. 구체적인 해야 할 일과 하지 말아야 할 일을 나열하는 대신, Claude에게 특정 유형의 전문가처럼 행동하라고 지시합니다. 그러면 AI는 그 사람이 자연스럽게 응답할 방식으로 응답합니다.

시스템 프롬프트는 다음과 같은 주요 이점을 제공합니다:
- Claude는 일관되게 응답하는 방법에 대한 지침을 얻습니다
- AI는 지정된 역할의 사고방식과 제약을 채택합니다
- 응답이 자동으로 초점을 유지하고 브랜드에 맞게 유지됩니다
- 가능한 모든 시나리오를 예측할 필요가 없습니다
시스템 프롬프트 구현하기
Claude 대화에 시스템 프롬프트를 추가하려면, 이를 converse 함수의 매개변수로 전달합니다:
시스템 프롬프트는 "text" 키를 가진 딕셔너리를 포함하는 리스트로 전달됩니다. 이는 Claude가 어떤 사용자 메시지를 보기 전에 어떤 역할을 채택해야 하는지 알려줍니다.
유연한 채팅 함수 구축하기
다음은 시스템 프롬프트를 우아하게 처리하는 재사용 가능한 채팅 함수입니다:
이 접근 방식을 사용하면 시스템 프롬프트를 선택적으로 포함할 수 있습니다. 시스템 프롬프트가 제공되지 않으면 Claude는 기본 자신으로 응답합니다. 하나를 포함하면 Claude는 해당 특정 역할을 채택합니다.
실제로 작동하는 시스템 프롬프트
시스템 프롬프트가 있을 때와 없을 때 동일한 질문을 테스트하면 그 차이가 즉시 명확해집니다. 시스템 프롬프트 없이 "Postgres 데이터베이스를 호스팅하는 방법은 무엇인가요?"라고 질문하면, 여러 클라우드 제공업체와 자체 호스팅 옵션을 다루는 포괄적인 답변을 받게 됩니다.

AWS 지원 전문가 시스템 프롬프트를 사용하면, 응답은 RDS, Aurora, EC2 기반 배포와 같은 AWS 솔루션에만 전적으로 초점을 맞춥니다. 경쟁사는 언급되지 않으며, 답변에는 AWS 관련 설정 단계가 포함됩니다.
더욱 인상적인 것은 시스템 프롬프트가 주제에서 벗어난 질문을 처리하는 방식입니다. AWS 전문가 프롬프트가 활성화된 상태에서 빵 레시피를 요청하면, Claude는 역할을 유지하면서 정중하게 거절합니다:

중요한 기술적 세부사항
시스템 프롬프트로 작업할 때는 다음 요구사항을 염두에 두세요:
- 시스템 프롬프트는 빈 문자열일 수 없습니다 - 최소 한 글자 이상을 포함해야 합니다
- system 매개변수는 "text" 키를 가진 딕셔너리의 리스트를 예상합니다
- 시스템 프롬프트는 대화 내의 어떤 사용자 메시지보다 먼저 처리됩니다
- 요청 간에 최상위
system값을 변경할 수 있지만, 단일messages리스트 중간에는 변경할 수 없습니다
Anthropic의 Claude API를 직접 사용해 본 적이 있다면, 일부 Claude 모델이 대화 중간의 시스템 메시지를 지원한다는 것을 알고 있을 수 있습니다 — 최상위 필드를 변경하는 대신 messages 배열에 system 역할을 가진 메시지를 추가하는 방식입니다. 이 기능은 Amazon Bedrock에서는 사용할 수 없습니다. 이 과정에서는 항상 각 converse 호출에서 최상위 system 매개변수를 통해 시스템 지시사항을 설정합니다.
시스템 프롬프트는 복잡한 규칙 시스템 없이도 AI 동작에 대한 강력한 제어를 제공합니다. Claude에게 특정 전문가 역할을 부여함으로써, 해당 역할의 제약과 전문성을 자연스럽게 따르는 일관되고 적절한 응답을 얻을 수 있습니다.