들어가며
LLM(Large Language Model)을 효과적으로 활용하기 위해서는 좋은 프롬프트를 작성하는 것이 필수적입니다. 이 글에서는 프롬프트 엔지니어링의 핵심 원칙과 실전 패턴을 정리합니다.
좋은 프롬프트의 핵심 원칙
1. 명확성 (Clarity)
모호한 표현을 피하고 구체적으로 작성하세요.
나쁜 예:
좋은 코드를 작성해줘
좋은 예:
Python으로 이진 탐색 트리를 구현해줘.
insert, search, delete 메서드를 포함하고,
시간 복잡도는 O(log n)이어야 해.
2. 컨텍스트 제공 (Context)
LLM이 작업을 이해하는 데 필요한 배경 정보를 제공하세요.
나는 React 초보자야.
useState와 useEffect의 차이점을 예제 코드와 함께 설명해줘.
3. 역할 부여 (Role Playing)
특정 전문가의 관점에서 응답하도록 설정하세요.
당신은 10년 경력의 시니어 백엔드 개발자입니다.
마이크로서비스 아키텍처의 장단점을 설명해주세요.
4. 출력 형식 지정 (Output Format)
원하는 응답 형태를 명시하세요.
다음 내용을 마크다운 표로 정리해줘:
- 언어별 특징
- 장단점
- 사용 사례
프롬프트 패턴
Chain of Thought (사고 과정)
복잡한 문제는 단계별로 생각하도록 유도하세요.
이 문제를 단계별로 생각해보자:
1. 먼저 문제를 분석하고
2. 해결 방법을 고민한 후
3. 최종 답변을 작성해
Few-Shot Learning
예시를 제공하여 원하는 형태를 학습시키세요.
다음 형식으로 요약해줘:
입력: "오늘 날씨가 좋다"
출력: 긍정, 날씨
입력: "회의가 너무 길었다"
출력: 부정, 업무
입력: "새로운 프로젝트를 시작했다"
출력: ?
구조화된 프롬프트
복잡한 작업은 섹션으로 나누어 작성하세요.
## 목표
사용자 인증 API를 설계한다
## 요구사항
- JWT 토큰 사용
- Refresh token 로테이션
- Rate limiting 적용
## 출력
1. API 엔드포인트 명세
2. 시퀀스 다이어그램
3. 보안 고려사항
자주 하는 실수
| 실수 | 문제점 | 해결책 |
|---|---|---|
| 너무 긴 프롬프트 | 핵심이 흐려짐 | 핵심만 간결하게 |
| 모호한 지시 | 예상과 다른 결과 | 구체적인 예시 제공 |
| 컨텍스트 누락 | 부정확한 답변 | 배경 정보 추가 |
| 형식 미지정 | 가독성 저하 | 출력 형식 명시 |
실전 체크리스트
프롬프트 작성 전 확인하세요:
- 목표가 명확한가?
- 필요한 컨텍스트를 포함했는가?
- 출력 형식을 지정했는가?
- 제약사항을 명시했는가?
- 예시가 도움이 될 것인가?
마무리
좋은 프롬프트는 명확하고, 구체적이며, 필요한 컨텍스트를 제공합니다. 연습을 통해 프롬프트 작성 실력을 향상시키세요.