프롬프트 작성을 위한 7가지 원칙

*본 글은 AI-POT 2급 공부를 위해 정리한 것입니다.

프롬프트 작성 원칙 썸네일

프롬프트 동작의 기본 원칙

피드백 루프 : 사용자가 원하는 출력을 만들어 내는 방식을 반복적으로 테스트하고 평가함으로써 프롬프트 효과를 최대화 하는 방법. 피드백 루프를 통해 사용자는 언어 모델의 반응을 관찰하고 이해하며, 그에 따라 유연하게 조정하며 개선해나간다. 이로써 원하는 결과를 적극적으로 도출해 낼 수 있다.

② 적절한 프롬프트의 선택 : 사용자의 목표와 요구사항에 가장 잘 부합하는 방식으로 언어모델을 유도하는 과정. 질문이나 명령의 형태로 제공되는 입력의 선택이 중요하다. 텍스트, 이미지, 음성 등 다양한 형태의 입력을 이용하고 문맥, 톤, 길이, 구조 등 다양한 요소를 고려하여 프롬프트를 설계한다.

프롬프트의 구성 요소

지시 Instruction모델이 수행할 특정 작업 또는 지시어
맥락정보 Context모델이 명령을 더 잘 이해할 수 있도록 도와주는 배경정보, 설명정보, 추가정보, 요약 정보
제약 Constraints특정 요구사항이나 응답의 길이, 복잡성에 대한 제한 (예: 100자 이내로 써 줘)
입력데이터 Input Data응답받고자 하는 입력이나 질문
출력 지시자 Output Indicator출력의 유형이나 형식을 나타내는 요소 (예: 표로 만들어줘.)

효과적인 프롬프트를 구성하기 위해서는 구성요소를 적절하게 배치해야한다.

프롬프트

프롬프트 작성 원칙

프롬프트 작성 시, 작성원칙을 기반으로 좀 더 명확하고 구체적으로 작성해야 원하는 응답결과를 만들어 낼 가능성이 높다.

1. 간단한 시작
초기부터 복잡한 프롬프트를 설계하여 실행하는 것보다는, 간단한 것부터 입력하여 필요한 요소나 문맥을 추가하는 방식으로 접근한다.

2. 쉽고 간결한 표현
불필요한 미사여구를 최소화 한다.

3.명확한 지시문
열린 질문*보다는 닫힌 지시문을 통해 원하는 것을 명확할 때, 일정한 형식에 알맞은 응답을 얻을 수 있다.
프롬프트의 작성은 직접적일수록 의도하는 바를 효과적으로 전달할 수 있다.

4. 작업조건의 명시화
모델에게 주는 가이드라인은 구체적이고 명료해야 한다. 제약 조건을 구체적으로 명시함에 따라, 모델에게서 더 정제된 답변을 얻을 수 있기 때문이다.
AI가 스스로 판단해야 할 여지를 줄일수록 원하는 답변을 얻을 가능성이 커진다.

5. 맥락제공
프롬프트에 사용자가 제공한 정보와 대략적인 방향을 포함하여 생성형AI가 정확하게 무엇을 해야하는 지를 작성해 주어야 한다. 구체적인 지침을 표현할 때에는 따옴표(“)를 이용한다.

6. 예제제공
원하는 응답 유형을 생성형 AI가 이해할 수 있도록 프롬프트에 예제를 제공해준다.

7. 출력 형식의 특정
원하는 응답길이 및 형식을 설정해주면, AI는 지정된 범위 내에서 유연하게 응답할 수 있다.
– 응답 길이 : 300자 이내, 또는 길게, 짧게 등
– 응답 형식 : 리스트 구조, 트리 그조, 표, 프로그래밍 코드 형식 등

간단한 시작

라면을 정말 맛있게 끓이는 방법을 알려줘.

쉽고 간결하게

라면을 맛있게 끓이는 방법을 알려줘.

명확한 지시

라면의 면이 퍼지지 않고, 꼬들꼬들하게 끓이는 방법을 알려줘.

작업 조건 명시

1인분 기준으로 라면의 면이 퍼지지 않고, 꼬들꼬들하게 끓이는 방법을 알려줘.

맥락 제공

1인분 기준으로 라면의 면이 퍼지지 않고, 꼬들꼬들하게 끓이는 방법을 “레시피 형식”으로 알려줘.

예제 제공

1인분 기준으로 라면의 면이 퍼지지 않고, 꼬들꼬들하게 끓이는 방법을 아래 예시처럼 알려줘.

재료 : 쌀(종류에 따라 필요한 양), 물(밥쌀의 양에 따라 적절한 양), 소금(선택적)
조리과정 :
1) 밥씻기 : 쌀을 물에 넣고 헹군 후, 체에 받쳐 물기를 뻅니다.
2) 물넣기 : 밥솥 내부에 쌀을 넣은 후, 밥을 끓일 물을 넣습니다.

출력형식 지정

1인분 기준으로 라면의 면이 퍼지지 않고, 꼬들꼬들하게 끓이는 방법을 레시피 형식으로 알려줘. 표로 만들어줘.



(참조) 열린질문 vs 닫힌질문
열린 질문 : 알려주는 건 어때? 넌 어떻게 생각해?
닫힌 질문 : 알려줘. 만들어줘.

✅ 간단하고 쉬운 표현에서 보다 원하는 내용으로 구체적으로 작성해 나간다.
✅ 잘 알려진 형식을 통해 결과물을 변환하도록 지시하는 것도 좋다.
– 표로 작성해 줘.
– 객관식 문제(사지선다형)으로 만들어 줘.
– 파이썬 코드로 만들어 줘.

프롬프트 작성 기법 및 방안

평문형 태스크 프롬프트
직접적으로 작업 지시하는 것. ~해줘
다음 글을 영어로 번역해줘.

하이퍼파라미터형 태스크프롬프트
임무: 번역 (한국어 -> 영어)

텍스트 변형 기법
인사말을 대화체로 바꿔줘.

답변 형태 지정
아래 형식에 맞춰서 답변해줘.
– 00의 개념 : 설명글
– 00의 특징 : 1) 특징 1, 2) 특징 2, 3) 특징 3

잘 알려진 형식의 답변으로 요청
0000에 대한 시험문제를 객관식 4지선다 문제로 만들어줘.

형태 변환 요청

다음 키워드를 맥락에 포함해, 환불을 요구하는 소비자에게 메일을 보내려고 해.
간략한 메일로 작성해줘. 정중한 말투로 부탁해.
[키워드] 미안함, 최대한 불편하지 않도록, 적극적으로 대응

요약 기법
다음 내용을 세 줄 요약해줘.

분류 기법
아래 과일을 3개의 그룹으로 분류해줘.

감정 분석
아래 내용을 토대로 화자의 현재 감정을 추론하시오.

확장 기법
온라인 쇼핑몰에서 가방을 샀는데 하자가 발견되어서 반품하려고 해.
정중하게 항의하는 반품 요청 이메일을 써 줘.


프롬프트 작성 팁 : 응답명확화

구체적이고 명확하게 쓴다는 게 어떤 걸까?

위로 스크롤