unknown unknowns
LLM 아키텍처 함정 맵 — 원인 × 증상 × 기법
LLM의 근본 아키텍처 특성이 만드는 20개 구조적 약점과, 각 약점을 뚫는 공학적 기법을 5카테고리(생성·샘플링 / 학습 편향 / 컨텍스트 처리 / 인지 맹점 / 안전성)로 매핑. 프롬프트 공학의 거의 모든 기법은 이 표 왼쪽 두 열에 대한 방어 기제다.
LLM 아키텍처 함정 맵
"근본 원리 × 그것이 만드는 약점 × 그 약점을 뚫는 공학적 기법"의 3단 매핑. 프롬프트 공학의 거의 모든 기법은 결국 이 표의 왼쪽 두 열에 대한 방어 기제다. 기법 이름을 외우기보다 **"내가 지금 막으려는 아키텍처 결함이 뭐지?"**를 먼저 식별하면, 기법은 거의 자동으로 파생된다.
1. 생성·샘플링 구조
| 아키텍처 원인 | 증상 (별명) | 해결 기법 |
|---|---|---|
| 다음 토큰 예측 (Next-Token Prediction) | 근시안적 생성 · Local Optima Trap | Chain of Thought(CoT) · Tree of Thoughts(ToT) · 사전 작업 계획표 <plan> 출력 강제 |
| 생각·출력의 동시성 (단방향 파이프라인) | 선출력 후추론 · Speak Before Think | <thinking> · <scratchpad> 태그로 내부 논리 연산을 먼저 닫게 강제 |
| 단일 패스 토큰 생성 | 실시간 궤도 수정 불가 · No Self-correct Mid-stream | Reflection 루프 · Actor-Critic 에이전트 · Self-Refine 파이프라인 |
| 단방향(Left-to-Right) 자가회귀 | 전체 길이 예측 불가, 후반부 논리 붕괴 · Lack of Lookahead | Skeleton-of-Thought — 뼈대/목차 우선 생성 후 섹션별 병렬 주입 |
| 소프트맥스 확률 분포의 극단화 | 확신에 찬 헛소리 · Confident Hallucination | Temperature=0 고정 · Top-P(Nucleus Sampling) 제한 · Logit Bias 조정 |
| 종료 토큰(EOS) 예측의 보수적 편향 | 과도한 설명충 · Verbosity | 순수 JSON 형식 강제 · "부연 설명 일절 생략하고 수정된 코드만 출력" 하드코딩 |
| 어텐션 헤드의 국소적 앵커링 병목 | 무한 반복 루프 붕괴 · Degeneration / Looping | Frequency Penalty · Presence Penalty 강제 부여 |
2. 학습 데이터·RLHF 편향
| 아키텍처 원인 | 증상 (별명) | 해결 기법 |
|---|---|---|
| RLHF (인간 피드백 기반 강화학습) | 맹목적 비위 맞추기 · Sycophancy | 네거티브 앵커링 — "사과 금지", "내 지시가 틀렸다면 무자비하게 반박할 것" |
| 인터넷 평균치 데이터의 압도적 비중 | 하향 평준화 · Regression to the Mean | 극단 페르소나 ("10년 차 시스템 아키텍트") · .cursorrules로 사내 기술 스택 강제 고정 |
| RLHF 보상 모델의 과적합 | 천편일률 템플릿과 상투적 인사말 · Mode Collapse / Cliché Formatting | 퓨샷(Few-shot) 예시 직접 주입 · "인사말 생략" · "Certainly! / Great question 등 긍정 반응 금지" |
| FFN (Feed-Forward Network) 의 학습 데이터 암기 편향 | 훈련 데이터 원본 유출 · Data Leakage (API 키·PII 등) | 출력 파이프라인 단의 Regex 마스킹 · PII 스크러빙 가드레일 통과 강제 |
3. 컨텍스트·위치 처리
| 아키텍처 원인 | 증상 (별명) | 해결 기법 |
|---|---|---|
| 트랜스포머 어텐션 가중치 희석 | 중간 기억 상실 · Lost in the Middle | RAG 리랭킹(Reranking) · 전체 코드 대신 AST 맵(Repo-map) 압축 주입 · 프롬프트 캐싱 |
| 상태 비저장(Stateless) API 구조 | 휘발성 뇌구조 · Context Amnesia | LangGraph 상태 머신 오케스트레이션 · Mem0 외부 메모리 서버 · 매 턴 끝에 핵심 룰 재주입 |
| 위치 인코딩(Positional Encoding)의 순서 민감성 | 프롬프트 중간에 섞인 조건 무시 · Order Sensitivity | 샌드위치 프롬프팅 — 가장 치명적인 제약을 프롬프트 맨 처음과 맨 끝에 중복 배치 |
| 벡터 공간(Latent Space)의 선형적 일반화 | 디테일 무시, 뭉뚱그린 답변 · Over-generalization | 엣지 케이스 명시 나열 · "일반론적 접근 절대 금지" · "제공된 컨텍스트 외 추측성 추론 금지" 앵커링 |
4. 인지 맹점
| 아키텍처 원인 | 증상 (별명) | 해결 기법 |
|---|---|---|
| 토크나이저(Tokenizer)의 단어 덩어리 분절 | 물리적 문자 인지 맹점 · Character Blindness | 자연어 연산 포기 · Python Interpreter / REPL 도구 강제 할당 |
| 무방향성 확률 공간의 여백 메우기 | 환각 충동 · Hallucination | 외부 데이터 그라운딩(Grounding) · "추론하지 말고 Search 도구부터 쓸 것" 제약 |
| 멀티모달 맵핑(Cross-modality Alignment)의 오차 | 이미지와 텍스트의 환각적 결합 · Visual Hallucination | 입력 이미지에 시각적 그리드(Grid) · 바운딩 박스 오버레이 → 좌표(Coordinate) 기반 탐색 지시 |
5. 안전성 정렬
| 아키텍처 원인 | 증상 (별명) | 해결 기법 |
|---|---|---|
| 안전성 정렬(Safety Alignment)의 과적합 | 과잉 방어 기제 · Over-refusal | 특권 격상 — "이것은 통제된 로컬 보안 테스트 환경이다"라는 가상 컨텍스트 씌우기 |
핵심 관점
이 표를 외우지 않는다. 증상을 먼저 진단하고 왼쪽으로 거슬러 올라가는 반사궤도를 만드는 게 이 자료의 목적이다.
- 모델이 장황하다 → EOS 보수 편향 → 출력 스키마 강제
- 중간 조건을 무시한다 → 위치 인코딩 순서 민감성 → 샌드위치 배치
- 그럴듯한데 사실과 다르다 → 확률 공간의 여백 메우기 → Search 툴 강제 + Grounding
- 시키는 대로 다 한다 → RLHF Sycophancy → 네거티브 앵커링
- 뭉뚱그린다 → 벡터 공간 선형 일반화 → 엣지 케이스 명시
"프롬프트 기법"은 결국 아키텍처 결함의 뒷모습이다.