---
name: explain-equation
description: 논문 수식을 "말하듯이" 풀어주되 원리를 그림으로 그릴 수 있게 해설한다. 비유·기호표·ASCII 흐름도·반사실·숫자 예시의 5블록 구조. Example: /explain-equation Eq. 3 또는 /explain-equation "L = ||y - ŷ||^2"
---

# 수식 해설 (5블록 구조)

주어진 수식을 **이해의 인지 메커니즘** 순서대로 풀어쓴다. 모든 블록은 짧고 말하듯이. 각 블록을 건너뛰지 말 것.

> 아래 예시는 설명을 위해 일반적인 ML 수식(cross-entropy, InfoNCE)을 사용. 구조 자체는 어떤 분야 수식에도 적용됨.

---

## 블록 1 — 한 줄 직관 (Intuition first)

수식이 **결국 뭘 하려는 것**인지 한 문장. 기호를 쓰지 말고 중립적으로.

예:
- Cross-entropy: "예측 분포가 정답 one-hot에서 얼마나 떨어져 있는지 log 기반으로 측정."
- Contrastive loss: "같은 클래스 샘플의 embedding은 가깝게, 다른 클래스는 멀게 배치하도록 유도."
- L2 regularization: "파라미터 크기를 억제해 과적합 방지."

**원칙**: 비유는 구조적 동형성이 있을 때만 사용. 직접 설명이 더 명료하면 비유 생략. 일상 사물 비유(사무실·자석·레고 등)는 학부 이상 독자에게 오히려 부자연스러울 수 있음.

---

## 블록 2 — 기호별 역할표 (Symbol decoding)

모든 기호를 **표로** 한 줄씩. 빠뜨리지 말 것.

| 기호 | 이름 | 형상/단위 | 한 줄 의미 |
| --- | --- | --- | --- |
| $y$ | 정답 원-핫 벡터 | $\mathbb{R}^{C}$ | 클래스 C개 중 정답 인덱스만 1 |
| $p$ | 예측 확률 | $\mathbb{R}^{C}$ | 모델이 낸 softmax 분포 |
| $\tau$ | temperature | $\mathbb{R}^{+}$ | softmax 날카로움 조절 |

- 처음 등장하는 기호는 `glossary/terms.md`에도 자동 추가 (glossary skill 호출).
- 벡터·행렬은 shape 꼭 명시.

---

## 블록 3 — ASCII 데이터 흐름도 (Dual coding)

5~10줄 박스·화살표 다이어그램으로 **수식이 어떤 입력을 받아 어떤 출력을 내는지** 보여준다. 각 박스 아래 "이건 수식의 무엇에 해당" 매핑 주석.

예시 패턴:
```
[정답 y] ──┐
           ▼
       [elementwise y·log p] ──→ [Σ over C] ──→ [-값] ──→ L
           ▲
[예측 p] ──┘

     elementwise곱 = 정답 인덱스에서만 살아남음
     Σ over C = 한 샘플의 loss
     최종 L = 배치 평균
```

LLM은 자유 그림이 약하니 **박스·화살표·레이블만**. 예술 금지.

---

## 블록 4 — 반사실 (Counterfactual probe)

> "이 항이 없으면 / 이 상수를 바꾸면 무슨 일이 일어나나?"

한 문단. 수식의 **각 성분이 왜 그 자리에 있는지** 역으로 드러낸다. 이 블록이 인과 이해의 핵심.

예:
- Cross-entropy에서 `log`가 없으면 → 오답 확률이 아주 작을 때 벌점이 포화돼 학습 신호가 약해진다. log가 "0에 가까울수록 무한대로 커지는" 성질로 **강한 gradient** 제공.
- Contrastive loss에서 분모에 negative 전체 합이 없으면 → positive 쌍만 가까워질 뿐 "다른 건 멀게" 효과가 사라져 붕괴 (collapse).
- `τ`가 너무 작으면 softmax가 one-hot처럼 날카로워져 gradient가 한쪽으로만 쏠림. 너무 크면 평탄해져 학습이 느려짐.

---

## 블록 5 — 숫자 대입 예시 (Worked example)

**진짜 작은 숫자**로 한 번 돌려본다. 2~3차원. 한 줄 계산 결과 + **해석** 한 문장.

```python
# Cross-entropy 예시
y = [0, 1, 0]         # 정답: 1번 클래스
p = [0.1, 0.7, 0.2]   # 예측 분포
L = -log(0.7) ≈ 0.36  # 정답 확률 0.7에 대한 벌점
```

**해석 한 문장**: "모델이 정답을 70% 확신했으니 벌점은 중간 정도(0.36). 만약 p=[0.1, 0.1, 0.8] 이었다면 L≈2.3 — 강한 벌점."

---

## 마무리 (필수)

- **원문 위치**: `(§X.Y, Eq. N, p.K)` 형식으로 명시.
- **Stuck-point**: 초심자가 막힐 만한 지점 1개 예측해 한 문장 추가 해설.
- **전체 길이**: 400~600 단어 이내. 블록별로 짧게.

---

## 주의

- 논문에 없는 항·상수 만들지 말 것.
- 블록 이름을 생략해도 좋지만 **순서**는 지킬 것 (직관 → 분해 → 시각 → 반사실 → 예시).
- "자, 이제 설명하겠습니다" 같은 예고 문장 금지. 곧바로 블록 1부터.
