06. 프롬프트 엔지니어링 실습
프롬프트 엔지니어링
- 모델의 응답 결과의 품질을 향상 시키지 위한 각종 기술 및 기법
In-Context
- 모델의 입력 앞단 프롬프트에 (사용자가 모르게) 문맥 정보를 포함
- 예: 지침, 예시, 데이터 등
N-Shot
- 예시의 개수를 의미
- 3-Shot은 3개의 예시를 담은 프롬프트라는 의미
CoT (Chain of Thought)
프롬프트 엔지니어링의 한계
- 프롬프트가 길어질 수록 매 요청마다 토큰 수가 많아져 기본 비용이 증가할 수 있음
- 또한 프롬프트가 길어질 수록 모델의 답변 품질이 저하되는 일이 발생함
프롬프트 엔지니어링의 한계 극복 방안
-
Fine Tuning (미세조정)
- Fine Tuning은 모델에게 데이터를 학습(암기) 하는 것.
- 자주 반복되는 프롬프트의 경우 프롬프트를 Fine Tuning하면 입력 앞단에 프롬프트를 붙이는 양을 줄일 수 있음.
- N-Shot 및 소규모의 데이터는 잘 학습이 되는 편이지만 정보성의 대규모의 데이터는 Fine Tuning이 잘 안됨
-
RAG (Retrieval-Augmented Generation)
- RAG는 대용량의 문서에서 필요한 내용을 검색하여 필요한 텍스트만 LLM 모델의 In-Context로 붙여주는 기법
- 대용량 문서를 통째로 In-Context로 붙이면 과도한 기본 비용이 발생할 수 있는데 이것을 방지하는 방법 중 하나.
- 문서 전체가 아닌 일부만 참고하기 때문에 전체적인 맥락 및 흩어져있는 정보에 대해서는 답변 품질이 좋지 않음.
-
MAS (Multi-Agent System)
- MAS는 하나의 에이전트가 아닌 여러 에이전트를 두고 워크플로우를 만들어 최종 답변을 이끌어 내는 것.
- 하나의 에이전트에 여러가지 역할 및 기능을 부여하면 많은 프롬프트 엔지니어링 및 In-Context로 인하여 과도한 기본 비용이 발생할 수 있음.
- 여러 에이전트를 특정 작업에 특화되게 만든 후 워크플로우를 생성하여 역할을 분담하게 하면 성능 향상 및 과도한 기본 비용을 방지할 수 있음.