1 / 1
1-2
JEV & System One 완전정복 · 1강 / 4강 · 1-2 / 3

LLM의 4가지 구조적 한계

LLM을 '결정 엔진'으로 쓸 때 반드시 부딪히는 벽 — 문자열·환각·느림·과신

왜 JSON 강제가 근본 해법이 아닌가 · 결정 워크로드의 진짜 요구
문제의 본질

우리는 '글쓰기 도구'로 '결정'을 시키고 있다

✍️
텍스트 생성
사람이 읽을 문장
🔧
JSON 강제
구조를 억지로 주입
🔍
재파싱
문자열 → 값
🛡️
검증
틀리면 재시도
⚙️
코드가 의존
그래도 불확실
공식 문서의 표현: "텍스트 생성 시스템을 구조적 결정으로 강제 변환한 뒤 다시 파싱한다" — 이 우회 파이프라인은 어느 단계에서든 깨질 수 있습니다
💡
핵심 정리

LLM은 사람이 읽을 텍스트를 생성하도록 학습된 모델이라 출력이 항상 문자열입니다. JSON을 강제해도 스키마를 벗어난 키나 깨진 형식이 나올 수 있어, 생성한 뒤 다시 파싱·검증하는 단계가 필요합니다. 결정 자체를 타입으로 보장하는 구조가 아니라는 점이 근본 한계입니다.

한계 ①·②

문자열 출력 · 환각

① 문자열 출력
결과가 문자열이라 항상 파싱·검증이 필요. 스키마를 벗어난 키, 깨진 JSON, 예상 밖 값이 언제든 나올 수 있음
② 환각 (Hallucination)
정의되지 않은 값을 지어냄. "존재하지 않는 카테고리"로 라우팅하거나 타입에 없는 답을 만들어 다운스트림을 오염시킴

💡 JSON 모드·함수 호출로 완화는 되지만, 근본적으로 '생성 후 검증' 구조라 "타입이 틀릴 수 있다"는 위험은 남습니다.

🛡️ 스키마: 허용된 값만 통과
"billing" "technical" "account" "refund_v2"
스키마에 정의된 값만 나옵니다 — 목록 밖의 값(지어낸 카테고리)은 표현 자체가 불가능합니다. 이것이 환각을 원천 차단하는 방향입니다.
한계 ③ — 느림

순차 생성 = 근본적으로 느리다

LLM 순차 생성
3–329초
JEV 병렬 평가
70–500ms

💡 결정은 짧습니다. "긴급함/아님" 한 비트를 얻는 데 문장 생성 시간을 쓸 이유가 없습니다.

한계 ④ — 과신

확신도를 믿을 수 없다 (Miscalibration)

확신도(가로) vs 실제 정답률(세로) — 신뢰도 곡선
1.0 0 모델이 말한 확신도 →
완벽 보정(대각선) JEV · 대각선에 일치 LLM · 대각선 아래(과신)

💡 자동화는 "확신 높으면 자동 처리, 낮으면 사람에게"로 돌아갑니다. 확신도 자체를 믿을 수 없으면 이 에스컬레이션 로직이 통째로 무너집니다.

정리

1-2강 한 장 요약

Next up

1-3강에서는 이 4가지 한계를 정면으로 겨냥한 JEV의 전체 그림을 한눈에 봅니다. 타입 안전·병렬·캘리브레이션이라는 세 기둥이 어떻게 맞물리는지, 그리고 무엇이 "무료로 취급될 만큼 싸졌는지"를 미리 그려봅니다.