Prompt Engineering이란?

Prompt Engineering이란?

Prompt Engineering은 AI 모델, 특히 NLP 모델에게 특정 입력(프롬프트)을 제공하여 원하는 출력을 얻어내는 기술 및 과정을 말합니다. GPT와 같은 LM을 활용하여 정보를 얻어내는 방법은 현재 여러 분야에서 이미 활용되고 있고, 앞으로 이것을 활용하는 능력은 더더욱 중요해질 것입니다.


왜 알아야 해?

이전까지는 검색 엔진을 통해 원하는 정보를 찾는 능력이 핵심적이었습니다. 하지만, 기술의 발전은 새로운 패러다임을 가져왔습니다. 바로 GPT와 같은 언어 모델(LM)을 활용하여 정보를 얻어내는 방법입니다. 따라서 우리는 이 LM을 잘 활용하는 방법을 알아야 앞으로 원하는 정보를 더 세밀하고 빠르게 얻어낼 수 있을 것입니다. 그리고 검색 능력이 교양처럼 자리한 지금 앞으로는 LM을 잘 활용하는 능력이 교양으로 자리하게 될 것이라 생각합니다.


안좋은 예시

예를 들어, “파리에 대해 설명해 줘” 라는 문장은 너무 모호합니다. ‘파리’가 프랑스의 수도일 수도, 곤충을 의미할 수도 있기에 모델이 혼동할 수 있습니다. 대신, “프랑스의 수도 파리에 대해서 설명해 줘” 라는 문장으로 내가 원하는 정보에 대해서 명확하게 알려주면 관련성 높은 정보를 제공할 가능성이 높아집니다.


프롬프트를 잘 쓰는 요령

1. 명확하고 구체적인 지시사항 제시

질문이나 지시사항이 모호하지 않고 정확해야 합니다. 목적이나 필요한 정보의 종류를 명시적으로 밝히세요.

불명확한 지시

파이썬에 대해 알려줘.

명확한 지시

파이썬에서 리스트 컴프리헨션의 기본 문법과 예제 코드를 알려줘.

2. 컨텍스트 제공

질문이나 요청이 특정 상황, 조건, 배경 지식에 기반하는 경우, 그 컨텍스트를 명확히 제공하세요. 이는 모델이 답변의 맥락을 이해하는데 도움이 됩니다. 그리고 이러한 컨텍스트 제공은 대화형 AI가 요구하는 정보의 정확도와 관련성을 높여, 보다 맞춤화된 해결책을 제시할 수 있게 돕습니다.

컨텍스트가 없는 지시

Swift에서 배열을 다루는 법 알려줘.

컨텍스트가 있는 지시

iOS 앱 개발을 위해 Swift를 배우고 있어. 사용자가 입력한 데이터를 저장하고 관리해야 할 상황인데, Swift에서 배열을 사용하여 여러 사용자의 이름과 나이 정보를 어떻게 저장하고, 이 정보를 기반으로 사용자를 나이 순으로 정렬하는 방법을 알려줘.

3. 원하는 출력 형식 제공

일정한 양식에 정확히 들어맞는 답을 얻고자 할 때 원하는 출력 형식을 제공하는 것이 유용할 수 있습니다.

형식을 제공하지 않은 프롬프트

커피에 대해 설명해줘.

형식을 제공한 프롬프트

커피의 역사, 종류, 그리고 제조 방법에 대해 각각 3개 항목으로 요약해줘. 각 부분은 목록 형태로 정리해줘.