프롬프트는 AI 모델에게 작업을 수행하도록 전달하는 입력 문장이다.
단순한 질문이 아니라, 모델이 어떤 역할로 어떤 작업을 어떤 방식으로 수행해야 하는지를 정의하는 설계 문장에 가깝다.
프롬프트 엔지니어링은 이러한 입력을 구조적으로 설계하여 원하는 결과를 안정적으로 얻기 위한 방법론이다.
프롬프트는 일반적으로 다음 3가지 요소를 기반으로 구성된다.
Instruction (무엇을 할 것인가)
Context (어떤 상황에서 할 것인가)
Output Control (어떤 형태로 결과를 낼 것인가)
Role (역할)
모델이 어떤 전문가 관점에서 답변할지 정의한다.
Task (작업)
수행해야 할 작업을 명확하게 정의한다.
Context (맥락)
배경 정보, 데이터 조건, 상황 정보를 제공한다.
Output Format (출력 형식)
표, JSON, 리스트, 단계별 설명 등 결과 형식을 지정한다.
Constraint (제약 조건)
길이, 스타일, 제외 조건 등을 정의한다.
[Role]
너는 ~ 전문가야
[Task]
~ 작업 수행해줘
[Context]
상황 설명
[Output Format]
표 / JSON / 단계별
[Constraint]
길이 / 톤 / 제외조건
Zero-shot Prompting
예시 없이 바로 작업을 요청하는 방식이다.
다음 문장을 한국어로 번역해줘.
One-shot Prompting
예시 1개를 제공하여 출력 스타일을 유도한다.
입력: Apple
출력: 과일
입력: Car
출력 형식으로 분류해줘
Few-shot Prompting
여러 예시를 제공하여 패턴을 학습하도록 유도한다.
입력: 서울 → 출력: 도시
입력: 사과 → 출력: 과일
입력: 호랑이 → 출력: 동물
입력: 부산 → 출력?
Many-shot Prompting
대량 예시를 제공하여 데이터셋 기반으로 동작하도록 한다.
상품명과 카테고리 매칭 데이터 50개 제공 후
새로운 상품 카테리 예측 요청
Chain of Thought (CoT)
Chain of Thought는 모델이 중간 추론 단계를 생성하도록 유도하여 복잡한 reasoning task에서 오류를 줄이고 정답 도달 확률을 높인다. 단순 결과 생성이 아니라 추론 과정을 외부로 드러내도록 만드는 방식이다.
✔ 언제 사용하는가
수학 문제, 논리 추론 문제, 멀티 단계 의사결정 문제에서 효과적이다.
✔ 언제 비효율적인가
단순 분류, 단순 요약, 단일 정보 추출 작업에서는 오히려 응답 길이만 증가할 수 있다.
문제를 단계별로 생각해서 풀이 과정을 먼저 설명하고
마지막에 최종 답을 알려줘.
Self-Consistency(자기 일관성)
여러 결과를 생성하고 가장 일관된 결과를 선택한다.
가장 일관된 결과를 선택함으로써 단일 추론 오류 리스크를 줄일 수 있다.
✔ 언제 사용하는가
정답이 하나인 논리 문제, 계산 문제, reasoning 기반 QA 문제에서 효과적이다.
✔ 언제 비효율적인가
응답 생성 비용이 증가하기 때문에 실시간 서비스 환경에서는 비효율적일 수 있다.
이 문제를 3번 풀고
가장 많이 나온 답을 최종 답으로 알려줘.
Tree of Thought (ToT)
여러 사고 경로를 동시에 탐색하여 단일 사고 경로에 의존하지 않도록 한다. 복잡한 문제에서 탐색 기반 문제 해결이 가능하다.
✔ 언제 사용하는가
전략 문제, 의사결정 문제, 최적화 문제에서 효과적이다.
✔ 언제 비효율적인가
단일 정답 기반 문제에서는 과도한 계산 비용이 발생할 수 있다
이 문제를 해결할 수 있는 3가지 접근 방법을 제시하고
각 방법의 장단점을 비교해줘.
ReAct Prompt
추론(Reasoning)과 행동(Action)을 결합하여 단순 답변 생성이 아니라 문제 해결 프로세스를 수행할 수 있다.
✔ 언제 사용하는가
Agent 구조, Tool 호출 기반 작업, 검색 + 추론 결합 작업에서 효과적이다.
✔ 언제 비효율적인가
외부 도구 사용이 필요 없는 단순 텍스트 생성 작업에서는 오버엔지니어링이 될 수 있다.
문제를 해결하기 위해
- 필요한 정보 판단
- 계산 수행
- 결과 검증
순서로 진행해줘.
Reflection Prompt
모델이 생성한 결과를 스스로 검토하도록 하여 논리 오류나 품질 문제를 줄일 수 있다.
✔ 언제 사용하는가
보고서 작성, 코드 생성, 분석 결과 생성 작업에서 효과적이다.
✔ 언제 비효율적인가
단순 요약이나 짧은 답변 생성에서는 추가 단계가 불필요할 수 있다.
답변을 생성한 후
논리 오류가 있는지 검토하고
수정된 최종 답을 다시 작성해줘.
Decomposition Prompt
복잡한 문제를 작은 단위 문제로 분해하여 문제 해결 난이도를 낮출 수 있다.
✔ 언제 사용하는가
프로젝트 설계, 데이터 분석 프로세스 설계, 시스템 설계 작업에서 효과적이다.
✔ 언제 비효율적인가
단순 질문이나 단일 작업 요청에서는 필요하지 않을 수 있다
이 프로젝트를
데이터 수집 / 분석 / 모델링 / 검증
단계로 나눠서 설명해줘.