2025년 7월 29일 작성

기본적인 Prompt Engineering 기법들

prompt engineering의 기본적인 기법은 예시 제공 방식과 추론 과정 명시 정도에 따라 Zero-shot, Few-shot, Chain of Thought로 분류되며, 작업 특성에 따라 선택적으로 활용하거나 비교 적용할 수 있습니다.

1. Zero-shot Prompting : 직접적인 지시

  • Zero-shot Prompting은 별도의 예시나 훈련 data 없이 직접적인 지시만으로 작업을 수행하도록 하는 기법입니다.
  • 가장 기본적이고 직관적인 방식으로, prompt 작성이 간단하고 빠르게 적용할 수 있는 장점이 있습니다.
  • model이 사전 학습된 지식만을 바탕으로 답변을 생성하기 때문에, 명확한 지시가 중요합니다.
적용 예시 Prompt 예시
기본 질의 응답 “Python에서 list와 tuple의 차이점을 설명해줘”
Contents 생성 “온라인 쇼핑몰 고객 서비스 안내 문구를 작성해줘”
Data 변환 “다음 문장을 영어로 번역해줘: 안녕하세요”

특징 및 장점

  • 간단한 구조 : 복잡한 설정 없이 바로 원하는 작업을 요청할 수 있습니다.
  • 빠른 적용 : 별도의 예시 준비 과정이 필요하지 않아 즉시 사용 가능합니다.
  • 광범위한 활용 : 대부분의 일반적인 작업에 효과적으로 적용할 수 있습니다.

효과적인 활용 방법

  • 명확한 지시 : 원하는 결과와 작업 내용을 구체적으로 명시합니다.
    • “글을 써줘”보다는 “marketing email을 300자 이내로 작성해줘”가 더 효과적입니다.
  • 제약 조건 명시 : 출력 형식, 길이, style 등의 요구 사항을 포함합니다.
  • 역할 부여 : 필요한 경우 전문가나 특정 역할의 관점에서 답변하도록 요청합니다.

한계점

  • 복잡한 추론 : 다단계 사고가 필요한 복잡한 문제에서는 정확도가 떨어질 수 있습니다.
  • 일관성 부족 : 동일한 prompt에 대해 매번 다른 결과가 나올 가능성이 있습니다.
  • 맥락 이해 : 암묵적인 요구 사항이나 미묘한 뉘앙스를 놓칠 수 있습니다.

2. Few-shot Prompting : 예시 기반 학습

  • Few-shot Prompting은 몇 가지 예시를 제공하여 model이 pattern을 학습하도록 유도하는 기법입니다.
  • 예시를 통해 원하는 출력 형태와 작업 방식을 명확히 전달할 수 있어 Zero-shot보다 일관성 있는 결과를 얻을 수 있습니다.
  • 일반적으로 2-5개의 예시를 제공하며, 더 많은 예시가 항상 더 나은 결과를 보장하지는 않습니다.

특징 및 장점

  • Pattern 학습 : 제공된 예시를 통해 원하는 작업 방식을 이해합니다.
  • 일관성 향상 : 동일한 형식과 스타일로 결과를 생성합니다.
  • 정확도 개선 : Zero-shot 대비 더 정확하고 예측 가능한 결과를 얻을 수 있습니다.

효과적인 예시 구성 방법

  • 다양성 확보 : 서로 다른 유형의 입력에 대한 예시를 포함합니다.
  • 품질 중시 : 완벽하고 이상적인 출력을 예시로 제공합니다.
  • 형식 통일 : 모든 예시가 동일한 구조와 형식을 따르도록 합니다.
  • 적절한 개수 : 너무 많은 예시는 오히려 혼란을 줄 수 있으므로 2-5개 정도가 적절합니다.

실제 적용 예시

  • Few-shot Prompting에서는 항상 예시를 포함합니다.

감정 분석 작업

다음 문장들의 감정을 분석해주세요:

예시 1:
입력: "오늘 정말 기분이 좋아요!"
출력: 긍정적

예시 2:
입력: "이 영화는 정말 지루했어요."
출력: 부정적

예시 3:
입력: "날씨가 흐리네요."
출력: 중립적

이제 다음 문장을 분석해주세요:
입력: "새로운 프로젝트가 시작되어 설렙니다."

Data 변환 작업

고객 정보를 JSON 형식으로 변환해주세요:

예시 1:
입력: 이름: 김철수, 나이: 30, 직업: 개발자
출력: {"name": "김철수", "age": 30, "job": "개발자"}

예시 2:
입력: 이름: 박영희, 나이: 25, 직업: 디자이너
출력: {"name": "박영희", "age": 25, "job": "디자이너"}

이제 다음을 변환해주세요:
입력: 이름: 이민수, 나이: 28, 직업: 마케터

주의 사항

  • 편향 방지 : 예시 선택 시 특정 방향으로 치우치지 않도록 주의합니다.
  • 예시 품질 : 잘못된 예시는 전체 결과의 품질을 떨어뜨릴 수 있습니다.
  • 과도한 의존 : 예시에만 의존하지 말고 명확한 지시도 함께 제공합니다.

3. Chain of Thought Prompting : 단계적 사고

  • Chain of Thought(CoT) Prompting은 단계별 사고 과정을 명시하여 복잡한 추론을 돕는 기법입니다.
    • Model이 중간 추론 단계를 거쳐 최종 답에 도달하도록 유도하여, 복잡한 문제에 대한 정확도를 크게 향상시킵니다.
  • CoT Prompting은 분석적이고 체계적인 사고 과정을 통해 model이 문제를 해결하도록 유도합니다.
    1. 사고 과정 분해 : 복잡한 문제를 여러 단계로 나누어 접근합니다.
    2. 중간 단계 명시 : 각 추론 단계를 명확히 표현하도록 유도합니다.
    3. 논리적 연결 : 각 단계 간의 논리적 관계를 명확히 합니다.
  • 수학 문제, 논리적 추론, 다단계 분석 같은 복잡한 문제 해결에 효과적입니다.
    • 복잡한 연산이나 다단계 계산 문제, 확률/통계 문제 해결, 논리 퍼즐이나 수학적 추론 등의 수학적 계산에서 유용합니다.
    • 원인과 결과 분석, 다양한 관점에서의 문제 접근, 비교 분석 및 평가 등의 분석적 사고가 필요한 작업에 적합합니다.
    • 장단점 분석, 위험 요소 평가, 단계별 실행 계획 수립 등의 의사 결정 지원에도 효과적입니다.

CoT 적용해보기

  • 기본적인 CoT 구조는 문제와 함께 단계별로 생각해보는 형식이며, 필요에 따라 예시를 포함시킬 수도 있습니다.

기본적인 CoT 구조

문제: [복잡한 문제 제시]

단계별로 생각해보겠습니다:
1. [첫 번째 분석 단계]
2. [두 번째 분석 단계]
3. [세 번째 분석 단계]
...
따라서 답은 [최종 결과]입니다.

예시를 포함한 CoT

문제: 한 상점에서 사과 3개와 바나나 2개를 샀는데, 사과는 개당 800원, 바나나는 개당 500원입니다. 총 얼마를 지불해야 할까요?

생각해보겠습니다:
1. 사과 비용 계산: 3개 × 800원 = 2,400원
2. 바나나 비용 계산: 2개 × 500원 = 1,000원  
3. 총 비용 계산: 2,400원 + 1,000원 = 3,400원

따라서 총 3,400원을 지불해야 합니다.

이제 다음 문제를 같은 방식으로 해결해주세요:
문제: 한 회사에서 직원 15명에게 각각 월급 300만원을 지급합니다. 1년 동안의 총 인건비는 얼마일까요?

CoT 활용 고급 기법

  • CoT를 더욱 발전시킨 다양한 기법들이 존재합니다.

Self-Consistency CoT

  • 동일한 문제에 대해 여러 번의 CoT 추론을 수행합니다.
  • 가장 일관성 있는 답을 최종 결과로 선택합니다.
문제: 5명의 학생이 시험을 봤습니다. 각 학생의 점수는 85, 90, 78, 92, 88입니다. 평균 점수를 구해주세요.

Zero-shot CoT

  • 예시 없이 “단계별로 생각해보겠습니다”와 같은 trigger phrase를 사용합니다.
  • Few-shot 예시 없이도 CoT 방식을 유도할 수 있습니다.

주의 사항 및 한계

  • 추론 과정의 정확성 : 중간 단계에서 오류가 발생하면 최종 결과도 틀릴 수 있습니다.
  • 길이 증가 : 응답이 길어져 처리 시간과 비용이 증가할 수 있습니다.
  • 과도한 복잡화 : 단순한 문제에 적용하면 오히려 비효율적일 수 있습니다.

적절한 방법 선택하기

  • 작업의 특성과 요구되는 정확도에 따라 적절한 기법을 선택하는 것이 중요합니다.
  • 각 기법의 장단점을 이해하고 상황에 맞는 최적의 접근 방법을 결정해야 합니다.

상황별 권장 기법

상황 권장 기법 이유
간단한 질의 응답 Zero-shot 빠르고 효율적
형식이 중요한 작업 Few-shot 일관성 있는 출력
복잡한 계산 문제 Chain of Thought 정확한 추론 과정
창작 활동 Zero-shot 또는 Few-shot 창의성과 다양성
분석 작업 Chain of Thought 체계적 접근

기법 조합 활용

  • 순차적 적용 : Zero-shot으로 시작하여 결과가 부족할 경우 Few-shot이나 CoT로 발전시킵니다.
  • Hybrid 접근 : Few-shot과 CoT를 결합하여 예시와 함께 추론 과정을 제시합니다.
  • 반복적 개선 : 초기 결과를 바탕으로 prompt를 수정하며 점진적으로 개선합니다.

성능 평가 기준

  • 정확성 : 원하는 결과와의 일치도.
  • 일관성 : 동일한 입력에 대한 결과의 안정성.
  • 효율성 : 시간과 resource 사용량.
  • 확장성 : 다양한 상황에 적용 가능한 정도.

목차