모델에 대한 효과적인 프롬프트를 찾기 위한 프롬프트 엔지니어링에는 시간과 노력이 소요됩니다. 재사용하고 다른 사용자와 공유할 수 있는 프롬프트를 빌드하여 작업의 이점을 늘리십시오.
프롬프트에 유연성을 추가하는 가장 좋은 방법은 프롬프트 변수를 추가하는 것입니다. 프롬프트 변수는 작성 시 프롬프트의 정적 텍스트에 포함시키고 런타임 시 동적으로 텍스트로 바꾸는 플레이스홀더 키워드입니다.
변수를 사용하여 프롬프트 텍스트를 동적으로 변경
기초 모델 입력 변수는 보다 쉽게 재사용할 수 있도록 프롬프트를 일반화하는 데 도움이 됩니다.
예를 들어, 생성 태스크에 대한 프롬프트에는 다음 정적 텍스트가 포함될 수 있습니다.
Write a story about a dog.
텍스트 dog 를 이름이 {animal}
인 변수로 바꾸는 경우, 프롬프트에 동적 컨텐츠에 대한 지원을 추가합니다.
Write a story about a {animal}.
{animal}
변수를 사용하는 경우에도 텍스트를 사용하여 개에 대한 스토리를 모델에 프롬프트할 수 있습니다. 그러나 이제는 {animal}
변수에 지정된 값을 단순히 스와핑하여 고양이, 마우스 또는 다른 동물에 대한 스토리를 요청하기 위해 재사용할 수 있습니다.
프롬프트 변수 작성
프롬프트 변수를 작성하려면 다음 단계를 완료하십시오.
프롬프트 랩에서 프롬프트의 텍스트를 검토하여 변수로 변환할 때 프롬프트를 더 쉽게 재사용할 수 있도록 하는 단어 또는 구문을 찾으십시오.
페이지 시작 부분에 있는 프롬프트 변수 아이콘 을 클릭하십시오.
변수 이름 및 값 쌍을 추가할 수 있는 프롬프트 변수 패널이 표시됩니다.
참고: 프롬프트 변수 패널은 대화 모드에서 사용할 수 없습니다.
새 변수를 클릭하십시오.
변수 이름을 추가하려면 클릭하고 다음 필드에 탭을 누른 후 기본값을 추가하십시오.
변수 이름은 영숫자 또는 밑줄 (
_
) 을 포함할 수 있지만 숫자로 시작할 수 없습니다.변수의 기본값은 대체 값입니다. 변수에 새 값을 지정하여 기본값을 겹쳐쓰지 않는 한 프롬프트가 제출될 때마다 사용됩니다.
이전 단계를 반복하여 변수를 더 추가하십시오.
다음 표에서는 추가할 수 있는 변수 유형의 몇 가지 예를 보여줍니다.
테이블 1. 예제 변수 이름 및 값 쌍 변수 이름 기본값 국가 아일랜드 구/군/시 보스턴 프로젝트 프로젝트 X 회사 IBM 프롬프트의 정적 텍스트를 변수로 바꾸십시오.
프롬프트에서 바꾸려는 단어 또는 구문을 선택한 후 텍스트 상자 내의 프롬프트 변수 아이콘 을 클릭하여 사용 가능한 변수 목록을 확인하십시오. 목록에서 사용할 변수를 클릭하십시오.
변수는 선택한 텍스트를 대체합니다.
{variable name}
구문으로 형식화됩니다. 여기서 변수 이름은 중괄호로 묶입니다.정적 텍스트에 중괄호로 형식화된 변수가 이미 포함되어 있는 경우 동일한 이름의 프롬프트 변수가 존재하지 않으면 무시됩니다.
텍스트 아이콘 을 클릭하여 변수가 값으로 대체된 전체 프롬프트 텍스트를 볼 수 있습니다.
런타임 시 변수의 값을 지정하려면 프롬프트 변수 패널을 열고 미리보기를 클릭한 후 변수의 값을 추가하십시오.
프롬프트 변수 패널의 편집 보기에서 변수 값을 변경할 수도 있지만 지정하는 값이 새 기본값이 됩니다.
모델에서 원하는 결과를 생성하는 프롬프트 정적 텍스트, 프롬프트 변수 및 프롬프트 엔지니어링 매개변수 세트를 찾으면 프롬프트를 프롬프트 템플리트 자산으로 저장하십시오. 프롬프트 템플리트 자산을 저장한 후 프롬프트를 다시 사용하거나 현재 프로젝트에서 협업자와 공유할 수 있습니다. 자세한 정보는 프롬프트 저장을 참조하십시오.
프롬프트 재사용 예제
다음 예제는 프롬프트 변수를 사용하여 프롬프트에 다양성을 추가할 수 있는 방법을 설명하는 데 도움이 됩니다.
감사합니다.
참고 생성 감사 기본 제공 샘플 프롬프트의 정적 텍스트를 변수로 대체하여 프롬프트를 재사용할 수 있도록 하십시오.
내장 프롬프트에 다양성을 추가하려면 다음 단계를 완료하십시오.
프롬프트 랩에서 샘플 프롬프트 를 클릭하여 기본 제공 샘플 프롬프트를 나열하십시오. 생성 섹션에서 노트 생성 감사를 클릭하십시오.
내장 샘플 프롬프트에 대한 입력이 프롬프트 편집기에 추가되고 flan-ul2-20b 모델이 선택됩니다.
Write a thank you note for attending a workshop. Attendees: interns Topic: codefest, AI Tone: energetic
좋은 변수 후보를 작성하는 단어 또는 구문에 대한 텍스트를 검토하십시오.
이 예제에서 다음 단어가 대체되면 프롬프트 의미가 변경됩니다.
- 워크샵
- 인턴들
- 가장 낮은
- 인공지능
- 활동적
프롬프트 변수 아이콘 을 클릭하고 변수를 작성하여 목록의 각 단어를 표시하십시오. 현재 값을 변수의 기본값으로 추가하십시오.
테이블 2. 감사 노트 샘플에 대한 변수 변수 이름 값 이벤트 워크샵 참석자 인턴들 topic1 가장 낮은 topic2 인공지능 톤 활동적 미리보기 를 클릭하여 추가한 변수를 검토하십시오.
단어 대신 변수를 사용하도록 정적 프롬프트 텍스트를 업데이트하십시오.
Write a thank you note for attending a {event}. Attendees: {attendees} Topic: {topic1}, {topic2} Tone: {tone}
프롬프트의 원래 의미는 유지됩니다.
이제 변수의 값을 변경하여 프롬프트의 의미를 변경하십시오.
프롬프트 변수 패널의 프롬프트 변수 채우기 보기에서 변수의 값을 추가하십시오.
테이블 3. 변수의 새 값 변수 이름 값 이벤트 인적 자원 프리젠테이션 참석자 상위 예상 topic1 새 상위에 대한 자원 topic2 육아 휴직 톤 지원 원래 프롬프트를 다음 프롬프트로 효과적으로 변환했습니다.
Write a thank you note for attending a human resources presentation. Attendees: expecting parents Topic: resources for new parents, parental leave Tone: supportive
생성 을 클릭하여 모델이 응답하는 방법을 확인하십시오.
사용성 테스트 참석자에 대한 감사 노트를 생성하기 위해 동일한 프롬프트를 다시 재사용하도록 변수의 값을 스왑합니다.
표 4. 변수에 대한 다른 값 세트 변수 이름 값 이벤트 사용성 테스트 참석자 사용자 지원자 topic1 새 기능 테스트 topic2 조기 피드백 공유 톤 감사하는 생성 을 클릭하여 모델이 응답하는 방법을 확인하십시오.
악마의 옹호자 예
프롬프트 변수를 사용하여 프롬프트에 대해 고안한 효과적인 예제를 재사용하십시오.
모델이 따라야 할 패턴을 설정하는 몇 가지 예제를 추가하여 예상되는 방식으로 응답하도록 기초 모델을 안내할 수 있습니다. 이러한 종류의 프롬프트를 몇 번의 프롬프트라고 합니다. 프롬프트에 대한 좋은 예제를 작성하려면 상상력과 테스트가 필요하며 시간이 많이 소요될 수 있습니다. 효과적인 것으로 증명되는 몇 번의 프롬프트를 성공적으로 작성한 경우 프롬프트 변수를 추가하여 재사용할 수 있도록 할 수 있습니다.
granite-13b-instruct-v1 모델을 사용하여 고려 중인 조치 또는 계획에서 발생할 수 있는 위험 또는 문제점을 고려하는 데 도움을 줄 수 있습니다.
예를 들어, 프롬프트에 다음 지시사항 및 예제가 있을 수 있습니다.
You are playing the role of devil's advocate. Argue against the proposed plans. List 3 detailed, unique, compelling reasons why moving forward with the plan would be a bad choice. Consider all types of risks.
Plan we are considering:
Extend our store hours.
Three problems with this plan are:
1. We'll have to pay more for staffing.
2. Risk of theft increases late at night.
3. Clerks might not want to work later hours.
Plan we are considering:
Open a second location for our business.
Three problems with this plan are:
1. Managing two locations will be more than twice as time-consuming than managed just one.
2. Creating a new location doesn't guarantee twice as many customers.
3. A new location means added real estate, utility, and personnel expenses.
Plan we are considering:
Refreshing our brand image by creating a new logo.
Three problems with this plan are:
다음 단계를 완료하여 프롬프트를 재사용할 수 있습니다.
고려 중인 조치를 설명하는 텍스트를 변수로 바꾸십시오.
예를 들어, 다음 변수를 추가할 수 있습니다.
표 5. 가능한 조치를 나타내는 변수 변수 이름 기본값 플랜 새 로고를 작성하여 브랜드 이미지를 새로 고칩니다. 계획을 정의하는 정적 텍스트를
{plan}
변수로 바꾸십시오.You are playing the role of devil's advocate. Argue against the proposed plans. List 3 detailed, unique, compelling reasons why moving forward with the plan would be a bad choice. Consider all types of risks. Plan we are considering: Extend our store hours. Three problems with this plan are: 1. We'll have to pay more for staffing. 2. Risk of theft increases late at night. 3. Clerks might not want to work later hours. Plan we are considering: Open a second location for our business. Three problems with this plan are: 1. Managing two locations will be more than twice as time-consuming than managed just one. 2. Creating a new location doesn't guarantee twice as many customers. 3. A new location means added real estate, utility, and personnel expenses. Plan we are considering: {plan} Three problems with this plan are:
이제 동일한 프롬프트를 사용하여 다른 조치에 대해 브레인스토밍하도록 모델을 프롬프트할 수 있습니다.
{plan}
변수의 텍스트를 변경하여 다른 계획을 설명한 후 생성 을 클릭하여 새 입력을 모델에 전송하십시오.
상위 주제: 프롬프트 랩