구글 딥마인드 유추 프롬프팅 가이드: 프롬프트 엔지니어링 필수 템플릿
귀찮은 ‘예시 찾기’는 이제 그만: 유추 프롬프팅(Analogical Prompting)
ChatGPT나 Claude를 쓰면서 원하는 답변 양식을 맞추기 위해 예시(Few-shot examples)를 일일이 타이핑하거나 복사해 붙여넣느라 진 빠진 적, 다들 있으시죠?
“이런 느낌으로 해줘”라며 예제 A, B, C를 떠먹여 주는 건 확실히 효과적이지만, 매번 적절한 예제를 찾아 헤매는 건 꽤나 번거로운 일입니다. 새로운 유형의 문제라면 예제를 창조하느라 본말전도가 되기도 하고요.
오늘은 이 귀찮은 과정을 AI에게 위임하는 방법, 유추 프롬프팅(Analogical Prompting)을 소개합니다. 구글 딥마인드와 스탠포드 연구진이 고안한 이 방법은, 라벨링 된 데이터 하나 없이도 모델의 추론 능력을 극적으로 끌어올립니다.
인간처럼 생각하기: 기출문제의 힘
우리가 낯선 수학 문제를 마주했을 때를 떠올려 볼까요? 무턱대고 공식부터 대입하는 사람은 드뭅니다. 대개는 “어? 이거 지난번에 풀었던 그 문제랑 구조가 비슷한데?” 하며 과거의 경험을 뒤적거립니다.
이것이 바로 유추적 추론(Analogical Reasoning)입니다. 과거의 성공 경험(풀이 과정)을 현재의 문제에 대입하는 것이죠. 기존 프롬프트 방식과 유추 프롬프팅은 바로 이 지점에서 결정적인 차이가 납니다.
- ❌ 기존 방식 (Few-shot CoT): 사람이 직접 유사한 예제와 풀이를 찾아 프롬프트에 입력해야 합니다. 정확도는 높지만, ‘수동 노동’이 필수적입니다.
- ✅ 유추 프롬프팅: AI에게 “이 문제랑 비슷한 예제를 네가 직접 만들고, 그걸 참고해서 풀어봐”라고 시킵니다. AI가 스스로 ‘맞춤형 참고서’를 만드는 셈입니다.
어떻게 질문해야 할까? (기본편)
개념은 심플합니다. 프롬프트 하나에 ‘예제 생성’과 ‘문제 해결’ 과정을 순서대로 담으면 됩니다. 연구진이 검증한 기본 템플릿은 다음과 같습니다.
# Instruction: ## Relevant Problems: 현재 문제와 관련된 수학 문제 3가지를 상기해 보세요. 각 문제는 서로 달라야(distinct) 하며, 현재 문제와도 다른 숫자나 이름을 사용해야 합니다. 각 문제에 대해 다음을 수행하세요: "Q: ": 문제를 설명하세요. "A: ": 풀이 과정을 설명하고 최종 답을 제시하세요. ## Solve the Initial Problem: Q: [여기에 풀고자 하는 문제를 입력하세요] A: 위에서 생성한 예제들을 참고하여 풀이 과정과 정답을 제시하세요.
왜 효과적일까요? 연구 결과, 모델에게 “서로 다른(distinct) 문제를 생성하라”고 명시했을 때 성능이 가장 좋았습니다. 단순히 비슷한 걸 베끼는 게 아니라, 다양한 케이스를 검토하며 문제 해결의 입체성을 높이는 원리입니다. 실제로 이 방식은 사람이 공들여 짠 예제(Few-shot)보다 평균 4% 더 높은 정확도를 보여주었습니다.
코딩 고수처럼 생각하기 (심화편)
하지만 코딩이나 복잡한 알고리즘 문제라면 단순히 ‘비슷한 예제’만으로는 부족할 때가 있습니다. 동적 계획법(DP)을 풀어야 하는데 단순 반복문 예제만 떠올린다면 낭패를 보겠죠.
이때는 예제 생성 전에 ‘핵심 개념(Tutorial)’을 먼저 정리하게 시키는 전략이 유효합니다.
# Problem: [여기에 알고리즘/코딩 문제를 입력하세요] # Instruction: ## Algorithms: 이 문제를 해결하는 데 필요한 핵심 개념이나 알고리즘을 식별하세요. ## Tutorial: 해당 알고리즘에 대한 튜토리얼(설명)을 작성하세요. ## Example Problems: 이 알고리즘을 사용하는 관련된 경쟁 프로그래밍 문제 3가지를 제시하세요. 각 문제에 대해 문제를 설명하고, 해결 방법을 설명한 뒤, 올바른 Python3 코드를 작성하세요. ## Python3 code to solve the original problem: 해결 방법 설명: 문제 해결을 위한 Python3 코드:
이 방식은 GPT-4 기준, 기존 방식 대비 정확도가 2배(16% → 32%)나 뛰었습니다. 문법(Code)에 매몰되기 전에 논리(Algorithm)를 먼저 세우게 함으로써, AI가 헛다리를 짚을 확률을 획기적으로 낮춘 것입니다.
냉정한 현실 점검 (주의사항)
물론 만능열쇠는 아닙니다. 몇 가지 현실적인 제약이 있습니다.
- 모델의 체급이 깡패다: AI가 스스로 지식을 생성해야 하므로, GPT-4나 Claude 3.5 Sonnet 같은 고성능 모델에서만 효과가 있습니다. 소형 모델은 엉뚱한 예제를 만들어내(Hallucination) 오히려 오답을 유도할 수 있습니다.
- 비용 문제: 예제와 튜토리얼을 생성하느라 답변 길이가 길어집니다. API 비용이나 토큰 소모량이 늘어날 수 있다는 점을 감안해야 합니다. (물론, 긴 예시를 입력하는 비용과 비교하면 오히려 경제적일 수도 있습니다.)
- 과유불급: 예제는 3~5개 정도가 적당합니다. 너무 적으면 정보가 부족하고, 너무 많으면 오히려 맥락이 흐려집니다.
AI를 ‘생각 파트너’로 대우하기
유추 프롬프팅은 단순히 정답률을 높이는 스킬을 넘어, AI를 대하는 태도의 변화를 요구합니다. 일일이 숟가락으로 떠먹여 주는 대신, “네가 아는 걸 먼저 정리해보고, 그 다음에 답해봐”라고 믿고 맡기는 것이죠.
지금 해결해야 하는 복잡한 업무가 있다면, 위의 ‘심화 템플릿’을 복사해서 질문해 보세요. AI가 뱉어내는 답변의 깊이가 달라지는 걸 경험하실 겁니다.
핵심 포인트: 유추 프롬프팅은 AI에게 스스로 문제 해결 맥락을 생성하게 함으로써, 사람의 수고를 줄이면서도 더 높은 정확도를 달성하는 프롬프트 엔지니어링 기법입니다.
