2 분 소요

개요

  • LLM이 원하는 결과를 출력하도록 입력(프롬프트)을 설계하는 기술
  • 별도의 모델 학습 없이 프롬프트 작성만으로 LLM 성능을 크게 향상시킬 수 있음
  • 적용 대상: ChatGPT, Gemini, Claude 등 모든 LLM


기본 프롬프트 구성 요소

  • 지시(Instruction): 모델에게 수행할 작업을 명확히 설명
  • 컨텍스트(Context): 판단에 필요한 배경 정보 제공
  • 입력 데이터(Input): 처리할 실제 데이터
  • 출력 형식(Output Format): 원하는 응답 형식 지정 (JSON, 표, 목록 등)


주요 기법

제로샷 (Zero-shot)

  • 예시 없이 지시만으로 태스크 수행
  • 간단한 작업이나 모델이 이미 잘 알고 있는 태스크에 효과적
다음 텍스트의 감정을 긍정/부정/중립 중 하나로 분류하세요.
텍스트: "오늘 날씨가 정말 좋네요."

퓨샷 (Few-shot)

  • 소수의 예시(shot)를 프롬프트에 포함해 패턴을 보여주고 태스크 수행
  • 특수한 형식이나 모델이 익숙하지 않은 태스크에 효과적
다음 형식으로 날씨를 분류하세요.
예시1: "눈이 왔어요." → 겨울
예시2: "꽃이 피었어요." → 봄
입력: "나뭇잎이 떨어지고 있어요." → ?

사고 연쇄 (CoT, Chain-of-Thought)

  • “단계별로 생각해봐” 또는 추론 과정 예시를 포함해 복잡한 문제 해결
  • 수학, 논리 추론, 멀티스텝 문제에 특히 효과적
Q: 사과 5개가 있는데 3개를 먹고 2개를 더 사면 몇 개?
A: 먼저 5개에서 3개를 빼면 2개가 남습니다.
   그리고 2개를 더 사면 2 + 2 = 4개입니다.
  • Zero-shot CoT: 예시 없이 “Let’s think step by step” 문구 추가

Self-Consistency

  • 동일한 프롬프트로 여러 번 응답 생성 후 다수결로 최종 답 선택
  • CoT와 함께 사용하면 추론 정확도 향상

역할 부여 (Role Prompting)

  • 모델에게 특정 전문가 역할을 부여
  • 톤, 전문성, 시각을 일관되게 유지
당신은 10년 경력의 시니어 백엔드 엔지니어입니다.
다음 코드를 리뷰해주세요: ...

구조화된 출력 요청

  • JSON, Markdown 표, 코드 블록 등 특정 형식으로 출력 요청
  • API 자동화, 파싱, 일관성이 필요한 경우 유용
다음 정보를 JSON 형식으로 추출하세요.
필드: name, age, city
텍스트: "홍길동은 서울에 사는 30세입니다."


고급 기법

RAG (Retrieval-Augmented Generation)

  • 외부 문서 DB에서 관련 정보를 검색해 프롬프트에 삽입
  • 최신 정보 활용, 환각 감소
  • LLM 포스트 참고

ReAct (Reason + Act)

  • 추론(Thought) → 행동(Action) → 관찰(Observation) 사이클 반복
  • 도구(검색, 계산기, API) 호출과 추론을 결합한 에이전트 패턴

프롬프트 체이닝 (Prompt Chaining)

  • 복잡한 작업을 여러 단계의 프롬프트로 분해
  • 각 단계의 출력이 다음 단계의 입력이 됨
  • 예: 문서 요약 → 핵심 주제 추출 → 분류

메타 프롬프트 (Meta Prompt)

  • LLM에게 더 좋은 프롬프트를 직접 생성하도록 요청
  • “다음 태스크에 더 효과적인 프롬프트를 작성해줘”


시스템 프롬프트 (System Prompt)

  • API 사용 시 역할, 제약, 톤을 설정하는 고정 지시문
  • 사용자 메시지보다 높은 우선순위
  • 예시
당신은 친절한 고객 서비스 담당자입니다.
- 항상 한국어로 응답하세요.
- 경쟁사 제품을 언급하지 마세요.
- 모르는 내용은 정직하게 모른다고 답하세요.


프롬프트 작성 원칙

  • 명확성: 모호한 표현 지양, 구체적으로 지시
  • 맥락 제공: 필요한 배경 정보를 충분히 포함
  • 출력 형식 지정: 원하는 응답 구조를 명시
  • 제약 조건 명시: 길이, 언어, 형식 등 제한 사항 기재
  • 반복 테스트: 다양한 프롬프트를 시도하고 결과 비교
  • 부정 지시 주의: “하지 마라”보다 “이렇게 해라”가 더 효과적인 경우 많음


관련 포스트