지난주 TypeSafe AI가 공개한 Jev는 스스로를 '첫 번째 System One 모델'이라고 부른다. 대화하지 않고, 글을 쓰지 않으며, 단계별로 추론하지도 않는다. 입력에 대한 구조화된 질문에 단 한 번의 순전파(single forward pass)로 답하고, 모든 답에는 확률이 붙는다. 언론 보도는 대부분 속도에 초점을 맞췄지만, 한 ML 엔지니어의 분석은 더 흥미로운 지점을 짚는다. 바로 캘리브레이션(calibration), 즉 모델이 내놓는 확률이 실제 정답률과 얼마나 일치하는가의 문제다. 그의 표현을 빌리면, 캘리브레이션은 그동안 그가 프로덕션에 올린 모든 분류기를 조용히 발목 잡아 온 요소였다.
Jev의 성격은 제약을 함께 봐야 분명해진다. 자유 텍스트를 생성할 수 없고, 선택형 질문은 최대 255개 옵션까지만 지원하며, 아직 이미지 입력도 받지 못한다. 가격은 입력 토큰 100만 개당 0.042달러이고 출력 토큰은 무료이며, 접근은 현재 대기자 명단을 통해서만 열린다. 이 조건을 종합하면 Jev는 '작은 GPT'가 아니다. 비정형 입력을 읽어 타입이 정해진 결정을 신뢰 가능한 확신도와 함께 돌려주는, 매우 빠르고 범용적인 표(tabular) 분류기에 가깝다.
정확도가 속이는 자리, 랭킹과 확률이 드러내는 것
왜 캘리브레이션이 핵심인지는 저자 자신의 IEEE COMPSAC 2026 논문이 잘 보여준다. 그는 제출 시점의 신호만으로 풀 리퀘스트(PR)의 병합 여부를 예측했다. 랜덤 포레스트의 F1은 0.958이었다. 그런데 모든 PR을 '병합됨'으로 찍는 다수 클래스 기준선의 F1도 0.957이었다. 쓸모 있는 모델과 무용한 모델을 실제로 갈라낸 지표는 ROC-AUC였다. 포레스트가 0.676, 기준선이 0.500이었다. 그럼에도 저자는 논문에 이 모델들을 '완벽하게 캘리브레이션된 확률 모델로 취급해서는 안 되며' 자동 승인·거부가 아니라 분류(triage)에 적합하다고 명시했다. 이는 특정 데이터셋의 특이점이 아니라 프로덕션 분류기의 전형적인 모습이다.
표준적인 해법은 사후 보정이다. 플랫 스케일링, 아이소토닉 회귀, 온도 스케일링 같은 방법들이 그것이다. 잘 작동하지만, 이들은 결국 데이터가 바뀌면 함께 흔들리는 별도의 피팅된 부품이다. Jev의 주장은 확률이 모델에서 나올 때부터 이미 정직하다는 것이다. 정직함 자체가 학습 목표였기 때문이다. 만약 이 주장이 TypeSafe 자체 벤치마크 바깥의 과제에서도 성립한다면, 프로덕션 ML 시스템에서 보정 계층이라는 접착제 한 겹을 통째로 걷어낼 수 있다. 저자가 강조하듯 문제의 전부는 이 '만약'에 있고, 그것은 검증 가능한 명제다.
실무 스택 어디에 앉을 것인가
저자는 도매 유통업의 ML을 다룬다. 대부분은 대화가 아니라 두 시스템 사이에 끼어 반복되는 작은 결정들이다. 여기서 패턴은 분명하다. LLM이 사실상 '채팅 옷을 입은 분류' 작업을 하고 있는 자리라면, System One 모델은 지연 시간과 비용을 두 자릿수 배수로 줄이는 대체재가 될 수 있다. 자유 텍스트 입력 탓에 계속 깨지는 손수 짠 규칙이 있는 자리에서도 마찬가지다. 반대로 생성이나 최적화가 목적인 작업이라면 잘못된 도구이고, 이 점은 TypeSafe 스스로도 인정한다. ERP 연동 관점의 매력도 크다. {"is_exception": 0.93}을 100밀리초에 돌려주는 모델은 요청 경로 안에 앉을 수 있지만, 4초 만에 문단을 내놓는 LLM은 그 옆 대기열에 서야 한다. 이 차이가 ML을 기능으로 만들지, 배치 작업으로 남길지를 가른다.
홍보 문구는 회의적으로 읽어야 한다
출시 자료의 몇몇 표현은 걸러 들을 필요가 있다. '제로 환각(zero hallucination)'이 보장하는 것은 출력 타입이 항상 유효하다는 사실뿐이다. 다섯 개 범주를 요청하면 다섯 개 중 하나가, 합이 1인 확률과 함께 나온다. 이는 실제로 유용하며 LLM의 구조화 출력 모드가 근사치로만 흉내 내던 부분이다. 그러나 선택된 범주가 옳은지는 전혀 보장하지 않는다. 유효한 스키마 안의 자신만만하게 틀린 답도 여전히 틀린 답이다. 정직한 표현은 '제로 스키마 오류'이며, 나머지를 메우는 것은 결국 캘리브레이션이다. 또한 캘리브레이션은 모델과 데이터셋이 함께 만드는 성질이므로, 학습·벤치마크 분포에서 잘 맞아도 사용자의 분포에서는 크게 어긋날 수 있다. 저자가 신뢰할 유일한 숫자는 자신의 데이터에서 측정한 값이다.
'LLM 대비 분류 200배 빠름'이라는 문구도 사실이지만 다소 불공정하다. 많은 작업에서 올바른 비교 대상은 LLM이 아니라, 역시 밀리초 이하이고 무료인 경사 부스팅 트리이기 때문이다. 의미 있는 비교는 고전적 표 모델, LLM을 분류기로 쓴 경우, 그리고 Jev를 같은 과제 위에서 정확도·랭킹·캘리브레이션·지연·비용의 세 갈래로 나란히 재는 것이다. 저자는 이를 위한 시험대를 이미 갖고 있다. 논문의 PR 승인 파이프라인은 누수를 통제했고, 고정된 5겹 분할과 캘리브레이션 약점이 알려진 트리 기준선을 이미 공개해 두었다.
실험 설계도 구체적이다. 과제는 논문의 RQ1과 동일하게 제출 시점의 PR로 병합 대 미병합을 예측하는 것이다. Jev의 상태값에는 PR 제목과 본문, 트리가 보는 것과 같은 제출 시점 메타데이터와 diff 통계를 텍스트로 직렬화해 넣되, 댓글·CI·이후 커밋처럼 제출 이후 정보는 넣지 않는다. 질문은 '이 PR은 병합될 것이다'라는 noul 하나이며, 선택적으로 의도 태그(fix, feature, refactor, docs)에 대한 choice 질문을 더해 Jev의 의도 해석이 키워드 규칙과 일치하는지 본다. 기준선은 400그루 랜덤 포레스트, 같은 포레스트에 겹 내부에서 아이소토닉 보정을 입힌 버전, 그리고 구조화 출력으로 같은 질문을 던진 프런티어 LLM이다. 지표는 F1만이 아니라 랭킹과 캘리브레이션, 즉 Brier 점수와 ECE다.
결론을 뒤집을 조건도 명확하다. Jev가 사후 보정 없이 포레스트의 AUC를 따라잡으면서 Brier와 ECE에서 보정된 포레스트마저 이긴다면, 캘리브레이션 주장은 TypeSafe가 본 적 없는 분포에서 참이며 저자는 실무의 분류형 LLM 호출을 옮기기 시작할 것이다. 보정 안 한 포레스트는 이겨도 보정한 포레스트를 못 이긴다면, 그것은 역량이 아니라 편의에 그친다. AUC가 유의미하게 낮다면 속도는 의미가 없다. System One 모델이라는 발상 자체는 타당하다. 소프트웨어가 ML에 요구하는 결정 대부분은 작고 구조적이며 지연에 민감한데, 대화 모델은 그 일에 어울리지 않는 도구다. 다만 Jev가 캘리브레이션 약속을 지키는지는 어디까지나 경험적 질문이고, 그 답은 벤치마크가 아니라 각자의 데이터에서 측정될 때에만 신뢰할 수 있다.