프롬프트 엔지니어링 원리, 구글 딥마인드가 밝힌 LLM의 수학적 실체
프롬프트 하나에 목매는 시절은 지났습니다. 이제는 AI가 어떻게 ‘생각’하는지 그 설계도를 들여다볼 때입니다.
수많은 프롬프트 엔지니어링 기법이 쏟아지지만, 정작 “왜 이건 되고 저건 안 되는지” 명확히 설명해 주는 곳은 드물었죠. 최근 Google DeepMind는 이에 대해 아주 명쾌한 수학적 진단을 내렸습니다. “LLM은 사실 고도로 훈련된 베이지안 예측기(Bayesian Predictor)다”라는 것이죠.
이게 실무자들에게 왜 중요한지, 핵심만 추려 쉽고 직설적으로 정리해 드립니다.
1. LLM의 본질: 너는 다 계획이 있구나?
우리는 흔히 LLM이 단순히 ‘다음에 올 단어를 맞히는 기계’라고 생각합니다. 틀린 말은 아니지만, 좀 더 정확히 말하면 LLM은 사전 학습이라는 거대한 훈련(Meta-learning)을 통해 최적의 확률 계산기가 된 상태입니다.
🧠 베이지안 예측이란?
쉽게 비유하자면, LLM은 수억 개의 퍼즐 조각을 가진 탐정과 같습니다. 우리가 프롬프트를 입력하는 건 탐정에게 “지금 네가 풀어야 할 사건은 ‘로맨틱 코미디’ 장르야”라고 단서를 던져주는 행위입니다.
수학적으로 보면 다음과 같습니다:
▲ LLM의 다음 토큰 예측 확률 — 베이지안 주변화(Marginalization) 공식
- 작업 (Task)
- 모델이 현재 컨텍스트에서 수행해야 할 특정 작업. 프롬프트가 이 분포를 좁혀줍니다.
- 컨텍스트 (Context)
- 우리가 입력한 프롬프트 전체. 모델이 를 추론하는 유일한 단서입니다.
- 예측 분포 (Predictive Distribution)
- 사전 학습된 모델이 계산하는 다음 토큰의 확률 분포. 모든 가능한 작업 에 대한 기댓값입니다.
즉, 프롬프트는 모델 내부의 방대한 데이터 분포 중 지금 당장 꺼내 써야 할 특정 작업 의 확률을 높여주는 ‘가이드라인’ 역할을 합니다.
2. 왜 내 프롬프트는 삑사리가 날까?
DeepMind는 동전 던지기 실험을 통해 프롬프트의 한계를 증명했습니다. 여기서 우리가 주목해야 할 점은 ‘말(Hard Token)’보다 ‘벡터(Soft Prefix)’가 훨씬 강력하다는 사실입니다.
| 구분 | 방식 | 성능 및 특징 |
|---|---|---|
| 일반 프롬프트 | 사람이 읽는 단어 입력 | 한계 명확. 모델의 깊은 회로까지 건드리기 어려움 |
| 소프트 프롬프트 | 숫자(벡터) 값 직접 주입 | 최적 성능. 모델의 내부 엔진을 직접 조율함 |
우리가 쓰는 단어는 모델 입장에서 보면 사실 꽤 ‘투박한’ 도구입니다. 정교한 결과를 원한다면 단어 선택에 집착하기보다, 모델이 이 작업을 ‘어떤 분포’로 이해하고 있는지를 파악하는 게 우선입니다.
3. 프롬프트가 절대로 넘을 수 없는 ‘벽’
“프롬프트만 잘 쓰면 다 된다”는 말은 거짓말입니다. 이론적으로 불가능한 영역이 두 가지 있습니다.
🚫 벽 1: 짬뽕된 작업 (Multimodal Distribution)
베이지안 추론의 특성상, 정보가 입력될수록 확률은 하나의 정답으로 수렴하려고 합니다. 따라서 두 가지 이상의 상충하는 의도를 한 프롬프트에 넣으면, 모델은 갈팡질팡하다 이도 저도 아닌 답을 내놓습니다.
- 잘못된 사례: “격식 있으면서도 아주 친근하고, 간결하지만 모든 세부 사항을 다 포함해서 써줘.” (불가능한 미션입니다.)
- 올바른 사례: 작업 단위를 쪼개서 하나씩 명확한 가이드를 주어야 합니다.
🚫 벽 2: 아예 모르는 기술 (Novel Atomic Tasks)
프롬프트는 모델이 이미 배운 걸 ‘인출’하는 도구이지, 없던 능력을 ‘생성’하는 도구가 아닙니다.
비유: 요리를 한 번도 안 해본 사람에게 “최고의 파스타를 만들어봐”라고 백날 말해봤자 소용없습니다. 재료(데이터)와 조리법(학습)이 머릿속에 있어야 합니다.
4. 실무 판단 가이드: 프롬프트냐, 튜닝이냐?
언제까지 프롬프트만 붙잡고 있어야 할까요? 이 표 하나로 정리해 드립니다.
| 선택 기준 | 프롬프트 튜닝 (Prompt Engineering) | 가중치 튜닝 (Fine-tuning / LoRA) |
|---|---|---|
| 언제? | 모델이 이미 내용을 알고 있을 때 | 새로운 지식/기술을 가르쳐야 할 때 |
| 장점 | 빠르고 가볍다. 비용이 적다. | 복잡한 다중 작업도 척척 해낸다. |
| 단점 | 복잡한 요구사항에 취약하다. | 데이터와 비용이 든다. |
🎯 결론: 마법이 아니라 과학입니다
프롬프트 엔지니어링은 주문을 외우는 마법이 아니라, 모델의 내부 확률 분포를 정답 쪽으로 유도하는 과학적 과정입니다.
답이 안 나온다면 프롬프트 문구를 수정하기 전에 스스로 물어보세요.
“내가 지금 모델에게 한 번도 안 배운 걸 시키고 있나, 아니면 너무 많은 걸 한 번에 시키고 있나?”
기술의 한계를 정확히 아는 것이야말로, AI를 진짜 ‘도구’답게 쓰는 첫걸음입니다.
