프롬프트 엔지니어링 (Prompt Engineering)
프롬프트 (prompt)는 ChatGPT에게 질문이나 지시를 주는 문장이나 단어이다. ChatGPT가 생성해 내는 응답의 품질은 주어진 프롬프트에 따라 크게 달라진다.
프롬프트 엔지니어링은 언어 모델이 특정 목표나 목적에 맞는 글을 생성하도록 안내하는 프롬프트 또는 프롬프트 세트를 설계하는 프로세스를 말한다. 이는 ChatGPT와 같은 인공지능 모델을 더 효과적으로 활용하기 위해 굉장히 중요하다. 모델은 입력된 프롬프트를 기반으로 텍스트를 생성하기 때문에, 명확하고 구체적인 프롬프트를 제공하는 것이 원하는 결과물을 얻는 핵심이다. 다시 말해, 프롬프트 엔지니어링은 AI, 그 중에서도 NLP 분야의 개념으로, AI가 생성하는 결과물의 품질을 높일 수 있는 프롬프트 입력값들의 조합을 찾는 작업이다.
최근에는 '프롬프트 엔지니어’라는 직업이 등장하고 있다. 이들은 AI가 최고의 결과물을 도출하는 데 필요한 명령어, 즉 ‘프롬프트’ (prompts)를 작성하는 한편 AI 관련 인력을 훈련하는 일을 하는 직역을 말한다.
명확하고 구체적인 질문
질문이나 요청이 명확하고 구체적이어야 한다. 예를 들어, "고양이에 대해 설명해줘" 보다는 "고양이의 일반적인 행동과 그 원인에 대해 설명해줘"라고 하는 것이 더 좋다.
문맥 제공 (in-context learning)
관련 문맥을 제공하면 더 정확한 답변을 얻을 수 있다. 예를 들어, 프로그래밍에 관한 질문을 할 때 사용하려는 프로그래밍 언어나 기술 스택에 대한 정보를 포함시키면 도움이 된다.
질문 나누기 (decomposition)
복잡한 질문은 여러 부분으로 나누어 질문하는 것이 좋다. 이 방법으로 LLM은 각 부분에 더 정확하고 상세하게 답변할 수 있다.
의도 명확히 하기 (답변 대상을 정하기)
특정 목적이나 의도가 있는 질문에는 그 의도를 명확히 밝히는 것이 중요하다. 예를 들어, 어떤 개념을 배우기 위해 질문하는 경우, "이 개념을 처음 배우는 학생에게 설명해 줘"라고 요청하면 적합한 수준의 답변을 얻을 수 있다.
반복적인 피드백 사용
답변이 만족스럽지 않을 경우, 구체적인 피드백을 제공하여 반복적으로 질문을 수정하고 다시 요청하면 좋다. 예를 들어, "더 상세하게 설명해 줄 수 있어?", "다른 예제도 보여줄 수 있어?", “너무 뻔한 답변인데 다른 답변은 없을까?”, “지금 답변 너무 좋아. 이 방식대로 추가 예시를 보여줘.” 같은 피드백을 주면 답변이 개선된다.
페르소나 지정
어떤 맥락에서 답변을 하면 좋은지 지정해준다. 예들 들어, “당신은 컴퓨터공학 교수이다”, “너는 AI를 처음배우는 고등학생이야”, “당신은 10년차 프론트엔드 엔지니어이다”와 같이 상황을 추가하면 좋을 것이다.
예시 전달 (few-shot learning)
사용자가 직접 어떤 식으로 답변을 받을 것인지 정해주는 방법이다.
“At its core, LangChain is a framework built around LLMs. We can use it for chatbots, Generative Question-Answering (GQA), summarization, and much more. 이 문장을 영어로 번역해줘.” 보다는 아래는 몇 가지 번역 예시야. 이런 식으로 번역해줘.
|
스스로 생각할 기회 주기 (Chain-of-Thought Prompting)
Let’s think step by step을 추가한다. 특히, Knowledge Reasoning을 해야하는 상황 (수학 문제 풀기, 복잡한 상황에 대한 추론)에 효과가 좋다.
직접적인 보상에 대해 얘기
|
좋게 말하기
|
'Linguistic Intelligence > Prompt Engineering' 카테고리의 다른 글
[Prompt Engineering] Langchain (0) | 2024.04.16 |
---|---|
ChatGPT (0) | 2023.05.04 |
OpenAI (0) | 2023.05.04 |