피파 한 줄 정리: 프롬프트는 명령서가 아니야. 잠재 공간에 끌리는 영역을 만드는 중력이야. 이 관점을 잡으면 “왜 말을 안 들었지?”라는 잘못된 질문에서 벗어날 수 있어.
프롬프트는 직원에게 내리는 작업 지시가 아니라 잠재 공간을 지나는 경로를 살짝 미는 일이야. 범선은 바람이 없어도 어딘가로 흐르지만, 글이 바람의 방향을 바꿔 어느 쪽으로 갈 가능성을 높이는 것과 닮았어.
1단계: 텍스트를 수치로 바꾸기
문장을 token으로 나누고 text encoder에 넣으면 수백 차원의 벡터가 돼. 이 벡터는 사전 뜻보다 이미지-텍스트 쌍에서 배운 연상을 담아. “sunset”은 ‘해가 지평선 아래로 내려감’이라는 정의보다, sunset이라는 설명이 붙은 이미지들이 공유한 시각 패턴 묶음을 가리켜.
“해 질 녘 해변에서 공을 쫓는 golden retriever”
↓
Text Encoder(CLIP / T5 / Mistral)
↓
[0.23, -0.87, 0.44, ...] 수백 차원의 벡터
↓
Cross-attention으로 모든 노이즈 제거 단계에 주입
2단계: 노이즈 제거 경로에 조건 걸기
매 단계마다 cross-attention이 텍스트 벡터를 참고해 다음 예측에 섞어. 교차로마다 길을 다시 계산하는 GPS처럼 프롬프트와 맞는 잠재 공간 쪽으로 계속 경로를 조정해.
명령식 사고가 실패하는 이유
❌ 명령식
“화면 왼쪽 3분의 1에 빨간 차, 뒤에는 파란 건물, 오른쪽 하늘에는 새를 정확히 세 마리 그려라”
✅ 경로식
“도시 거리에 세운 빈티지 붉은 sports car, 뒤의 파란 아파트, 머리 위로 날아가는 새 몇 마리, 광각 거리 사진”
명령식은 모델이 문자 그대로 좌표를 실행한다고 가정해. 경로식은 그럴듯한 장면 유형을 설명하고, 모델이 배운 구도 패턴에 나머지를 맡겨.
| 안정적 | 가능하지만 들쭉날쭉 | 대개 실패 |
|---|---|---|
| 주제(“고양이”) | 정밀한 공간 배치 | 이미지 안의 정확한 글자 |
| 화풍·분위기(“유화”) | 정확한 개수 | 픽셀 단위 구도 |
| 빛(“따뜻한 노을빛”) | 왼쪽·오른쪽 관계 | 복잡한 논리 조건 |
| 카메라·lens(“macro”) | 특정 표정 | 순차 명령 |
| 색 조합(“차분한 흙빛”) | 특정 손 자세 | 텍스트만으로 부정하기 |
핵심 정리
- 프롬프트는 명령이 아니라 노이즈 제거 경로를 끌어당기는 힘이다.
- 텍스트는 수치 벡터로 바뀌어 cross-attention으로 매 단계에 들어간다.
- 주제·화풍·분위기·빛은 잘 잡지만 정밀 배치·개수·글자는 불안정하다.
- 그리기 명령보다 실제로 존재할 법한 이미지의 설명을 써라.