| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 데이터베이스
- JPA
- 애자일기법
- 읽기쉬운코드
- 코드
- kotlin
- Spring
- cleancode
- 그리디
- Baekjoon
- 스프링
- 알고리즘
- 자바
- Elasticsearch
- 프레임워크
- 그리디알고리즘
- ES
- database
- 코딩테스트
- Java
- 클린코드
- 코딩
- 개발
- 엘라스틱서치
- 백준
- AI
- framework
- spring boot
- 개발자
- API
- Today
- Total
튼튼발자 개발 성장기🏋️
프롬프트 엔지니어링 본문
프롬프트 엔지니어링은 AI 언어 모델에게 원하는 결과를 얻기 위해 입력(프롬프트)을 설계하는 기술이다. 같은 요청이라도 물어보는 방식에 따라 답변 품질이 크게 달라지며, LLM 학습 데이터를 만들 때나 파인튜닝할 때 모두 중요한 역할을 한다.
1. 프롬프트 엔지니어링이 중요한 이유
LLM 엔지니어 관점에서의 중요성
학습 데이터 생성
GPT-4 API로 LLM 학습 데이터를 만들 때 품질 좋은 데이터를 얻기 위해 필수적이다.
파인튜닝
LLaMA나 Qwen으로 파인튜닝할 때도 프롬프트 엔지니어링은 중요하다. (많은 이들이 간과하는 부분)
성능 향상
같은 모델이라도 프롬프트 설계 방식에 따라 답변 품질이 크게 달라진다.
2. 프롬프트 엔지니어링 기초
기본 원칙
프롬프트 엔지니어링의 가장 기본적인 원칙은 사람에게 설명하듯 매우 '잘' 설명해야 한다는 것이다.
효과적인 프롬프트의 기본 구성 요소
- 명확한 지시사항: 원하는 작업을 구체적으로 설명
- ❌ "다음 텍스트를 요약해줘"
- ✅ "다음 텍스트를 3개의 핵심 포인트로 요약해줘"
- 컨텍스트 제공: 배경 정보와 상황 설명 또는 예시 작성
- "이것은 고객 지원 이메일이며, 부정적인 피드백을 분석해야 함"
- "당신은 고객의 요청에 답변하는 고객센터 챗봇임"
- 예시 제공:
Ex) {'reason': '~~~', 'thought': '~~~'}
- 형식의 제약: 출력 형식을 명시적으로 지정
- "다음과 같은 형식으로 답변해줘: 1) 문제점, 2) 원인, 3) 해결책"
- "다섯 단락 이내로, 10대가 이해할 수 있는 수준으로 설명해줘"
- "JSON 형태로 작성해줘 or 파이썬 리스트 형태로 작성해줘" → 바로 파이썬 코드로 파싱 가능
Few-shot 프롬프트 엔지니어링
예시를 여러 개 주는 경우 이를 프롬프트 엔지니어링에서는 Few-shot이라고 한다. 상황이 추상적이거나 답변 형식을 설명하기 어렵다면 예시를 주는 것은 모델에게 직관적으로 알려줄 수 있는 가장 강력한 방법이다.
Chain-of-Thought (CoT) 프롬프트 엔지니어링
CoT는 모델이 문제를 풀기 전에 논리적인 추론 과정을 거친 후에 답을 작성할 경우 정답의 정확도가 높아진다는 프롬프트 엔지니어링 방법이다.
일반 프롬프트 vs CoT 프롬프트
| 방식 | 프롬프트 예시 | 효과 |
|---|---|---|
| 일반 | "답을 작성해줘" | 직접적인 답변 |
| CoT | "근거를 먼저 작성하고 답을 써줘" 또는 "이 문제를 풀기 위해 단계별로 생각해보자" | 추론 과정 포함, 정확도 향상 |
3. 구조화된 프롬프트
프롬프트의 기본 원칙은 해야 할 업무 지시를 자세히 알려줘야 한다는 점이다. 사람과의 대화에서도 설명을 제대로 못하는 사람이 있고, 한 번에 알아들을 수 있도록 설명하는 사람이 있듯이, 거대 언어 모델에게도 제대로 된 설명이 이루어져야만 지시 사항을 지킬 가능성이 높다.
명확한 세션 구분
System, User, Assistant 등 역할별로 명확히 구분하여 프롬프트를 작성한다.
역할과 목표 명시
AI에게 부여할 페르소나와 달성해야 할 목표를 명확히 제시한다.
단계별 지시
복잡한 작업은 여러 단계로 나누어 순차적으로 지시한다.
4. ChatGPT API 소개
ChatGPT API란?
ChatGPT API는 파이썬을 이용하여 GPT-4o를 호출할 수 있는 인터페이스이다. 웹 사이트에서 사용하는 챗GPT와 달리 코드를 통해 호출하므로 파이썬의 반복문을 이용하면 반복 작업을 자동화할 수 있다는 장점이 있다.
주요 특징
- 멀티모달 지원: 이미지 인식이 가능하여 '이미지'를 인식하는 작업도 가능하다.
- 자동화: 코드를 통한 반복 작업 자동화
- 확장성: 대량의 데이터 처리 가능
모델 사양 확인
주소: https://platform.openai.com/docs/models#gpt-4o
| 항목 | 설명 |
|---|---|
| CONTEXT WINDOW | 한 번에 처리 가능한 입력과 출력 토큰 수 |
| MAX OUTPUT TOKENS | 한 번에 답변 가능한 최대 토큰 수 |
과금 구조
주소: https://openai.com/api/pricing/ (가격은 계속 업데이트됨)
현재 기준 (gpt-4o)
- 입력: 100만 개의 토큰 기준으로 2.5달러
- 출력: 100만 개의 토큰 기준으로 10달러
토큰(Token)이란?
주소: https://platform.openai.com/tokenizer
토큰은 텍스트가 LLM에 입력되었을 때, 실제로 LLM이 텍스트를 인식하는 최소 단위를 의미한다. 일반적으로 단어 단위와 유사하거나 더 잘게 나뉜다.
5. API Key 발급 및 설정
회원 가입
주소: https://platform.openai.com/docs/overview
- 위 주소로 접속하여 [Sign up] 클릭
- 이미 ChatGPT를 사용하고 있다면 동일한 계정이므로 로그인하면 됨
API Key 발급
주소: https://platform.openai.com/api-keys
발급 절차
- 로그인 후 API keys 페이지로 이동
- Name에 키 이름을 입력
- [Create secret key] 클릭하여 키 발급
- 발급받은 키는 반드시 별도로 저장 (한 번만 표시됨)
결제 정보 등록 (Billing)
주소: https://platform.openai.com/settings/organization/billing/overview
- [Add payment details]를 클릭하여 카드 정보 등록
- 최소 5달러를 결제하여 크레딧 충전
'AI > LLM 서비스 개발' 카테고리의 다른 글
| 언어 모델 (Language Model) (0) | 2026.03.17 |
|---|---|
| 에이전틱 AI 디자인 패턴 (0) | 2026.03.10 |
