brunch

AI 개발_프롬프트엔지니어링

우선 쉬운 것부터

by 인류에 대한 기여

프롬프트엔지니어링

1. AI 비즈니스를 하는 방법

프롬프트엔지니어링은 AI 모델을 개발하고 검증하는 과정에서도 필요하고, AI 모델을 활용해 새로운 서비스 및 툴을 개발하는 경우에도 필요


1. 대규모 언어 모델을 스스로 개발한다.

- 수백억 원이면 비슷한 것을 만들 수 있다. (단 그 사이 상대는 더 앞서간다.)
- 앞으로의 파급력을 생각하면, 이 싸움에 뛰어들 수 있는 티겟은 싸다. 이 기회가 열려있는 기간은 짧다.
2. API를 이용한 서비스 개발을 장려한다.

- ChatGPT 등 API를 이용해 현지화된 전용 앱, 전용 소프트웨어가 많이 등장했다. 국내 시장이기 때문에 최소한 이 부분을 잘 키워야 한다.
- 한편 애플 스토어 등과 마찬가지로 수수료를 계속 지불해야 한다.
3. 사용자로서의 활용을 촉진한다.

- DX 가 진행되지 않은 현 상황에서 언어에 의한 지시가 가능하다는 것을 DX의 결정적 계기가 될 가능성이 있다.
- DX의 도약의 기회(아프리카에 유선전화가 들어오지 않았는데 휴대폰이 들어온 것처럼)



Garbage in, garbage out(쓰레기가 들어가면 쓰레기가 나온다.)

좋은 프롬프트를 넣어야, 좋은 답변을 얻을 수 있다.


2. 프롬프트 개념 이해하기

인공지능으로부터 원하는 결과물을 얻기 위해 프롬프트를 설계하는 과정

프롬프트는 LLM에 규칙을 적용하고, 프로세스를 자동화하여, 생성된 출력의 특정 품질(및 양)을 보장하기 위해 제공하는 지시 사항, 혹은 LLM의 출력 및 상호 작용을 사용자 화할 수 있는 프로그래밍의 한 형식



구체적 지시-> 명확한 단어 -> 맥락제공-> 구조의 형식화 -> 일관성 유지




3. 프롬프트 엔지니어링 기법


1. Few shot

설명: 모델에게 몇 가지 예제를 보여주어 특정한 작업을 학습하거나 수행하도록 하는 기법.
장점: 모델이 적은 학습 데이터로도 더 정밀한 답을 생성할 수 있도록 유도합니다.
예시: Q: 2 + 2는 얼마입니까? A: 4Q: 5 + 3은 얼마입니까? A: 8Q: 10 + 4는 얼마입니까? A:
2. 역할지정 기법

설명: 모델에게 특정 역할(예: 선생님, 학생, 의사 등)을 명확히 지정하여 답변을 유도하는 기법
장점: 답변의 톤과 내용이 더 일관되고 문맥에 맞도록 할 수 있습니다.
예시: 당신은 역사 선생님입니다. 학생들에게 2차 세계대전에 대해 설명해 주세요.
3. 마크다운 활용 기법

설명: 마크다운 문법을 사용하여 출력 형식을 지정합니다. 목록, 표, 강조 표시 등을 활용
장점: 출력이 가독성이 높고 구조화되어 사용자가 쉽게 이해할 수 있습니다.
예시: ### 질문 2차 세계대전의 원인은 무엇입니까? ### 답변- 주원인: 베르사유 조약의 부당함 - 부차적 원인: 경제적 불황, 독일의 군사력 강화


4. 후카츠프롬프트 기법

설명: 일본어 "후카츠(復活)"에서 유래된 기법으로, 모델이 이전 대화를 기억하고 자연스럽게 연결되도록 유도하는 기법
장점: 대화형 AI와의 연속적인 대화를 강화하는 데 유용합니다.
예시: 사용자: 프랑스혁명에 대해 간단히 알려주세요. AI: 프랑스혁명은 1789년에 시작된 혁명으로, 자유, 평등, 박애의 가치를 추구했습니다. [새로운 질문]: 그렇다면 프랑스혁명이 산업혁명에 미친 영향은 무엇인가요?
5. 형식지정기법

설명: 출력 형식을 명확히 지정하여 원하는 구조로 답을 생성하도록 유도
장점: 출력물이 일관되고 사용자 요구에 맞도록 정형화
예시: 다음 정보를 표 형식으로 정리해 주세요: - 주제: 프랑스혁명- 기간: 1789~1799- 주요 사건: 바스티유 습격, 왕정 폐지
6. 슌스케템플릿 기법

설명: 특정한 템플릿을 활용하여 질문 및 답변을 구조화
장점: 일관된 형식을 유지하고, 복잡한 작업에서도 오류를 줄일 수 있습니다.
예시: 템플릿: - 질문: {질문 내용} - 답변: {답변 내용} - 참고자료: {자료 내용}
7. Q&A 기법

설명: 모델에게 질문-답변 형식으로 정보를 전달하고, 이에 따라 응답을 생성하도록 하는 기본적이고 직관적인 기법
장점: 간결한 인터페이스로 정보 교환이 가능
예시: Q: 태양은 왜 뜨겁습니까? A: 태양은 핵융합 반응으로 인해 높은 온도를 유지합니다.
8. Chain of thought 기법
설명: 모델이 답을 도출하기 위해 논리적 사고 과정을 단계적으로 작성하도록 유도하는 기법
장점: 복잡한 문제에서 정밀한 답변을 생성할 수 있습니다.
예시: 문제: 12개의 사과를 4명이 공평하게 나누면 몇 개씩 가지게 됩니까? 답변: 1. 먼저 사과의 총개수를 확인합니다: 12개. 2. 사람 수를 확인합니다: 4명. 3. 나누기를 수행합니다: 12 ÷ 4 = 3. 결과적으로, 각 사람은 3개씩 가집니다.
9. 이어 쓰기 기법

설명: 모델에게 주어진 문장을 기반으로 글을 이어서 작성하도록 유도하는 기법
장점: 창작 작업이나 긴 글 작성 시 유용합니다.
예시: 다음 이야기를 이어서 작성하세요: "옛날에 한 마을에 용감한 소년이 살고 있었습니다. 그는 매일..."
10. 멀티 페르소나 기법

설명: 모델이 여러 역할을 번갈아 가며 수행하도록 유도하는 기법
장점: 토론, 대화 시뮬레이션 등에 유용하며, 다양한 관점을 제공합니다.
예시 : 당신은 철학자와 과학자 두 역할을 수행합니다. - 철학자: "인간의 의식이란 무엇인가?" - 과학자: "의식은 뇌의 신경 활동에서 비롯됩니다."
11. 할루시네이션 유도 기법

설명: 모델이 의도적으로 창의적이거나 비현실적인 응답을 생성하도록 유도하는 기법
장점: 창작, 스토리텔링, 혹은 실험적 연구에 유용합니다.
예시 : 현실에 존재하지 않는 동물을 상상해서 설명하세요. 예: 파란 털과 날개를 가진 고양이 같은 생물.
12. React 기법

설명: 모델이 행동(실행)과 논리를 번갈아 가며 수행하는 방식으로, 작업 수행 중 이유를 제공하면서 답변을 생성하는 기법
장점: 복잡한 작업의 논리적 이유를 설명하며 더 신뢰성을 줍니다.
예시: 질문: 45를 5로 나누고 결과를 2배로 하면 무엇입니까? 답변: 1. 나누기를 먼저 수행합니다: 45 ÷ 5 = 9. 2. 결과를 2배로 만듭니다: 9 × 2 = 18. 최종 답변: 18.


4. 프롬프트엔지니어링 노하우


1. 읍습체 만들기

모든 문장은 '음''함''임'으로 끝나야 해


2.#정보, #지시문, #예시, #필수표현, #제약조건, #도출과정, #출력형식 추가하기


#출력형식1

수정 : [내가 입력한 영어 문장을 자연스러운 영어로 바꿔서 출력]

이유 : [그렇게 수정한 이유를 한국어로 출력 ]

대체표현 : [ 내가 입력한 문장과 비슷한 표현을 추천 ]

답변 : [ 내가 입력한 문장에 대한 당신의 답을 영어로 출력 ]

해석 : [ 당신의 답변에 대한 한국어 해석을 출력 ]


# 출력형식2

[응답을 옛날 궁궐에서 쓰는 신하 말투로 출력 - 사옵니다.- 하옵니다로 출력]


# 제약조건

1. 친근한 말투로 변환해 주세요

2. SNS 게시물의 느낌으로 해주세요

3. 내용은 풍성하게 꾸며주세요

4. 마지막에는 해시테그를 작성해 주세요

keyword
이전 03화최종 의사결정자(DRI)