생성 AI를 위한 신속한 엔지니어링

프롬프트 엔지니어링은 LLM에서 최고의 출력을 얻기 위해 올바른 질문을 하는 기술입니다. 일반 언어 메시지만 사용하여 LLM과 직접 상호작용할 수 있습니다.

과거에는 머신러닝 모델로 작업하려면 일반적으로 데이터 세트, 통계, 모델링 기법에 대한 깊은 지식이 필요했습니다. 오늘날 LLM은 영어와 다른 언어로 '프로그래밍'할 수 있습니다.

뛰어난 프롬프트 엔지니어가 되려면 코딩 경험이 필요하지 않습니다. 그러나 창의성과 끈기를 갖추면 여정에서 큰 도움이 될 수 있습니다. 유용한 메시지 작성 기법을 알아보세요.

프롬프트 권장사항

  1. 가장 중요한 콘텐츠나 정보를 명확하게 전달하세요.

  2. 메시지 구성: 먼저 역할을 정의하고 컨텍스트/입력 데이터를 제공한 후 안내를 제공합니다.

  3. 구체적이고 다양한 예시를 사용하여 모델이 집중 범위를 좁히고 더 정확한 결과를 생성하도록 돕습니다.

  4. 제약조건을 사용하여 모델 출력 범위를 제한합니다. 이렇게 하면 안내에서 사실과 다른 부정확한 부분을 피할 수 있습니다.

  5. 복잡한 작업을 간단한 프롬프트 시퀀스로 세분화합니다.

  6. 모델이 응답을 생성하기 전에 자체 응답을 평가하거나 확인하도록 지시합니다. ("응답을 3개의 문장으로 제한하세요.", "작업의 간결성을 위해 1~10점으로 평가해 주세요.", "이 내용이 맞다고 생각하시나요?"").

아마도 가장 중요한 질문은 다음과 같습니다.

창의성을 발휘하세요. 창의성과 열린 마음가짐이 많을수록 좋은 결과가 나옵니다. LLM과 프롬프트 엔지니어링은 아직 초기 단계이며 매일 발전합니다.

메시지 유형

직접 메시지 (슛 샷)

직접 메시지 (제로샷이라고도 함)는 가장 간단한 유형의 유형입니다. 모델에 예시를 제공하지 않고 명령어만 제공합니다. 안내를 질문으로 표현하거나 아래의 두 번째 예시에 나온 것처럼 모델에 '역할'을 부여할 수도 있습니다.

다음을 제공합니다.

  1. 지침
  2. 일부 컨텍스트

아이디어 생성:

Prompt: Can you give me a list of ideas for blog posts for tourists visiting
New York City for the first time?

역할 메시지:

Prompt: You are a mighty and powerful prompt-generating robot. You need to
understand my goals and objectives and then design a prompt. The prompt should
include all the relevant information context and data that was provided to you.
You must continue asking questions until you are confident that you can produce
the best prompt for the best outcome. Your final prompt must be optimized for
chat interactions. Start by asking me to describe my goal, then continue with
follow-up questions to design the best prompt.

데이터 구성:

Prompt: Create a four-column spreadsheet of 10 highly-rated science fiction
movies, year of release, average audience rating, and top 3 keywords from
audience reviews.

Make sure to cite the source of the audience rating.

예시가 포함된 메시지 (일회성, 여러 번, 다중 촬영)

원샷 프롬프트는 모방하려는 모델의 명확하고 구체적인 예를 모델에 보여줍니다.

예시 사용:

Prompt:

Come up with a list of ideas for blog posts for tourists visiting
New York City for the first time.

1. Fuggedaboutit! Where to Stay in New York City On Your First Visit

몇 번 또는 여러 번 표시하는 프롬프트는 모델이 원하는 작업의 예를 더 많이 보여줍니다. 패턴 복제가 필요한 보다 복잡한 작업 또는 설명하기 어려운 특정한 방식으로 출력을 구조화해야 하는 경우 0샷보다 더 효과적입니다.

퓨샷 감정 분류:

Prompt:

Great product, 10/10: Positive
Didn't work very well: Negative
Super helpful, worth it: Positive
It doesn't work!:

이 메시지가 실행되면 모델의 응답은 예처럼 '작동하지 않음'을 긍정적 또는 부정적으로 분류합니다.

연속 촬영 이모티콘 응답 예측자:

Prompt: Predict up to 5 emojis as a response to a text chat message. The output
should only include emojis.

input: The new visual design is blowing my mind 🤯
output: ➕,💘, ❤‍🔥

input: Well that looks great regardless
output: ❤️,🪄

input: Unfortunately this won't work
output: 💔,😔

input: sounds good, I'll look into that
output: 🙏,👍

input: 10hr cut of jeff goldblum laughing URL
output: 😂,💀,⚰️

input: Woo! Launch time!

동일한 프로세스이지만 프롬프트가 더 복잡하므로 에뮬레이션할 모델에 더 많은 예시가 제공됩니다.

사고의 촉구

체인의 생각 (CoT)은 LLM이 그 이유를 설명하도록 유도합니다. 응답하기 전에 추론이 필요한 더 복잡한 태스크에서 더 나은 결과를 얻으려면 짧은 프롬프트와 함께 사용합니다.

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.
A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.
The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1.
A:

샷샷 CoT

이전의 제로샷 프롬프트를 떠올려 보면 이 접근 방식은 제로샷 프롬프트를 사용하여 '단계별 사고를 가지자'라는 안내를 추가합니다. LLM은 이 안내에서 생각의 연쇄를 생성할 수 있으며, 일반적으로 더 정확한 답변입니다. 이는 LLM이 단어 문제와 같은 문제의 정답을 생성하도록 하는 훌륭한 접근 방식입니다.

Prompt:

I went to the market and bought 10 apples. I gave 2 apples to the neighbor and
2 to the repairman. I then went and bought 5 more apples and ate 1. How many
apples was I left with?

Let's think step by step.

프롬프트 반복 전략

프롬프트를 몇 번 (또는 수십 번) 다시 작성하는 것이 얼마나 현실이 되는지 알아보세요. 문제가 발생할 경우 메시지를 다듬는 몇 가지 방법을 소개합니다.

참고: 모델이 개선되면 시간이 지나면서 이러한 전략이 덜 유용하거나 필요하지 않을 수 있습니다.

  1. 키워드, 문구, 아이디어 반복하기

  2. 원하는 출력 형식 지정 (CSV, JSON 등)

  3. 중요한 사항을 강조하기 위해 모두 대문자를 사용합니다. 과장된 표현이나 과장된 표현도 시도할 수 있습니다. '설명을 완전히 해석하는 것은 절대 불가능해야 합니다. 모든 단어를 명확하게 표현해야 합니다."

  4. 동의어 또는 대체 표현을 사용합니다 (예: '요약' 대신 입력 텍스트에 'tldr' 추가). 서로 다른 단어 또는 문구로 교체하고 어느 것이 더 나은지 또는 더 나쁜지를 문서화합니다.

  5. 긴 프롬프트로 샌드위치 기법을 시도해 보세요. 서로 다른 위치에 동일한 문을 추가합니다.

  6. 메시지 라이브러리를 활용해 아이디어를 얻어 보세요. 먼저 Prompt Hero와 이 메시지 갤러리를 사용하는 것이 좋습니다.

추가 리소스

메시지 표시 권장사항

메시지 확인 (외부)