[Skill-set] Prompt Engineering 기초 기법
생성형AI 대화법, RAIL
Role 역할 부여
Ask 구체적으로 부탁
Iterate 다시 부탁
Learn 내용 및 프롬프트 학습
▶ 역할과 참고 및 고려사항, 요청하상과 기대하는 결과물을 전달함
1. Role
- 상황, 배경, 역할을 구체적으로 입력 "어떤 사람인가"
- 사용하는 언어, 기술, 사용환경을 입력 "뭘 기대하는가"
2. Ask
- 구체적인 요청으로 나눠서 진행 "단계적"
- 예시를 들어주며, 위치/숫자를 들어 알려주기 "구체적"
- 어려운 일일수록 핵심기능부터 차근차근 빌드업
3. Iterate
- 에러/오류 노트의 대화를 복사해 다시 질문함
- 문제를 계속 못 풀 경우, 제로베이스로 풀도록 고침
4. Learn
- 쉽게 설명해달라고 하기
- 해당 결과를 얻기 위해 어떤 프롬프트를 입력했어야 하는지 묻기
프롬프트 문법
- 맥락을 전달한 뒤,
- 지시문을 입력하고
- 입력데이터를 넣은다음
- 출력지표를 통해 결과를 유도함
이때
> 명확해야함 : 구체적이고 명확한 지시가 있어야 함 - 분량, 주제, 포함요소, 청자 등 설정
> 구조화되야 : 논리적으로 배열하거나, 번호 혹은 기호로 순서를 부여함
> 예시를 활용 : 원하는 출력형식의 예시 제공해서 기대하는 결과의 스타일링을 이해시킴
> 단계별 접근 : 복잡한 작업은 단계별로 분해 후 각단계를 명확히 정의 → 단계별 프롬프트 작성
Tip
- 버전관리하기 : 효과적인 프롬프트는 백업, 발전과정을 추적하고 이전버전으로 이동도 염두
- 정보검색 등 간단한 질문은 싱글턴으로, 맥락이 필요한 복잡한 질문은 멑리턴(단계로 나눠 질문하기)
중요 기준
- 명확성 : 모호하거나 중의적 표현 금지
- 구체성 : 세부적인 내용 제공, 구체적 지시로 원하는 방향으로 유도
- 맥락 제공 : 상황이해를 돕기 위한 배경정보 제공
- 단계로 나누기 : 각 단계를 순서에 맞게 처리하며 답변하도록
- 제약조건 설정 : 출력, 형식, 길이, 스타일 등의 조건 지정
작성 기법
① 역할 부여 : 특정역할을 부여해 원하는 관점 or 전문성을 가진 답변 유도
② 예시 제공 : 원하는 출력 형식 or 내용을 직접 제시해 유사한 답을 유도함
③ Chain of Thought : 단계적으로 사고하도록 유도함 e.g. 다음단계에 따라 해결하세요. 1)ㅇㅇㅇ, 2)ㅇㅇㅇ, 3)ㅇㅇㅇ
*제로샷 - 예시, 추가학습없이 바로 작업 **퓨샷 - 예시를 제공해 패턴 학습후 작업 수행
④ 템플릿 활용 : 효과가 검증된 프롬프트 구조를 재사