GitHub

프롬프트 엔지니어링: chat GPT에게 먹히는 진짜 질문패턴

hojun lee · 09/13/2023
커버이미지

프롬프트 엔지니어링

프롬프트 엔지니어링(Prompt Engineering)은 AI 모델에게 질문을 통해 지식을 추출하는 방법입니다. 프롬프트 엔지니어링은 자연어 처리(NLP) 기술의 발전과 함께 최근 주목받고 있는 기술입니다.

promt1.png

왜 필요한가

요즘 Chat GPT를 활용해 엄청난 효율의 능력을 가질 수 있었다. 기획, 코드, 버그해결 등 나에게도 엄청난 이점을 가져왔다. 하지만 진짜인지 검증하는 과정도 필요했고, 할루시네이션(아는척)을 구분하는 방법에 애를 먹은 적이 있다. 이는 패턴을 활용해 AI 모델이 아는 척 하지 않을 수 있게 질문을 하면 도움이 된다고 한다.

그 패턴들을 알아보자.

프롬프트 패턴 ( to AI 모델 )

프롬프트 엔지니어링은 몇가지 패턴으로 구분할 수 있습니다.

페르소나 패턴

: 프롬프트 엔지니어링에서 가장 많이 사용되는 패턴입니다. 이 패턴에서는 AI 모델에게 특정 역할을 부여하고, 그 역할에 맞는 답변을 하도록 합니다.

예를 들어, AI 모델에게 "당신은 FANG의 엔지니어입니다. 보안과 성능에 주의를 기울여 다음 코드를 검토하세요" 라고 프롬프트를 주면 AI 모델은 FANG의 엔지니어로서 보안과 성능에 주의를 기울여 코드를 검토하고 답변을 제공합니다.

레시피 패턴

: AI 모델에게 특정 작업을 수행하도록 하는 패턴입니다.

예를 들어, AI 모델에게 "데이터 암호화 프로그램을 js로 구현하려고합니다. 사용자 입력을 읽고 유효성을 검사하고 암호화하고 검사해야한다는 것을 알고 있습니다. 이를 위해 전체 단계 순서를 알려주고, 누락된 단계를 채우고, 불필요한 단계가 있는지 확인해주세요" 라고 프롬프트를 주면 AI 모델은 데이터 암호화 프로그램을 js로 구현하기 위한 전체 단계 순서를 제공합니다.

promt2.png

리플렉션 패턴

:모든 답변에 이유를 요청하는 패턴입니다. > "답변을 제공할떄는 답변의 근거와 가정을 설명하세요. 선택한 사항을 설명하고 잠재적인 제한 사항이나 엣지 케이스를 설명하세요."

거부 차단기 패턴

: 특정상황에서 답변을 거부하는 상황이 생깁니다. 그럴 땐 다른 방법으로 답변을 우회는 방법을 제시해줍니다. > "질문에 거부할때마다 거부의 이유를 작성하시오. 답변할 수 있는 질문의 대체 표현을 하나이상 제공하세요."

promt3.png

뒤집힌 상호작용패턴

:내가 목적에 다다를 방법을 알지못할 때, AI 모델이 역으로 질문해 결과를 도출해내는 패턴입니다.

예를 들어, "구글 OAuth로 로그인을 구현하기 위한 질문을 나에게 하세요. 필요한 모든 정보를 얻으려면 oath를 구현하는 코드와 래퍼런스를 작성하세요."

중요성

프롬프트 엔지니어링은 AI 모델에게 질문을 통해 지식을 추출하는 방법이기 때문에, AI 모델이 정확한 답변을 제공할 수 있도록 프롬프트를 잘 설계하는 것이 중요합니다. 프롬프트를 잘 설계하면 AI 모델이 다양한 분야에서 유용한 서비스를 제공할 수 있습니다.

전망

프롬프트 엔지니어링은 아직 초기 단계에 있지만, 앞으로는 AI 모델이 다양한 분야에서 유용한 서비스를 제공할 수 있도록 프롬프트 엔지니어링 기술이 더욱 발전할 것으로 기대됩니다.

promt4.png