고급 프롬프트 엔지니어링 기법 완벽 가이드

Generate Knowledge부터 RAG, ReAct까지 - 8가지 Advanced Techniques 총정리

프롬프트 엔지니어링의 고급 기법 8가지를 체계적으로 분류하고 비교 분석한다. Generate Knowledge Prompting(Liu et al. 2021), Prompt Chaining, Tree of Thoughts(Yao et al. 2024), RAG(Lewis et al. 2020), Automatic Prompt Engineer(Zhou et al. 2022), Active-Prompt, Directional Stimulus Prompting, ReAct의 핵심 원리와 작동 메커니즘을 설명한다. 각 기법의 적용 시나리오, 장단점, 리소스 제약별 선택 전략을 제시하고, RAG+CoT, Prompt Chaining+RAG 등 기법 간 조합 패턴을 분석한다. 문제 유형별 최적 기법 매핑, 비용-성능-확장성 트레이드오프, 실무 적용 가이드를 통해 복잡한 AI 시스템 구축을 위한 전략적 로드맵을 제공한다.

Prompt Engineering
LLM
AI
Agent
저자

Kwangmin Kim

공개

2025년 01월 31일

1 들어가며

프롬프트 엔지니어링은 대형 언어 모델(LLM)의 성능을 최대한 끌어내기 위한 핵심 기술이다. 기본적인 Zero-shot이나 Few-shot 프롬프팅으로 시작했다면, 이제는 더 복잡하고 전략적인 과제를 해결하기 위한 고급 기법들을 익힐 차례다.

Advanced Prompt Engineering Techniques 8가지를 체계적으로 다룬다. 학술 연구에 기반한 검증된 기법들을 실무 관점에서 분석하고, 각 기법의 작동 원리, 적용 시나리오, 장단점을 명확히 제시한다.

1.1 왜 고급 기법이 필요한가?

기본 기법(Zero-shot, Few-shot, CoT)만으로는 다음과 같은 한계가 있다:

한계 1: 지식의 한계
→ 모델 학습 시점 이후의 정보는 모름
→ 도메인 특화 지식 부족

한계 2: 복잡한 작업의 한계
→ 여러 단계가 필요한 작업은 단일 프롬프트로 어려움
→ 중간 검증이나 수정 불가능

한계 3: 최적화의 한계
→ 프롬프트 품질이 성능에 결정적
→ 수동 최적화는 시간과 전문성 필요

한계 4: 도구 활용의 한계
→ LLM 단독으로는 계산, 검색 등 외부 작업 불가
→ 실제 세계와의 상호작용 제한적

고급 기법들은 이러한 한계를 극복하기 위해 개발되었다.

2 프롬프트 엔지니어링 기법의 진화

graph TD
    A[Basic Prompting] --> B[Zero-Shot]
    A --> C[Few-Shot]
    C --> D[Chain-of-Thought]
    D --> E[Self-Consistency]
    
    E --> F[고급 기법 분기]
    
    F --> G[지식 활용<br/>Generate Knowledge]
    F --> H[작업 분해<br/>Prompt Chaining]
    F --> I[탐색 전략<br/>Tree of Thoughts]
    F --> J[외부 지식<br/>RAG]
    F --> K[자동 최적화<br/>APE/OPRO]
    F --> L[도구 활용<br/>ReAct]
    
    style A fill:#e1f5ff
    style F fill:#fff4e1
    style G fill:#f0f0f0
    style H fill:#f0f0f0
    style I fill:#f0f0f0
    style J fill:#ffe1e1
    style K fill:#f0f0f0
    style L fill:#ffe1e1

3 프롬프트 엔지니어링 기법의 분류

프롬프트 엔지니어링 기법은 크게 세 가지 레벨로 구분될 수 있다:

3.1 Basic Level

기본적인 프롬프팅 기법으로, 대부분의 일반적인 태스크에 적용 가능하다:

  • Zero-Shot Prompting: 예시 없이 직접 지시
  • Few-Shot Prompting: 몇 개의 예시를 제공하여 패턴 학습
  • Chain-of-Thought (CoT) Prompting: 단계별 추론 과정 유도
  • Self-Consistency: 여러 추론 경로를 생성하고 다수결로 답 선택

3.2 Advanced Level

복잡한 문제 해결과 성능 최적화를 위한 고급 기법들:

  • Generate Knowledge Prompting: 모델이 스스로 관련 지식을 생성한 후 답변
  • Prompt Chaining: 복잡한 작업을 하위 작업으로 분해하여 순차 처리
  • Tree of Thoughts (ToT): 여러 추론 경로를 트리 구조로 탐색
  • Retrieval Augmented Generation (RAG): 외부 지식 베이스에서 정보 검색 후 생성
  • Automatic Prompt Engineer (APE): 프롬프트 자동 생성 및 최적화
  • Active-Prompt: 불확실한 예시를 선별하여 어노테이션
  • Directional Stimulus Prompting: 특정 방향으로 응답 유도
  • ReAct: 추론(Reasoning)과 행동(Acting)을 결합

3.3 Applications Level

실무에서 바로 적용 가능한 응용 분야:

  • 데이터 생성 및 분류
  • 코드 생성 및 디버깅
  • 함수 호출(Function Calling)

4 기법별 특성 한눈에 비교

기법 복잡도 비용 정확도 실시간성 실무 활용도
Generate Knowledge ⭐⭐ 중간 ⭐⭐⭐ 빠름 ⭐⭐⭐
Prompt Chaining ⭐⭐ 중간 ⭐⭐⭐⭐ 보통 ⭐⭐⭐⭐⭐
Tree of Thoughts ⭐⭐⭐⭐ 매우 높음 ⭐⭐⭐⭐⭐ 느림 ⭐⭐
RAG ⭐⭐⭐ 높음 ⭐⭐⭐⭐⭐ 보통 ⭐⭐⭐⭐⭐
APE/OPRO ⭐⭐⭐⭐ 매우 높음 ⭐⭐⭐⭐ 느림 ⭐⭐⭐
Active-Prompt ⭐⭐⭐ 중간 ⭐⭐⭐⭐ 보통 ⭐⭐
Directional Stimulus 낮음 ⭐⭐⭐ 빠름 ⭐⭐⭐
ReAct ⭐⭐⭐ 높음 ⭐⭐⭐⭐ 느림 ⭐⭐⭐⭐⭐

5 고급 기법 전체 개요

프롬프트 엔지니어링 기법 분류

5.1 Generate Knowledge Prompting

핵심 아이디어: 할루시네이션을 줄이고 추론 능력을 향상시키기 위해, 모델이 먼저 관련 지식을 생성하도록 한 후 그 지식을 활용해 답변을 생성한다.

작동 원리:

1단계: 지식 생성
프롬프트: "다음 질문에 답하기 위해 필요한 지식을 생성하세요: [질문]"
→ 모델이 관련 사실, 개념, 원리를 생성

2단계: 지식 통합
생성된 지식들을 질문과 함께 통합

3단계: 답변 생성
프롬프트: "다음 지식을 바탕으로 질문에 답하세요:
지식: [생성된 지식]
질문: [질문]"

실제 예시:

질문: "골프공 표면에 작은 구멍들이 있는 이유는?"

[1단계] 지식 생성:
"골프공의 표면 구조는 공기역학과 관련이 있다.
매끄러운 표면보다 딤플(작은 구멍)이 있는 표면이
공기 저항을 줄이고 양력을 증가시킨다.
이는 베르누이 원리와 경계층 이론으로 설명된다."

[2단계] 지식 기반 답변:
"골프공 표면의 딤플은 공기역학적 효율을 높이기 위함이다.
딤플이 난기류를 생성하여 공기 저항을 줄이고,
결과적으로 비행 거리를 약 2배 증가시킨다."

언제 사용하나요? - ✅ 상식 추론(commonsense reasoning)이 필요한 문제 - ✅ 배경 지식이 필요하지만 외부 검색은 불가능한 상황 - ✅ 모델의 내재된 지식을 최대한 활용하고 싶을 때 - ❌ 최신 정보나 사실 확인이 중요한 경우 (RAG 추천)

주요 특징: - Liu et al. (2021) 연구에서 제안 - QASC 데이터셋에서 9% 성능 향상 - 외부 검색 없이 모델 내부 지식만 활용 - 할루시네이션 위험은 여전히 존재

실무 적용도: ⭐⭐⭐ (RAG 구축 전 대안으로 유용)

5.2 Prompt Chaining

핵심 아이디어: 복잡한 작업을 더 작고 관리 가능한 하위 작업으로 분해하여, 각 단계의 출력이 다음 단계의 입력으로 사용되도록 연결한다.

작동 원리:

복잡한 작업: "고객 피드백을 분석하고 개선 계획을 작성하라"

→ 단계 1: 피드백 분류
   입력: 원본 피드백
   출력: 긍정/부정/제안으로 분류된 피드백

→ 단계 2: 핵심 이슈 추출
   입력: 분류된 피드백
   출력: 상위 5개 이슈 목록

→ 단계 3: 개선 계획 초안
   입력: 핵심 이슈 목록
   출력: 각 이슈별 해결 방안

→ 단계 4: 최종 보고서 작성
   입력: 개선 계획 초안
   출력: 경영진용 요약 보고서

실제 예시 - 논문 요약 작업:

# 단계 1: 주요 섹션 추출
prompt_1 = "다음 논문에서 Introduction, Methods, Results, Conclusion을 추출하세요"
sections = llm.generate(prompt_1, paper_text)

# 단계 2: 각 섹션 요약
summaries = []
for section in sections:
    prompt_2 = f"다음 섹션을 2-3문장으로 요약하세요: {section}"
    summary = llm.generate(prompt_2)
    summaries.append(summary)

# 단계 3: 전체 통합 요약
prompt_3 = f"다음 요약들을 하나의 단락으로 통합하세요: {summaries}"
final_summary = llm.generate(prompt_3)

언제 사용하나? - ✅ 다단계 작업 (리서치 → 계획 → 작성 → 포맷팅) - ✅ 복잡한 지시사항을 단순화해야 할 때 - ✅ 출력 검증이 필요한 경우 - ✅ 병렬 처리가 가능한 독립적 하위 작업들 - ✅ 중간 결과를 저장하거나 검토해야 할 때

주요 특징: - 투명성과 제어 가능성 향상 - 각 단계별 성능 최적화 가능 - 중간 결과 검증 및 수정 가능 - 디버깅이 쉬움 (어느 단계에서 문제인지 파악 용이)

장점:

1. 모듈화: 각 단계를 독립적으로 개선
2. 재사용성: 공통 단계를 여러 워크플로우에서 재사용
3. 병렬화: 독립적인 단계는 동시 실행 가능
4. 신뢰성: 각 단계별 오류 처리

단점:

1. 지연 시간: 순차 실행으로 인한 총 시간 증가
2. 비용: 여러 API 호출로 인한 비용 증가
3. 오류 전파: 초기 단계 오류가 후속 단계에 영향

실무 적용도: ⭐⭐⭐⭐⭐ (가장 실용적이고 범용적)

5.3 Tree of Thoughts (ToT)

핵심 아이디어: Chain-of-Thought를 확장하여, 여러 추론 경로를 트리 구조로 탐색하고 중간에 백트래킹(회귀)할 수 있다.

언제 사용하나요? - 전략적 계획이 필요한 복잡한 문제 - 탐색과 역추적이 필요한 퍼즐이나 게임 - 최적 해를 찾기 위해 여러 경로를 평가해야 할 때

주요 특징: - 4단계 프로세스: 생각 분해 → 생각 생성 → 생각 평가 → 검색 알고리즘 - CoT와 달리 회귀(backtracking) 가능 - 높은 연산 비용 (여러 경로 탐색)

주의사항: GPT-4/4o가 대부분의 태스크에서 충분히 좋은 성능을 보이므로, ToT가 실제로 필요한 경우는 제한적

5.4 Retrieval Augmented Generation (RAG)

핵심 아이디어: 질문에 답하기 전에 외부 데이터베이스나 지식베이스에서 관련 정보를 검색하여, 그 정보를 바탕으로 답변을 생성.

언제 사용하나요? - 모델이 학습하지 않은 최신 정보나 도메인 특화 지식이 필요할 때 - 할루시네이션을 줄이고 사실 기반 답변을 보장하고 싶을 때 - 특정 문서나 데이터베이스 내에서만 답변을 생성해야 할 때 - 정보가 자주 업데이트되는 환경

주요 특징: - 2단계 프로세스: Indexing (지식베이스 준비) → Query (검색 및 생성) - 검색 알고리즘: TF-IDF, BM25, Dense Retrieval 등 - 프롬프트 엔지니어링과 결합하여 성능 극대화

실무 적용도: ⭐⭐⭐⭐⭐ (가장 널리 사용되는 고급 기법)

5.5 Automatic Prompt Engineer (APE)

핵심 아이디어: 사람이 수동으로 프롬프트를 작성하는 대신, LLM을 사용하여 프롬프트를 자동으로 생성하고 최적화

언제 사용하나요? - 최적의 프롬프트를 찾기 위한 시간과 리소스가 충분할 때 - 프롬프트 성능이 매우 중요한 프로덕션 환경 - 대규모 벤치마크에서 성능 개선이 필요할 때

주요 특징: - 6단계 프로세스: 후보 생성 → 점수 매기기 → 제거 → 선정 → 샘플링 → 최종 선정 - 사람이 설계한 프롬프트보다 더 나은 결과 발견 (예: “Let’s work this out step by step to be sure we have the right answer”) - OPRO 등 최적화 기반 접근법으로 발전

5.6 Active-Prompt

핵심 아이디어: 모델이 가장 불확실해하는 예시들을 선별하여 사람이 어노테이션하고, 이를 Few-shot 예시로 활용.

언제 사용하나요? - 어노테이션 비용을 최소화하면서 성능을 극대화하고 싶을 때 - 복잡하거나 애매한 태스크에서 Few-shot 학습이 필요할 때

5.7 Directional Stimulus Prompting

핵심 아이디어: 특정 방향이나 관점으로 모델의 응답을 유도하는 “힌트”를 제공

언제 사용하나요? - 원하는 답변 스타일이나 접근 방식이 명확할 때 - 모델이 특정 프레임워크나 방법론을 따르도록 하고 싶을 때

5.8 ReAct (Reasoning + Acting)

핵심 아이디어: 추론(Reasoning) 단계와 행동(Acting) 단계를 번갈아 수행하며, 외부 도구나 API를 호출하여 정보를 수집하고 문제를 해결

언제 사용하나요? - 외부 도구 사용이 필요한 복잡한 태스크 (예: 계산기, 검색 엔진, API 호출) - Agent 기반 시스템 구축 - 다단계 의사결정이 필요한 경우

주요 특징: - Thought → Action → Observation의 반복 사이클 - LangChain, AutoGPT 등 에이전트 프레임워크의 기반

6 기법 선택 가이드

어떤 상황에서 어떤 기법을 사용해야 할까?

6.1 문제 유형별 추천

문제 유형 추천 기법 이유
최신 정보 필요 RAG 외부 지식베이스 활용
복잡한 다단계 작업 Prompt Chaining 작업 분해 및 순차 처리
전략적 계획/퍼즐 Tree of Thoughts 여러 경로 탐색 및 백트래킹
상식 추론 Generate Knowledge 내재 지식 활용
프롬프트 최적화 APE/OPRO 자동 프롬프트 생성
도구 사용 필요 ReAct 추론과 행동 결합

6.2 리소스 제약별 고려사항

시간/비용이 제한적일 때: - Basic 기법 (Few-shot, CoT) 우선 시도 - Prompt Chaining으로 복잡도 관리 - RAG는 인프라 구축 필요하지만 장기적으로 효율적

성능이 최우선일 때: - RAG + CoT 조합 - Tree of Thoughts (연산 비용 높음) - APE로 프롬프트 최적화

확장성이 중요할 때: - RAG (지식 업데이트 용이) - Prompt Chaining (모듈화)

6.3 조합 전략 및 실전 패턴

고급 기법들은 독립적으로 사용될 수도 있지만, 조합하여 사용할 때 더 강력하다.

6.3.1 패턴 1: RAG + CoT (가장 효과적)

시나리오: 기술 문서 기반 문제 해결

1. RAG로 관련 문서 검색
   "Python asyncio 동시성 제어 방법"
   → 공식 문서 3개, Stack Overflow 2개 검색

2. CoT로 단계별 추론
   "검색된 정보를 바탕으로 단계적으로 해결 방법을 설명하세요"
   → 상세한 구현 가이드 생성

효과:
- 사실 기반 답변 (RAG)
- 논리적 설명 (CoT)
- 할루시네이션 최소화

6.3.2 패턴 2: Prompt Chaining + RAG

시나리오: 경쟁사 분석 보고서 작성

단계 1: 정보 수집 (RAG)
- 회사 A 최신 뉴스 검색
- 회사 B 재무 정보 검색
- 시장 동향 보고서 검색

단계 2: 데이터 분석 (CoT)
- 검색된 정보 종합 분석
- 강점/약점 파악

단계 3: 전략 제안 (Generate Knowledge)
- 내부 지식으로 전략 도출

단계 4: 보고서 작성 (일반 프롬프트)
- 최종 포맷팅

효과:
- 체계적 정보 수집
- 각 단계별 품질 관리
- 최신 데이터 + 전문 분석

6.3.3 패턴 3: Generate Knowledge + Self-Consistency

시나리오: 복잡한 윤리적 질문

1. Generate Knowledge (5회)
   서로 다른 관점의 배경 지식 생성:
   - 법적 관점
   - 윤리적 관점
   - 경제적 관점
   - 사회적 관점
   - 역사적 관점

2. 각 지식 기반으로 답변 생성 (5개)

3. Self-Consistency로 다수결
   → 가장 일관된 결론 도출

효과:
- 다각도 분석
- 편향 감소
- 신뢰도 향상

6.3.4 패턴 4: ReAct + RAG (Agent 시스템)

ReAct = Reasoning (Thought) + Action + Decision Cycle + Evaluation

시나리오: 자동 리서치 에이전트

Thought: "Python 3.12의 새로운 기능을 조사해야 함"
Action: RAG.search("Python 3.12 new features")
Observation: "PEP 701, improved error messages, ..."

Thought: "각 기능의 예제 코드가 필요함"
Action: RAG.search("Python 3.12 PEP 701 examples")
Observation: [코드 예시들]

Thought: "이제 요약 보고서를 작성할 수 있음"
Action: Generate_Report(collected_info)
Observation: [최종 보고서]

Evaluation: 기 정해진 평가 기준에 부합하면 바로 출력 아니면 재추론 후 재 행동

효과:
- 자율적 정보 수집
- 동적 의사결정
- 완전 자동화

6.3.5 패턴 5: Prompt Chaining + Self-Consistency (고품질 출력)

시나리오: 중요한 비즈니스 이메일 작성

단계 1: 초안 작성 (Self-Consistency n=5)
   → 5개 초안 중 최고 선택

단계 2: 톤 조정 (Self-Consistency n=3)
   → 3개 버전 중 최적 선택

단계 3: 최종 검토
   → 오탈자, 형식 확인

효과:
- 각 단계에서 최고 품질
- 신중한 의사결정
- 전문적 결과물

6.4 조합 전략 선택 가이드

목표 추천 조합 비용 복잡도
사실 기반 답변 RAG + CoT 중간 ⭐⭐
복잡한 워크플로우 Prompt Chaining + RAG 높음 ⭐⭐⭐
최고 정확도 RAG + Self-Consistency 매우 높음 ⭐⭐
자율 에이전트 ReAct + RAG 높음 ⭐⭐⭐⭐
다각도 분석 Generate Knowledge + Self-Consistency 중간 ⭐⭐
고품질 콘텐츠 Prompt Chaining + Self-Consistency 매우 높음 ⭐⭐⭐

6.5 실전 구현 예시

# 패턴 1: RAG + CoT 구현
class RAGCoTSolver:
    def __init__(self, llm, retriever):
        self.llm = llm
        self.retriever = retriever
    
    def solve(self, question):
        # 1. RAG: 관련 문서 검색
        docs = self.retriever.search(question, top_k=3)
        
        # 2. CoT: 단계별 추론
        prompt = f"""
다음 문서들을 참고하여 질문에 답하세요:

문서들:
{docs}

질문: {question}

단계적으로 생각하며 답변하세요:
1. 문서에서 관련 정보 찾기
2. 정보들을 종합
3. 최종 답변 도출
"""
        
        return self.llm.generate(prompt)

# 패턴 2: Prompt Chaining + RAG 구현
class ChainedRAGWorkflow:
    def __init__(self, llm, retriever):
        self.llm = llm
        self.retriever = retriever
    
    def run(self, task):
        results = {}
        
        # 단계 1: 정보 수집
        for subtask in task.get_subtasks():
            results[subtask] = self.retriever.search(subtask)
        
        # 단계 2: 분석
        analysis_prompt = f"다음 정보를 분석하세요: {results}"
        results['analysis'] = self.llm.generate(analysis_prompt)
        
        # 단계 3: 최종 보고서
        report_prompt = f"분석 결과를 보고서로 작성하세요: {results['analysis']}"
        results['report'] = self.llm.generate(report_prompt)
        
        return results['report']

7 마무리: 고급 기법 마스터 로드맵

7.1 학습 순서 추천

1단계: 기초 다지기 (필수)
- Zero-Shot, Few-Shot 완벽 이해
- Chain-of-Thought 실습
- Self-Consistency 적용

2단계: 실무 핵심 (우선순위 높음)
- Prompt Chaining 마스터 ⭐⭐⭐⭐⭐
- RAG 구축 및 최적화 ⭐⭐⭐⭐⭐
- ReAct Agent 구현 ⭐⭐⭐⭐

3단계: 최적화 기법 (선택적)
- Generate Knowledge 활용
- Directional Stimulus 적용
- Active-Prompt 시도

4단계: 고급 최적화 (특수 목적)
- Tree of Thoughts (복잡한 퍼즐/계획)
- APE/OPRO (프롬프트 자동 최적화)

7.2 실무 적용 체크리스트

프로젝트 시작 전 확인사항:

□ 문제 유형 파악 (분류/생성/추론/검색)
□ 리소스 제약 확인 (시간/비용/인프라)
□ 정확도 요구사항 파악
□ 실시간성 요구사항 확인
□ 확장성 고려사항 검토

기법 선택 결정 트리:

질문 1: 외부 지식이 필요한가?
→ YES: RAG 고려
→ NO: 다음 질문

질문 2: 여러 단계로 나눌 수 있는가?
→ YES: Prompt Chaining 고려
→ NO: 다음 질문

질문 3: 도구/API 호출이 필요한가?
→ YES: ReAct 고려
→ NO: 다음 질문

질문 4: 최고 정확도가 필요한가?
→ YES: Self-Consistency 추가
→ NO: Basic CoT로 시작

7.3 성능 최적화 팁

  1. 점진적 개선 접근
단계 1: Zero-Shot으로 베이스라인 확립
단계 2: Few-Shot으로 10-20% 향상
단계 3: CoT로 추가 15-30% 향상
단계 4: 필요시 고급 기법 적용
  1. 비용 효율 극대화
- 캐싱: 반복 쿼리 결과 저장
- 배치 처리: 여러 요청 묶어서 처리
- 모델 선택: 간단한 작업은 작은 모델
- 조기 종료: 충분히 좋은 결과면 중단
  1. 모니터링 지표
- 응답 시간 (Latency)
- 토큰 사용량 (Cost)
- 정확도 (Accuracy)
- 사용자 만족도 (User Satisfaction)

7.4 일반적인 실수와 해결책

실수 문제 해결책
과도한 복잡화 불필요한 고급 기법 사용 간단한 것부터 시작
RAG 없이 최신 정보 할루시네이션 RAG 구축 필수
체인 너무 길게 오류 전파, 비용 증가 3-5단계로 제한
검증 없이 신뢰 오답을 그대로 사용 Self-Consistency 추가
프롬프트 재사용 없음 비효율적 템플릿화 및 모듈화

7.5 다음 단계

본 가이드에서 다룬 8가지 고급 기법의 핵심을 이해했다면, 이제 각 기법을 깊이 있게 학습할 차례다. 다음 포스트들에서는:

  1. Generate Knowledge Prompting 상세 가이드
    • Liu et al. (2021) 논문 완전 분석
    • 실전 구현 및 최적화
  2. Prompt Chaining 마스터 클래스
    • 워크플로우 설계 패턴
    • 오류 처리 및 복구 전략
  3. RAG 시스템 구축 완벽 가이드
    • 임베딩, 벡터 DB, 검색 최적화
    • 프로덕션 환경 구축
  4. ReAct Agent 개발 실전
    • 도구 통합 및 의사결정
    • LangChain/LlamaIndex 활용

8 핵심 요약

8.1 기법별 한 줄 정리

  • Generate Knowledge: “모델아, 먼저 관련 지식을 생각해내봐”
  • Prompt Chaining: “복잡한 일을 여러 단계로 나눠서 차근차근”
  • Tree of Thoughts: “여러 방법을 시도해보고 최선을 선택”
  • RAG: “외부 자료를 찾아서 그걸 바탕으로 답해”
  • APE: “가장 좋은 질문 방법을 스스로 찾아봐”
  • Active-Prompt: “네가 어려워하는 예시만 골라서 가르쳐줄게”
  • Directional Stimulus: “이런 방향으로 생각해봐”
  • ReAct: “생각하고, 행동하고, 관찰하고, 반복해”

8.2 최종 권장사항

실무에서 가장 먼저 적용할 기법 Top 3: 1. Prompt Chaining - 가장 범용적이고 효과적 2. RAG - 사실 기반 답변의 필수 3. ReAct - Agent 시스템의 기반

학습 투자 대비 효과가 큰 조합: - RAG + CoT (중간 비용, 높은 효과) - Prompt Chaining + RAG (높은 범용성)

피해야 할 안티패턴: - ❌ 모든 문제에 가장 복잡한 기법 적용 - ❌ RAG 없이 최신 정보 질문 답변 - ❌ 검증 없이 출력 신뢰 - ❌ 프롬프트 체계적 관리 없이 방치

9 참고문헌

  1. Zhou, Y., et al. (2022). Large language models are human-level prompt engineers. arXiv preprint arXiv:2211.01910.

  2. Liu, J., et al. (2021). Generated knowledge prompting for commonsense reasoning. arXiv preprint arXiv:2110.08387.

  3. Yao, S., et al. (2024). Tree of thoughts: Deliberate problem solving with large language models. Advances in Neural Information Processing Systems, 36.

  4. Lewis, P., et al. (2020). Retrieval-augmented generation for knowledge-intensive nlp tasks. Advances in Neural Information Processing Systems, 33, 9459-9474.

  5. Yang, C., et al. (2023). Large language models as optimizers. arXiv preprint arXiv:2309.03409.

  6. Gao, Y., et al. (2023). Retrieval-augmented generation for large language models: A survey. arXiv preprint arXiv:2312.10997.

10 시리즈 목차

  1. 프롬프트 엔지니어링 고급 기법 개요 (현재 글)
  2. Generate Knowledge Prompting: 모델의 내재 지식 활용하기
  3. Prompt Chaining: 복잡한 작업을 단계별로 분해하기
  4. Tree of Thoughts: 전략적 탐색과 백트래킹
  5. RAG: 외부 지식과 생성 모델의 결합
  6. Automatic Prompt Engineer와 최적화 기법들

이 포스트는 FastCampus의 “프롬프트 엔지니어링 A to Z by 강수진 강사” 강의 자료를 기반으로 작성되었습니다.

Subscribe

Enjoy this blog? Get notified of new posts by email: