- 수업 내용 리마인드 및 아카이빙 목적의 업로드
프롬프팅 테크닉이란?
인공지능(AI)과의 상호작용에서 프롬프트는 사용자가 AI에게 주는 질문이나 명령입니다. 하지만 프롬프트를 어떻게 구성하느냐에 따라 AI의 응답 질이 크게 달라진다는 사실, 알고 계셨나요? 바로 이 지점에서 프롬프팅 테크닉이 중요한 역할을 합니다.
프롬프팅 테크닉은 AI가 더 정확하고 유용한 답변을 생성할 수 있도록 프롬프트를 설계하는 방법을 말합니다. AI는 주어진 명령에 따라 답변을 생성하기 때문에, 우리가 원하는 답을 얻기 위해서는 어떻게 질문을 구성할지에 대한 전략이 필요합니다. 이 글에서는 8가지 주요 프롬프팅 테크닉을 쉽게 설명하고, 이를 통해 어떻게 AI의 응답을 최적화할 수 있는지 알아보겠습니다.
1. Few-Shot Example
Few-shot 프롬프팅은 AI에게 몇 가지 예시를 제공하여 더 나은 응답을 이끌어내는 방식입니다. 예를 들어, AI에게 "사과는?"이라고 질문하기보다는, "사과는 과일, 토마토는 식물" 같은 예시를 주면 AI는 맥락을 이해하고 이에 맞는 답을 생성합니다.
예시:
- 프롬프트: 고양이: 동물, 오렌지: 과일, 나무: 식물, 비둘기:
- AI 응답: 조류
이처럼 몇 가지 예시를 제공하면 AI가 문맥을 파악하여 더 정확한 응답을 생성하게 됩니다.
2. CoT (Chain-of-Thought)
CoT(Chain-of-Thought) 테크닉은 AI가 복잡한 문제를 풀 때, 그 과정을 단계별로 설명하게 하는 방법입니다. 이 기법은 AI가 중간 추론 단계를 거쳐 논리적인 답을 제시하는 데 유용합니다.
예시:
- 프롬프트: 철수는 테니스공 5개를 가지고 있습니다. 철수는 테니스공을 담은 통을 2개 더 샀는데, 각 통에는 테니스공 3개가 있습니다. 철수는 이제 몇 개의 테니스공을 가지고 있을까요? 단계별로 설명해 주세요.
- AI 응답: 철수는 처음에 테니스공 5개를 가지고 있었습니다. 통 하나에 테니스공 3개씩 들어 있는 통을 2개 샀으니, 총 6개의 테니스공이 추가됩니다. 따라서 철수는 5 + 6 = 11개의 테니스공을 가지고 있습니다.
이 방식은 수학 문제나 논리적 추론이 필요한 작업에서 효과적입니다.
3. Zero-Shot CoT
Zero-Shot CoT는 CoT의 확장된 개념으로, AI에게 예시를 주지 않고도 문제 해결을 위한 단계별 추론을 유도하는 방식입니다. 프롬프트 마지막에 "Let's think step by step."이나 "단계별로 생각해 봅시다."와 같은 문구를 추가하면 AI가 논리적 단계를 따라 답변을 생성합니다.
예시:
- 프롬프트: 식당에 사과 23개가 있습니다. 점심을 만들기 위해 20개를 사용하고 6개를 더 샀습니다. 그 후 3개를 먹었다면 사과가 몇 개 남았을까요? 단계별로 생각해 봅시다.
- AI 응답: 처음에는 사과가 23개 있었습니다. 20개를 사용했으니 23 - 20 = 3개가 남았습니다. 6개를 더 사서 3 + 6 = 9개가 되었고, 3개를 먹었으니 9 - 3 = 6개가 남았습니다.
4. Self-Consistency
Self-Consistency는 AI가 다양한 추론 경로를 통해 여러 답변을 생성한 후, 가장 일관된 답변을 선택하는 방식입니다. 이 방법은 여러 번의 시도를 통해 가장 정확한 답을 도출하게 만듭니다.
예시:
- 프롬프트: 철수는 막대사탕 20개를 가지고 있었고, 지금은 12개만 가지고 있습니다. 철수는 몇 개의 막대사탕을 줬을까요?
- AI 응답 1: 철수는 8개의 막대사탕을 주었습니다.
- AI 응답 2: 철수는 20 - 12 = 8개의 막대사탕을 주었습니다.
- 결론: AI는 여러 경로를 통해 동일한 답을 제시하므로, 일관된 결과를 신뢰할 수 있습니다.
5. Selection-Inference
Selection-Inference는 복잡한 문제를 풀 때, 문제를 해결하기 위해 선택과 추론을 교차하는 방식입니다. 이 기법은 문제를 여러 단계로 나누어 각각의 단계에서 AI가 선택을 하도록 유도하여 최종 답을 이끌어냅니다.
예시:
- 프롬프트: 영희가 미끄럼틀 꼭대기까지 올라가는 데 4분이 걸리고, 내려오는 데 1분이 걸립니다. 미끄럼틀이 15분 후에 문을 닫습니다. 영희는 몇 번 미끄러질 수 있을까요?
- AI 응답: 한 번 미끄럼틀을 타는 데 5분이 걸립니다. 15분 동안 영희는 총 3번 미끄럼틀을 탈 수 있습니다.
이 방식은 복잡한 논리적 사고를 필요로 하는 문제 해결에 적합합니다.
6. Least-to-Most
Least-to-Most는 문제를 여러 개의 작은 하위 작업으로 나누고, 각 작업을 해결하면서 최종 문제를 해결하는 방식입니다. 단계적으로 문제를 해결하며 각각의 답변을 연결해 최종 답을 도출합니다.
예시:
- 프롬프트: 영희가 미끄럼틀 꼭대기까지 올라가는 데 4분이 걸리고, 내려오는 데 1분이 걸립니다. 그녀는 미끄럼틀을 몇 번 탈 수 있을까요? 이 문제를 풀기 위한 하위 질문을 하나 만들어주세요.
- AI 응답: 그녀가 한 번 올라가고 내려오는 데 걸리는 시간은 얼마인가요?
- 답: 총 5분이 걸립니다. 이를 바탕으로 15분 동안 3번 미끄럼틀을 탈 수 있습니다.
7. ReAct
ReAct는 AI가 생각, 행동, 관찰을 번갈아 가며 문제를 해결하는 방식입니다. 이 기법은 AI가 추론과 행동을 결합하여 더 신뢰할 수 있는 답변을 생성하게 도와줍니다.
예시:
- 프롬프트: 콜로라도의 동쪽 고원의 고도 범위는 어떻게 되나요?
- AI 응답: AI는 먼저 고원에 대한 정보를 검색한 뒤, 해당 지역의 고도 범위를 1,800피트에서 7,000피트라고 정확히 답합니다.
ReAct는 AI가 외부 정보와 상호작용하거나 검색하여 문제를 해결할 수 있도록 돕습니다.
8. Self Evaluation
Self Evaluation은 AI가 자신의 답변을 평가하게 만들어, 오류를 찾아내고 스스로 답변을 수정하도록 하는 기법입니다. 이는 고도의 LLM에서 효과적으로 사용되며, AI가 스스로 피드백을 받아 개선할 수 있게 해줍니다.
예시:
- 프롬프트: 9 + 16 × 3을 계산하세요.
- AI 응답: 75
- 자체 평가: 곱셈을 먼저 해야 하는데 덧셈을 먼저 했습니다. 올바른 답은 57입니다.
프롬프팅 테크닉의 미래
이러한 프롬프팅 테크닉들은 AI의 성능을 극대화하고, 더 나은 결과를 얻기 위해 개발되었습니다. 각 테크닉은 특정 상황에서 효과적인 답변을 이끌어낼 수 있도록 돕습니다. AI와 상호작용할 때 이러한 테크닉들을 활용하면 더 정확하고 창의적인 답변을 얻을 수 있습니다.
'+ 개발' 카테고리의 다른 글
파라미터로 AI 대화 제어하기: ChatCompletion 활용법 (2) | 2024.10.08 |
---|---|
추론 능력 향상을 위한 확장 프롬프팅 테크닉 (3) | 2024.10.07 |
AI 실험실: OpenAI Playground의 모든 것 (8) | 2024.10.05 |
LLM이란? 대규모 언어 모델의 개념과 활용법 (9) | 2024.10.04 |
LangChain과 RAG: AI를 더 똑똑하게 만드는 기술 (4) | 2024.10.03 |