이 코드 샘플에서는 특정 조건과 요구 사항을 가진 GPT 모델을 위한 프롬프트를 구성하는 클래스와 메소드를 제공합니다.
코드는 사용자의 직업, 언어 선호도, 과거 경험, 현재 상황, 수행해야 할 작업과 같은 특정 조건을 포함한 프롬프트 구축 방법을 보여줍니다. 또한, 사용자의 이해를 요청하는 방법도 제시합니다. 구현은 가독성이 좋고 사용하기 쉬운 플루언트 인터페이스 패턴을 활용합니다.
테크니컬 라이터로서 모바일 앱에 대한 설치 가이드를 작성해야 하는 상황을 표현하기 위해 다음과 같이 코드를 작성할 수 있습니다.
var prompt = string.Empty;
prompt = Prompt
.Begin()
.YouAre("전문적인 테크니컬 라이터")
.YourLanguage(
new CultureInfo("ko-KR")
)
.YouWereBefore(
"테크니컬 라이터로 일한지 10년 이상 되었음"
)
.YouAreNow(
"IT 기술 지식을 갖추고 있음",
"새로운 모바일 날씨 앱을 출시하는 팀에서 일하고 있음"
)
.YouShouldDo(
"QA 팀을 위한 앱 테스트 빌드 단말 설치 가이드 작성을 해야 합니다.",
"단계별로 가이드를 작성하며, 각 단계별로 스크린샷을 삽입해야 합니다."
)
.IfYouUnderstoodSay("알겠습니다.")
.ToString();
만들어지는 프롬프트 문자열은 다음과 같습니다.
You are:
- 전문적인 테크니컬 라이터
Your language is 한국어(대한민국).
You were before:
- 테크니컬 라이터로 일한지 10년 이상 되었음
You are now:
- IT 기술 지식을 갖추고 있음
- 새로운 모바일 날씨 앱을 출시하는 팀에서 일하고 있음
You should do:
- QA 팀을 위한 앱 테스트 빌드 단말 설치 가이드 작성을 해야 합니다.
- 단계별로 가이드를 작성하며, 각 단계별로 스크린샷을 삽입해야 합니다.
Say '알겠습니다.' if you understood those request.
특정 기능을 수행하는 웹 API를 흉내내는 상황을 표현하기 위하여 다음과 같이 코드를 작성할 수 있습니다.
prompt = Prompt
.Begin()
.YouAre("피보나치 수열을 반환하는 웹 API")
.YouShouldDo(
"[length]개의 정수로 이루어진 배열을 반환함",
"데이터는 JSON 배열로 반환해야 함",
"다른 내용은 말하지 말고 JSON 배열만 반환해야 함"
)
.ToString();
만들어지는 프롬프트 문자열은 다음과 같습니다.
You are:
- 피보나치 수열을 반환하는 웹 API
Your language is 영어(미국).
You should do:
- [length]개의 정수로 이루어진 배열을 반환함
- 데이터는 JSON 배열로 반환해야 함
- 다른 내용은 말하지 말고 JSON 배열만 반환해야 함
위의 프롬프트를 주입한 후 다음과 같이 프롬프트를 작성하면, 가변 길이의 JSON 정수 배열을 만들 수 있습니다.
[length]: 3
[length]: 5
[length]: 10
이 코드 샘플은 MIT 라이선스를 따릅니다.