시스템 프롬프트
AI 모델의 행동, 역할, 제약 조건, 출력 형식을 설정하는 초기 지시문으로, 사용자의 개별 메시지(user prompt)와 구분되어 전체 대화 세션에 걸쳐 영향을 미친다. 비유하면, 시스템 프롬프트는 '대화가 시작되기 전에 AI에게 주는 비밀 브리핑(briefing)'이다. 바이브 코딩에서 시스템 프롬프트는 AI의 코딩 스타일을 결정하는 핵심 요소로, '당신은 시니어 TypeScript 개발자입니다. strict mode를 사용하고, 모든 타입을 명시적으로 선언하세요. any 타입 사용을 금지합니다.'처럼 역할과 제약을 설정하면, 이후 모든 코드 생성에 이 규칙이 적용된다. Cursor의 .cursorrules, Claude Code의 CLAUDE.md, Windsurf의 .windsurfrules 등 프로젝트별 규칙 파일은 사실상 해당 도구에 특화된 시스템 프롬프트이다. API를 직접 사용할 때는 system 역할의 메시지로 전달하며, 사용자 메시지보다 우선순위가 높지만, 프롬프트 인젝션 공격에 의해 우회될 수 있으므로 보안에 주의해야 한다.
예시
'당신은 시니어 TypeScript 개발자입니다. 코드를 생성할 때 항상 strict mode를 사용하고, 모든 타입을 명시적으로 선언하세요.'
카테고리
프롬프트 엔지니어링
난이도
intermediate
태그
시스템프롬프트 · 역할설정
함께 읽기
연관 용어
프롬프트 엔지니어링
프롬프트 엔지니어링
AI 모델에게 원하는 출력을 얻기 위해 입력 텍스트(프롬프트)를 체계적으로 설계하는 기술로, '모델에게 무엇을 물을 것인가'를 다루는 학문이자 실무이다. 같은 AI 모델이라도 프롬프트를 어떻게 구성하느냐에 따라 출력의 품질이 극적으로 달라진다. 예를 들어, '로그인 만들어줘'라는 막연한 프롬프트 대신 'Next.js 14 App Router를 사용하여 이메일/비밀번호 로그인 기능을 구현해줘. bcrypt로 비밀번호 해싱, JWT 토큰 발급, 7일 만료, httpOnly 쿠키 저장. TypeScript strict mode로 작성해줘.'처럼 구체적으로 지시하면 훨씬 정확한 코드를 생성한다. 핵심 기법으로는 제로샷 프롬프팅(예시 없이 직접 지시), 퓨샷 프롬프팅(예시를 먼저 보여준 후 요청), 사고의 연쇄(CoT, 단계별 추론 유도), 시스템 프롬프트(역할·제약 조건 설정) 등이 있다. 2022~2023년에 가장 주목받은 AI 관련 기술이며, 이후 컨텍스트 엔지니어링('모델에게 무엇을 보여줄 것인가')과 하네스 엔지니어링('전체 시스템을 어떻게 운영할 것인가')으로 확장되었지만, 여전히 AI와 소통하는 가장 기본적이고 필수적인 스킬이다.
프롬프트 엔지니어링
제로샷 프롬프팅
예시를 제공하지 않고 직접 지시만으로 AI에게 작업을 요청하는 가장 기본적인 프롬프팅 방식이다. 'Zero-Shot'은 '훈련 데이터에서 한 번도 보지 못한 작업(zero examples)'이라는 머신러닝 용어에서 유래했지만, 바이브 코딩에서는 단순히 '예시 없이 곧바로 요청한다'는 의미로 통용된다. 일상적인 코딩 작업에서 가장 빈번하게 사용되는 방식이며, 'Python으로 피보나치 함수를 작성해줘', 'React로 카운터 컴포넌트를 만들어줘'처럼 충분히 명확한 지시라면 추가 예시 없이도 좋은 결과를 얻을 수 있다. 다만, 특정 코딩 스타일이나 출력 형식을 원하는 경우에는 퓨샷 프롬프팅(Few-Shot)이 더 효과적이다. 모델의 사전 학습된 지식만으로 응답하므로, 모델이 이미 잘 알고 있는 표준적인 작업에서 가장 잘 동작한다.
프롬프트 엔지니어링
퓨샷 프롬프팅
하나 이상의 입출력 예시(example pair)를 먼저 보여준 후, 동일한 패턴으로 새로운 작업을 수행하도록 요청하는 프롬프팅 기법이다. 'Few-Shot'은 '소수의 예시(few examples)'라는 의미로, AI에게 '이런 식으로 해줘'라는 기대 형식을 예시를 통해 전달한다. 바이브 코딩에서는 특히 다음과 같은 상황에서 효과적이다: 특정 코딩 스타일을 일관되게 유지하고 싶을 때(예: '이전 컴포넌트 A는 이렇게 작성했으니, 새 컴포넌트 B도 같은 패턴으로 작성해줘'), 데이터 변환 규칙을 정의할 때(예: '입력→출력 매핑 3개를 보여주고, 4번째를 요청'), API 응답 형식을 통일하고 싶을 때 등. 예시의 수가 많을수록 패턴을 더 정확히 파악하지만, 컨텍스트 윈도우를 더 많이 소비하므로 2~5개의 예시가 일반적으로 가장 효율적이다. 제로샷 프롬프팅으로 원하는 결과를 얻지 못할 때, 예시를 추가하여 퓨샷으로 전환하면 품질이 크게 향상되는 경우가 많다.