학습자료: 최고의 프롬프트 엔지니어링 강의(김진중)

 

프롬프트 엔지니어링 과정

1. 프롬프트 결과 설정

최종적으로 얻고자 하는 정보의 종류와 형태 결정

2. 프롬프트 평가 설계

설정한 목표를 달성하고자 할 때 프롬프트의 효과를 어떻게 평가할지에 대한 기준 마련. 프롬프트 결과를 측정하는 매커니즘을 개발하는 것을 포함. 업무에서는 프롬프트 자동화가 필요하기에 가장 중요한 과정

3. 그라운딩 설계 및 평가

AI가 답변을 생성할 때 신뢰할 수 있는 정보나 데이터에 기반하여 정확성과 연관성을 확보하는 과정. 모델이 참조할 기초 데이터나 사실들을 정리

4. 프롬프트 디자인

앞서 정의한 목표와 평가 기준에 따라 실제 프롬프트를 설계. 창의성과 실험적 접근이 필요하며, 여러 시도를 통해 최적의 프롬프트 구조를 찾아감

5. 모니터링 및 개선

실제 환경에서 사용되는 동안에는 지속적으로 성능을 모니터링하고 필요한 경우에는 개선. 여기에는 사용자의 피드백을 반영하고 새로운 데이터나 정보가 등장했을 때 프롬프트를 업데이트하여 최신 상태를 유지하는 과정이 포함

 

프롬프트 디자인 프레임워크

- Role(역할)
- Audience(대상)
- Knowledge/Information(지식/정보)
- Task/Goal(작업/목표)
- Policy/Rule, Style, Constraint(정책/규칙, 스타일, 제약 사항)
- Format/Structure(형식/구조)
- Examples(예시)

 

1. 역할 정의

AI의 페르소나 또는 역할을 정의. 사용자와의 상호작용에서 AI의 캐릭터나 톤을 결정짓는 기초

당신은 법률 전문가입니다. 법률 관련 질문에 답하십시오.
당신은 신문 기자입니다. 주요 뉴스 이벤트에 대한 보고를 작성하세요.

 

2. 대상 명시

AI가 누구에게 정보를 제공하고 있는지, 즉 응답의 대상이 되는 사용자나 그룹을 명시

초등학생에게 태양계의 행성에 대해 설명해 주세요.
트럼펫 초보자들을 위해 연습 팁을 제공해 주세요.

 

3. 지식과 정보 제공

질문과 관련해서 참고할 만한 지식과 정보를 DB나 검색 엔진 등에서 가져와 삽입.

위키피디아의 내용에 따라 나폴레옹에 대해 설명해 주세요.
오늘 발표된 정부의 새로운 경제 정책은 다음과 같습니다.
…발표 내용…
발표된 내용을 초등학생들에게 이야기하듯이 설명해 주세요.

 

4. 수행해야 할 작업 및 목표 명시

작업은 여러 단계로 쪼개서 최대한 상세하게 작성하는 것이 좋음

환경 보호를 위한 설득력 있는 연설문을 만들어 주세요.
500 단어로 자기 소개서를 작성해 주세요.

- 자기 소개서를 작성해 주세요.
- 서론, 본론, 결론으로 나누어 작성해 주세요.
- 경험, 성과, 개인적 성장 등 구체적 사례를 들어 설명력을 높여 주세요.

 

5. 정책 및 규칙, 스타일 가이드, 제약 사항 설정

일관된 응답을 만들어 원하는 방식으로 정보를 제공하도록 유도

성격의 긍정적인 측면만을 강조하며 자기 소개서를 작성해 주세요.
사실 기반의 정보만을 사용하여 뉴스 보고를 작성해 주세요.

 

특정 톤이나 유머, 감정 등의 스타일을 지정하면 어투를 좀 더 전달하고 싶은 방식으로 설정할 수 있다.

공손하고 정중한 말투로 사과 메일을 작성해 주세요.
열정적이고 설득력 있는 톤으로 제품 소개글을 작성해 주세요.

 

응답이 따라야 하는 특정 제한 사항이나 조건을 설정하기도 함. 단, 아주 정확하게 맞추지는 않기 때문에 답변할 수 있는 가장 적절한 수준으로 답한다고 생각하는 것이 좋음

한 페이지 내로 비즈니스 제안을 작성해 주세요.
3분 내로 읽을 수 있는 간략한 연설문을 만들어 주세요.

 

6. 형식 및 구조 설정

MLA 스타일로 참고 문헌 목록을 만들어 주세요.
JSON 형식으로 결과를 출력해 주세요.

 

7. 구체적인 예시 제공

AI에게 분명한 지침을 제공하여 원하는 방향으로 응답을 유도. 복잡한 요구 사항이나 추상적인 개념을 구체화하는 데 도움이 됨.

다음의 예시를 참고하여 응답하세요.
User: I love you.
Assistant: 나는 당신을 사랑합니다.
다음과 같은 형식으로 출력해 주세요.
{”name”: “jin”, “age”: 13, “intro”: “…”, …}

 

반드시 일곱 가지가 모두 있어야 하는 것은 아니며, 목적에 따라 일부만 사용하거나 각 항목을 세분화해서 자세히 설명해도 됨

제3자인 사람이 읽었을 때도 의도가 명확하게 전달된다면 좋은 프롬프트

 

예시 프롬프트

당신은 친근한 영어 선생님입니다.
다음 내용을 참고하여 학생들에게 나폴레옹 보나파르트에 대해 설명해 주세요.
[아래는 나폴레옹에 대한 정보] (실제 정보 삽입)
…(중략)…
다음 규칙에 따라 답변을 작성해 주세요. (규칙을 명확하게 명시)

- 친근하고 교육적인 톤으로 작성
- 단순하고 이해하기 쉬운 영어로 설명
- 3분 안에 읽을 수 있는 길이로 작성
- 세 문단으로 작성

결과 포맷: (LLM이 좀 더 명확하게 지시를 알아들을 수 있도록 작성)
User: 나폴레옹이 누구야?
Assistant: 나폴레옹 보나파르트는 18세기 말과 19세기 초에 프랑스를 지배한 역사적 인물이에요.

 

프롬프트를 구성할 때에는 최대한 명확하고 구체적으로 요구 사항을 기술하는 것이 중요

helena1129