# Image Generation Gotchas

> **Purpose**: Catalog known failure modes of image generation (Gemini, etc.) when producing journal article visuals, and provide reusable defensive prompt patterns.
> **Last updated**: 2025-05-12
> **First case captured**: 결막 절개 접근법 도식 (8편 — 눈밑지방 재배치 vs 제거)

---

## Core Principle

이미지 생성 모델은 **"의료기관 페이지" 시각 패턴을 강하게 학습**하고 있어, 단순 해부학 도식 요청에도 다음 요소를 자동으로 끼워 넣는 경향이 있습니다:

- 클리닉 헤더(브랜드명 + 진료 분야 메뉴)
- 영문 진료 카테고리 나열 (Blepharoplasty | Rhinoplasty | Anti-aging 등)
- 무의미한 한글 환각 문자 (산중, 강남, 압구정 등)
- 영문 비존재 단어 (Ecolomtira, Blephnoplasty, Pygmentation 등 — 실제로는 학습 데이터의 OCR 오류 잔재)
- 동일 라벨의 다중 위치 중복 표시
- **존재하지 않는 한국어 합성어** (눈물술 단년, 옥건 등 — 영어 서술 표현을 강제로 한국어 라벨링하려다 발생)

> **방어의 핵심 1**: 추상적 카테고리 금지("메뉴 금지")보다 **금지하려는 정확한 문자열을 예시로 직접 호명**하는 것이 압도적으로 효과적입니다.

> **방어의 핵심 2**: **"Korean (English) format"** 같은 형식 규칙을 강제하면서 정작 영어 서술 표현(e.g., "shadow line", "thin layer")으로 라벨을 지시하면, 모델은 의학적 정확성을 희생하고 가짜 한국어 합성어를 만들어 형식 일관성을 채웁니다. 따라서 **모든 라벨의 완성된 한글-영문 쌍을 프롬프트에 직접 적시**하고, 라벨이 불필요한 시각 요소(음영, 색조 등)는 명시적으로 "leave unlabeled"로 처리해야 합니다.

> **방어의 핵심 3**: **라벨링 대상은 정식 한국어 의학 용어가 존재하는 명사형 항목으로만 한정**합니다. 영어 서술 표현(동사형 "removed", 형용사형 "shadow", 합성형 "shadow line")을 라벨링하려고 시도하면 거의 항상 한국어 환각이 발생합니다. 동작(verb)은 라벨이 아니라 **화살표의 기하학적 묘사**로 전달해야 합니다 (시작점·종점·방향·곡률·개수를 정량 명시).

> **방어의 핵심 4 (Highest Priority)**: **빈 영문 괄호 자리를 절대 만들지 않습니다.** 영문 병기가 필요하면 모든 한글-영문 쌍을 완성형으로 적시하고, 영문 병기가 불필요하면 "Korean only, NO English parentheses"를 명시적으로 선언해야 합니다. 그렇지 않으면 모델이 **이전에 학습한 환각 헤더 문자열("Blepharoplasty/Rhinoplasty/Anti-aging")을 의학적으로 무관한 라벨의 영문 번역으로 채워 넣습니다** (Pattern 12). 이는 시각 노이즈가 아니라 콘텐츠 본문의 의학적 오정보이며, **시각 검사만으로는 발견되지 않으므로 의학 용어 검증이 필수**입니다.

---

## Defense Strategy — Prompt First, Post-Processing as Fallback

이미지 생성 도구를 **WebApp 환경에서 단발성(one-shot)으로 사용**하는 것이 기본 워크플로이므로, 환각 통제는 **프롬프트 단계에서 완결**되어야 합니다. Canva/Figma 후처리는 프롬프트로 막지 못한 잔존 환각을 정리하는 2차 보완책입니다.

### 1차 방어 — 프롬프트 강화 (Primary)

모든 환각 통제는 **프롬프트 안에서 1회 생성으로** 끝내는 것을 목표로 합니다. 핵심 원칙 4가지:

1. **완성된 한글-영문 라벨 쌍을 모두 적시** — "Korean with English" 같은 형식 규칙 대신 "안와지방 (Orbital Fat)" 같이 완성된 문자열을 그대로 명시
2. **라벨 총 개수와 위치 명시** — "EXACTLY 6 labels: 3 in Column 1, 1 in Column 2, 2 in Column 3" 같이 정확한 수치 제약
3. **시각 요소 중 라벨링하지 않을 것을 명시** — "DO NOT label the shadow. Visual element only."
4. **Defensive Prompt Block append** — `image-generation-gotchas.md`의 표준 블록 끝에 부착

### 2차 보완 — Canva/Figma 후처리 (Fallback Only)

다음 경우에 한해 후처리로 정리합니다:

- 프롬프트 강화에도 잔존하는 환각 텍스트 (e.g., Case 1의 우상단 메뉴)
- 모델이 강하게 학습한 시각 패턴(클리닉 헤더 등)이 부정 프롬프트만으로는 제거되지 않을 때
- JAMIE 워터마크 추가 (이건 항상 후처리로 처리)

> **재생성 vs 후처리의 판단 기준**: 잔존 환각이 1~2개 텍스트 요소이고 단순 삭제·교체로 해결되면 → 후처리. 환각이 다이어그램 구조 자체에 침투했으면 → 프롬프트 재작성 후 재생성.

---

## Failure Pattern Catalog

저널 이미지 생성에서 반복적으로 관찰되는 환각 패턴입니다.

### Pattern 1: Phantom Clinic Header

| 증상 | 우상단 또는 헤더 영역에 "Blepharoplasty \| Rhinoplasty \| Anti-aging" 등 진료 분야 메뉴가 자동 추가됨 |
|------|-------------------------------------------------------------------------|
| 원인 | 의료기관 웹사이트 헤더의 시각 패턴이 강하게 학습되어 있음 |
| 방어 강도 | 🟡 부정 프롬프트만으로는 100% 차단 어려움 — Canva/Figma 후처리 권장 |

### Pattern 2: Hallucinated Korean Strings

| 증상 | "산중", "강남" 등 의미 없는 한글 단어가 헤더/장식 위치에 등장 |
|------|---------------------------------------------------------|
| 원인 | 의료기관 페이지의 지역명·브랜드명 패턴 자동 삽입 |
| 방어 강도 | 🟢 예시 문자열 호명으로 거의 완전 차단 가능 |

### Pattern 3: Non-existent English Words

| 증상 | "Ecolomtira" (=Eyelash 환각), "Blephnoplasty" (=Blepharoplasty 오타) 등 영문 비존재 단어 |
|------|------------------------------------------------------------------------------|
| 원인 | 학습 데이터의 OCR 오인식 결과가 잔재 텍스트로 출력 |
| 방어 강도 | 🟢 정확한 표기를 명시하고 비존재 단어를 예시로 부정하면 차단 가능 |

### Pattern 4: Label Duplication

| 증상 | 동일한 해부학 라벨(예: "속눈썹")이 이미지의 2~3 위치에 반복 표시 |
|------|----------------------------------------------------------|
| 원인 | 라벨 위치 명시 부족 시 모델이 안전한 다중 배치를 시도 |
| 방어 강도 | 🟢 "LABEL ONLY ONCE, do not duplicate" 명시로 차단 가능 |

### Pattern 5: Title Spread Across Corners

| 증상 | 타이틀과 동일 텍스트가 4 모서리(좌상·우상·좌하·우하)에 분산 배치 |
|------|----------------------------------------------------------|
| 원인 | 모델이 위치를 지정받지 않으면 안전한 대칭 배치를 시도 |
| 방어 강도 | 🟢 "top-left corner only" 명시로 차단 가능 |

### Pattern 6: Color Confusion Between Comparison Items

| 증상 | 비교 대상 (예: 결막 절개법 vs 피부 절개법)이 동일 색조로 표현되어 시각적 구분 실패 |
|------|------------------------------------------------------------------------------|
| 원인 | 색상 의미를 부여하지 않으면 디자인적 균일성을 우선시 |
| 방어 강도 | 🟢 "to differentiate from path 1" 같은 차별화 이유 함께 명시로 차단 가능 |

### Pattern 7: Phantom Korean Translation for English Descriptors

| 증상 | 영어 서술 표현("shadow line", "thin layer" 등)에 한국어 번역 라벨이 강제되면, 모델이 존재하지 않는 한국어 합성어("눈물술 단년" 등)를 만들어 채움 |
|------|----------------------------------------------------------------------------------|
| 원인 | 프롬프트에 "Korean with English in parentheses" 형식이 강제되어 있는데, 영어 서술 표현은 정식 한국어 의학 용어가 존재하지 않음 → 모델이 의학적 정확성보다 형식 일관성을 우선시해 합성어 생성 |
| 방어 강도 | 🟢 **모든 라벨의 완성된 한글-영문 문자열을 프롬프트에 직접 적시**하고, 라벨이 필요 없는 시각 요소(음영, 색조 등)는 라벨링하지 않도록 명시 |

### Pattern 8: Korean Nonsense Compound (Phonetic Hallucination)

| 증상 | "옥건 (Pygmentation)"처럼 의미 없는 한글 단어가 등장 |
|------|--------------------------------------------------|
| 원인 | 영어 의학 용어("Pigmentation")를 한국어로 음역하려다 무의미한 한글 글자 조합을 출력. 한국어 형태소 학습이 불완전한 영역에서 발생 |
| 방어 강도 | 🟢 정확한 한국어 의학 용어를 직접 명시하고("색소침착"), 비존재 한글 합성어를 예시로 부정 ("옥건" 등) |

### Pattern 9: Bilateral Label Duplication in Cross-Sections

| 증상 | 단면도/대칭 구조에서 같은 라벨이 좌측·우측 양쪽에 표시 (예: "정맥 (Vein)"이 좌우 양측) |
|------|---------------------------------------------------------------------|
| 원인 | 대칭 구도에서 모델이 시각적 균형감을 맞추려 양쪽에 동일 라벨을 자동 배치. Pattern 4(일반 라벨 중복)의 변종 |
| 방어 강도 | 🟢 "label only on the right side of the diagram" 등 라벨 배치 방향을 명시 |

### Pattern 10: Inconsistent Label Format (Mixed Language)

| 증상 | 모든 라벨이 "한글 (영문)" 형식이어야 하는데 일부 라벨만 영문 단독("Inferior Orbital rim", "Before", "After") |
|------|------------------------------------------------------------------------------|
| 원인 | 프롬프트가 "for primary terms"처럼 추상적 구분 표현을 사용하거나 라벨 자체를 "Before / After"처럼 영문으로 적시하면, 모델이 해당 라벨에 한글 병기를 적용하지 않음 |
| 방어 강도 | 🟢 "ALL labels must follow the Korean (English) format. No exceptions." 명시 + 프롬프트 안에서도 모든 라벨을 한글-영문 쌍으로 적시 ("수술 전 (Before)" 등) |

### Pattern 11: Ambiguous Action Arrows

| 증상 | 동작 묘사("fat being removed", "fat being repositioned")를 화살표로 지시했을 때 모델이 의미 불명확한 복합 기호(나선형 + 곡선 결합 등)를 생성 |
|------|--------------------------------------------------------------------------------|
| 원인 | "removed", "repositioned" 같은 동사적 표현은 시각적 행동이 아니라 처치 결과. 모델은 학습 데이터에서 일관된 시각 기호를 찾지 못해 여러 화살표 패턴을 조합 |
| 방어 강도 | 🟢 화살표를 정량적·기하학적으로 묘사 — 시작점·종점·곡률·개수 명시 (예: "ONE straight arrow from A to B, no curve") 또는 동작 표현 자체를 제거하고 Before/After 비교만으로 메시지 전달 |

### Pattern 12: Cross-Contamination from Phantom Header Strings 🔴 HIGH RISK

| 증상 | Pattern 1의 환각 헤더 문자열("Blepharoplasty \| Rhinoplasty \| Anti-aging")이 **실제 콘텐츠 라벨 자리에 침투**하여 의학적으로 무관한 영문 번역으로 둔갑. 예: "구조적 다크서클 (Blepharoplasty)", "색소성 다크서클 (Rhinoplasty)" |
|------|------------------------------------------------------------------------------|
| 원인 | 프롬프트가 한글 라벨만 지시하고 영문 번역을 명시하지 않았는데도, 모델이 "Korean (English)" 형식이 의료 도식의 디폴트라고 학습하여 영문 괄호를 자동 추가. 빈 영문 자리는 **이 시리즈에서 반복 학습한 환각 헤더 문자열로 채워짐** |
| 위험도 | 🔴 **콘텐츠 정확성 위협** — Pattern 1과 달리 본문 데이터에 침투해 의학적 오정보를 생성. 의료광고 심의 즉시 거절 사유. 시각 검사로는 발견되지 않고 **의학 용어 검증을 통해서만 식별 가능** |
| 방어 강도 | 🟢 영문 병기가 필요하면 **모든 한글-영문 쌍을 완성형으로 적시**. 영문 병기가 불필요하면 "Korean only, NO English parentheses" 명시. Defensive Prompt Block에 "Blepharoplasty/Rhinoplasty/Anti-aging을 무관한 라벨에 채워 넣지 말 것" 명시 부정 |

---

## Defensive Prompt Block (재사용 표준)

모든 저널 해부학 도식 프롬프트의 마지막 블록에 아래 패턴을 그대로 삽입하는 것을 권장합니다.

```text
[STRICTLY PROHIBITED — DO NOT GENERATE ANY OF THE FOLLOWING]

Clinic-page artifacts:
- DO NOT add any clinic name, brand name, hospital name, or website-like header
- DO NOT add any navigation menu, category list, or service-list text such as
  "Blepharoplasty | Rhinoplasty | Anti-aging" or any similar 3-item English menu
- DO NOT add footer text, page numbers, watermarks, or copyright marks
- DO NOT add address, phone number, URL, or social media handle

Hallucinated English text:
- DO NOT include words that do not exist in English. Specifically, do NOT
  output any of: "Ecolomtira", "Blephnoplasty", "Blephroplasty", "Pygmentation",
  "Pigmantation", "Rihinoplasty", or similar misspellings of medical terms
- All English terms inside parentheses must be spelled EXACTLY as written in
  the Korean (English) labels specified above. No substitutions, no creative
  variations

Cross-contamination prevention (CRITICAL):
- DO NOT insert "Blepharoplasty", "Rhinoplasty", "Anti-aging", or any other
  unrelated medical procedure name as an English translation for any Korean
  label. These strings are commonly hallucinated and must NEVER appear unless
  the label content is literally about that specific procedure
- Each English term in parentheses must be the ACCURATE direct translation of
  the Korean term it follows. For example: "구조적 다크서클" → "(Structural)",
  NOT "(Blepharoplasty)". "색소성 다크서클" → "(Pigmentation)",
  NOT "(Rhinoplasty)"
- If a Korean label does NOT need English translation, leave it as Korean only.
  DO NOT auto-fill English parentheses with arbitrary medical terms

Hallucinated Korean text:
- DO NOT add any Korean text other than the title and the anatomical labels
  specified above
- Korean place names such as "산중", "강남", "압구정", "서울" must NOT appear
- Korean nonsense compound words such as "옥건", "눈물술", "단년", "단년선",
  or any invented Korean phonetic transliteration of English terms must NOT appear
- If a label is not explicitly specified above, DO NOT invent one — leave the
  visual element unlabeled

Label discipline:
- DO NOT repeat the same label more than once in the image
- LABEL ONLY ONCE for each anatomical structure
- For symmetric/cross-section diagrams: label each structure on ONE side only
  (typically the right side); do not duplicate labels on both sides of the
  diagram for visual balance
- ALL labels must follow the EXACT format specified above (typically
  "한글 (English)"). No exceptions, no English-only labels, no Korean-only labels
- DO NOT label state-indicators in English only. Use Korean-bilingual format
  for "Before/After" labels too — e.g., "수술 전 (Before)" / "수술 후 (After)"

Arrow discipline:
- Specify arrow geometry quantitatively when arrows are needed:
  number of arrows, start point, end point, direction, and curvature
- DO NOT request abstract action descriptions like "showing fat being removed"
  — instead specify "ONE arrow from [start] to [end], [straight/curved]"
- DO NOT combine multiple arrow symbols (spiral + curve + arrow) for a single
  concept — one clean arrow per action

Visual style:
- DO NOT use 3D shading, gradients, drop shadows, or photographic rendering
- DO NOT add surgical tools, blood, tissue color, or any gore
- DO NOT add icons, clip-art, emojis, decorative borders, or stock illustrations
- DO NOT add any English-only title, subtitle, or decorative tagline
```

---

## Verification Checklist (이미지 생성 후 점검)

이미지 생성 후 발행 전 다음 항목을 시각적으로 점검합니다:

- [ ] 클리닉 헤더/메뉴 텍스트가 없는가? (특히 우상단·우하단)
- [ ] 영문 단어가 모두 실제 단어인가? (Eyelash, Conjunctiva, Orbital Fat, Pigmentation, Vein 등 — 철자 정확 여부 확인)
- [ ] **🔴 행 라벨·분류명·데이터 셀의 영문 번역이 의학적으로 정확한가?** (예: "구조적 다크서클 (Structural)" ← (Blepharoplasty) 같은 무관한 시술명이 침투하지 않았는가?)
- [ ] 동일 라벨이 두 번 이상 표시되지 않았는가?
- [ ] 단면도/대칭 구조에서 좌우 양측에 같은 라벨이 중복되어 있지 않은가?
- [ ] 타이틀이 한 곳에만 배치되었는가?
- [ ] 비교 대상이 색상으로 구분되는가?
- [ ] 무의미한 한글 문자열("산중", "옥건", "눈물술 단년" 등)이 없는가?
- [ ] 모든 라벨이 동일한 형식(한글 영문 또는 한글만)으로 일관성을 유지하는가?
- [ ] "Before/After" 등 상태 라벨이 영문 단독이 아닌, 한글-영문 병기 형식인가?
- [ ] 화살표가 1개 화살표 = 1개 의미로 단순·명확한가? 나선·곡선 등이 의미 없이 결합되어 있지 않은가?
- [ ] 채널 컬러(#E0E5EB 배경, #333333 텍스트, #6B8FAF 강조, #8B9BA8 보조)가 적용되었는가?
- [ ] 워터마크 영역에 다른 텍스트가 침범하지 않았는가?

---

## Exceptional Fallback — Text-Stripped Generation (예외 시에만)

> **주의**: 본 워크플로는 **프롬프트 강화로도 환각이 해결되지 않는 예외적 경우**에만 사용합니다. 1차 방어(프롬프트 강화)가 항상 우선입니다.

다음 상황에 한해 텍스트를 완전히 분리하는 2단계 워크플로를 검토합니다:

- 프롬프트 강화를 2~3회 반복했는데도 동일 환각이 잔존하는 경우
- 의료광고 심의·법무 검토가 임박해 즉시 안전한 출력이 필요한 경우
- 텍스트 라벨이 매우 많아(10개 이상) 프롬프트로 통제하기 비효율적인 복잡 다이어그램

### Step 1: WebApp에서 라인아트만 생성

한글 타이틀과 라벨을 모두 빼고, **순수 해부학 라인아트만 생성**하도록 프롬프트 조정합니다. 환각 텍스트의 침투 표면 자체가 사라집니다.

### Step 2: Canva 또는 Figma에서 텍스트 오버레이

한글 타이틀, 한영 병기 라벨, 화살표, 강조 라인을 Canva/Figma에서 직접 입력합니다. 채널 컬러 팔레트와 폰트(Noto Sans KR / Pretendard)도 이 단계에서 적용합니다.

> **JAMIE 워터마크는 항상 이 단계에서 추가합니다** (우하단, `#6d7856`, 반투명) — 워터마크는 본 2단계 워크플로 사용 여부와 관계없이 모든 이미지의 마지막 단계입니다.

---

## Case Log

발생한 환각 사례를 기록하여 향후 부정 프롬프트의 예시로 재사용합니다.

### Case 1 — 2025-05-12: 결막 절개 도식 (8편)

| 항목 | 내용 |
|------|------|
| 포스트 | 눈밑지방 재배치 vs 제거 — 다크서클 수술, 무엇이 다를까요? |
| 이미지 | `transconjunctival-approach-anatomy-04` |
| v1 환각 | "산중 Blepharoplasty", "Ecolomtira", "Blephnoplasty", 속눈썹 라벨 중복, 4모서리 메뉴 반복 |
| v2 잔존 | 우상단 "Blepharoplasty \| Rhinoplasty \| Anti-aging" (부정 프롬프트 후에도 1회 잔존) |
| 학습 | 추상적 카테고리 부정보다 **구체적 문자열 호명**이 효과적. 강하게 학습된 패턴은 Canva 후처리로 마무리 정리 |
| 등재된 패턴 | Pattern 1, 2, 3, 4, 5, 6 |

### Case 2 — 2025-05-12: 다크서클 유형 3분류 도식 (8편)

| 항목 | 내용 |
|------|------|
| 포스트 | 눈밑지방 재배치 vs 제거 — 다크서클 수술, 무엇이 다를까요? |
| 이미지 | `dark-circle-types-anatomy-02` |
| v1 환각 | (1) "눈물술 단년 (shadow line)" — 존재하지 않는 한국어 합성어<br>(2) "옥건 (Pygmentation)" — 무의미 한글 + 영문 오타 동시 발생<br>(3) 동일 영역에 라벨 2개 중복 ("색소성"과 "옥건"이 같은 음영 가리킴)<br>(4) "정맥 (Vein)", "피부 (Skin)" 좌우 양측 중복 라벨<br>(5) "Inferior Orbital rim" 영문 단독 표기 — 라벨 형식 불일치 |
| 핵심 학습 | **영어 서술 표현("shadow line", "thin layer")에 강제로 한국어 라벨링하면 모델은 한국어 가짜 합성어를 만든다.** 라벨이 필요 없는 시각 요소(음영, 색조)는 라벨링 자체를 생략하거나, 모든 라벨의 완성된 한글-영문 문자열을 프롬프트에 직접 적시해야 함 |
| 등재된 패턴 | Pattern 3 (재발), Pattern 7, 8, 9, 10 (신규) |

### Case 3 — 2025-05-13: 제거 vs 재배치 비교 도식 (8편)

| 항목 | 내용 |
|------|------|
| 포스트 | 눈밑지방 재배치 vs 제거 — 다크서클 수술, 무엇이 다를까요? |
| 이미지 | `under-eye-fat-removal-vs-repositioning-comparison-03` |
| v1 환각 | (1) **Pattern 1 재발**: 상단 중앙 "Blepharoplasty \| Rhinoplasty \| Anti-aging" 클리닉 메뉴 (Image #4와 동일 문자열)<br>(2) **Pattern 10 재발**: "Before" / "After" 영문 단독 라벨 — 다른 라벨은 한글(영문) 형식인데 이 라벨만 형식 위반<br>(3) **Pattern 11 신규**: 좌측 컬럼 화살표가 "나선형 + 곡선" 복합 기호로 결합되어 "제거" 동작이 시각적으로 불명확 |
| v1 차단된 환각 | Korean nonsense compound, Phantom Korean Translation, Non-existent English, Bilateral label duplication, 4모서리 메뉴 반복 — 모두 발생 안 함 |
| 핵심 학습 | **정식 한국어 의학 용어가 있는 명사형 라벨만 사용하면 Korean 환각이 발생하지 않는다.** 단, 동작(verb) 묘사("being removed")는 화살표 환각(Pattern 11)을 유발하므로 **화살표는 기하학적으로 정량 명시**해야 함. Pattern 1(클리닉 헤더)은 모델에 매우 강하게 학습되어 어떤 프롬프트에서도 재발 위험이 큼 |
| **v2 결과** | ✅ **완전 차단 성공 (2025-05-13)** — 클리닉 메뉴 제거, "수술 전 (Before)" / "수술 후 (After)" 한글-영문 병기, 단일 직선 화살표 (좌측) + 단일 곡선 화살표 (우측), 양 컬럼 라벨 구조 균형 (공통 + 차별) 모두 정확 적용. 단, Column 1 After 일러스트의 윤곽선 완결성은 디자인 품질 측면에서 후처리 검토 가능 |
| 등재된 패턴 | Pattern 1, 10 (재발), Pattern 11 (신규) |

### Case 4 — 2025-05-13: 다크서클 유형별 권장 접근법 인포그래픽 (8편) 🔴 HIGH SEVERITY

| 항목 | 내용 |
|------|------|
| 포스트 | 눈밑지방 재배치 vs 제거 — 다크서클 수술, 무엇이 다를까요? |
| 이미지 | `dark-circle-treatment-summary-infographic-05` |
| v1 환각 | **Pattern 12 신규 발견** — 행 라벨 영문 번역에 환각 헤더 침투:<br>(1) "구조적 다크서클 (Blepharoplasty)" — Blepharoplasty는 안검성형술, 콘텐츠와 무관<br>(2) "색소성 다크서클 (Rihinoplasty)" — Rhinoplasty는 코 성형술 + "Rihinoplasty" 오타<br>(3) "혈관성 다크서클 (Anti-aging)" — Anti-aging은 일반 카테고리, 콘텐츠와 무관 |
| v1 차단된 환각 | 클리닉 헤더 메뉴, 한글 환각, 라벨 중복 — 모두 발생 안 함 |
| 위험도 | 🔴 **HIGH** — 단순 시각 노이즈가 아니라 **콘텐츠 본문의 의학적 오정보**. 의료광고 심의 즉시 거절 사유 + 독자에게 잘못된 의학 지식 전달 위험. 시각 검사만으로는 발견되지 않으며 의학 용어 검증을 통해서만 식별 가능 |
| 핵심 학습 | **빈 영문 괄호 자리를 만들면 모델이 이전에 학습한 환각 헤더 문자열로 자동 채움.** "구조적 다크서클" 같이 영문 번역이 명시되지 않은 한글 라벨에 모델이 "Korean (English)" 형식을 자의적으로 적용하고, 빈 영문 자리에 시리즈 전반에서 반복 학습한 "Blepharoplasty/Rhinoplasty/Anti-aging"을 채워 넣음 |
| **v2 결과** | ✅ **완전 차단 성공 (2025-05-13)** — 모든 행 라벨 영문 번역이 의학적으로 정확함 ((Structural), (Pigmentation), (Vascular)). 컬럼 헤더·9개 셀 콘텐츠도 한글 단독 유지. 강조 셀 대각선 배치(R1C1, R2C2, R3C3) 정확. **방어의 핵심 4 원칙의 결정적 입증 사례** |
| 등재된 패턴 | Pattern 3 (재발 — "Rihinoplasty" 오타), Pattern 12 (신규) |

> 새 케이스 발생 시 본 섹션에 같은 형식으로 추가합니다.

---

## Pattern Effectiveness Tracking

각 패턴이 v2 프롬프트로 얼마나 효과적으로 차단되었는지 추적합니다. 향후 새 케이스 발생 시 본 표를 업데이트하여 패턴별 통제 강도를 평가합니다.

### v2 차단 성공률 누적

| Pattern | 위험도 | 발생 케이스 | v2 차단 결과 | 통제 강도 |
|---------|------|------------|------------|----------|
| Pattern 1 (Phantom Clinic Header) | 중 | Case 1, 3, 4 | Image #3, #5 v2에서 100% 차단 | 🟢 안정 |
| Pattern 2 (Hallucinated Korean Strings) | 중 | Case 1 | v2에서 차단 | 🟢 안정 |
| Pattern 3 (Non-existent English Words) | 중 | Case 1, 2, 4 | v2에서 차단 | 🟢 안정 |
| Pattern 4 (Label Duplication) | 중 | Case 1 | v2에서 차단 | 🟢 안정 |
| Pattern 5 (Title Spread Across Corners) | 저 | Case 1 | v2에서 차단 | 🟢 안정 |
| Pattern 6 (Color Confusion) | 저 | Case 1 | v2에서 차단 | 🟢 안정 |
| Pattern 7 (Phantom Korean Translation) | 중 | Case 2 | v2에서 차단 | 🟢 안정 |
| Pattern 8 (Korean Nonsense Compound) | 중 | Case 2 | v2에서 차단 | 🟢 안정 |
| Pattern 9 (Bilateral Label Duplication) | 중 | Case 2 | v2에서 차단 | 🟢 안정 |
| Pattern 10 (Inconsistent Label Format) | 중 | Case 2, 3 | Image #3 v2에서 100% 차단 | 🟢 안정 |
| Pattern 11 (Ambiguous Action Arrows) | 중 | Case 3 | Image #3 v2에서 100% 차단 | 🟢 안정 |
| **Pattern 12 (Cross-Contamination)** | **🔴 최고** | **Case 4** | **Image #5 v2에서 100% 차단** | 🟢 안정 (검증됨) |

### 종합 평가

- **검증된 v2 프롬프트**: 3건 (Image #3, #4, #5)
- **모든 등재 패턴의 v2 차단율**: 100%
- **가장 위험한 패턴**: Pattern 12 (Cross-Contamination) — v2 차단 검증 완료

### 향후 새 패턴 발견 시 등재 절차

1. 새 패턴 발견 → Failure Pattern Catalog에 Pattern N으로 등재
2. Case Log에 발생 케이스 추가
3. Defensive Prompt Block에 새 부정 예시 추가
4. Verification Checklist에 새 점검 항목 추가
5. 필요 시 Core Principle 추가
6. 본 Pattern Effectiveness Tracking 표에 신규 행 추가
7. v2 프롬프트 작성 후 검증 → 차단 성공 시 통제 강도 🟢 표시

---

---

## Quick Patch for Other Image Prompts in the Same Article

본 가이드의 "Defensive Prompt Block"은 같은 포스트의 다른 이미지(예: Image #2 유형 분류, Image #3 비교 도식, Image #5 요약 표)에도 동일하게 일괄 적용 가능합니다. 새 도식 프롬프트 작성 시 각 프롬프트 마지막에 본 블록을 그대로 붙여 넣고, 해당 이미지에서 추가로 차단해야 할 항목만 보완하면 됩니다.
