분류 모델 Jev 는 정확도는 아쉽지만, 확신 0.7 관문으로 걸자 오답이 0건이었습니다
사내 문서 지식그래프 검색 도구의 검색은 문서마다 매겨 둔 값 두 개에 기대고 있습니다. 「문서 종류」는 제안서·주간보고·참고자료 같은 22개 선택지 중 하나이고, 「저자 편」은 우리 쪽인지 발주처나 다른 수행사 쪽인지를 5개 선택지 중 하나로 매깁니다. 근거를 찾을 때 이 두 값으로 필터를 거는데, 이 값이 돌릴 때마다 바뀝니다.
같은 LLM 으로 같은 문서를 두 번 분류하면 문서 종류가 88%만 같았습니다. 모델을 바꿔 돌리면 20건 중 4건이 갈렸습니다. 문제는 어느 12%가 흔들리는지를 모른다는 것이었습니다. 그런 값은 필터에도 집계에도 못 씁니다.
흔들리는 값을 집계 재료로 못 쓴다는 건 전에도 겪었습니다. 그때는 그 값을 빼는 쪽으로 끝냈습니다. 이번에는 빼는 대신, 흔들리는 자리를 미리 알 수 있는지를 재보기로 했습니다.
문장을 안 만드는 모델이 열렸다
마침 TypeSafe 의 Jev 가 얼리액세스로 열렸습니다. 문장을 만들지 않고 선택지별 확률만 돌려주는 분류 전용 모델입니다. SDK 의 `Choice` 질문형으로 선택지 목록을 주면 고른 답과 그 답의 확신 값이 같이 옵니다.
문장을 안 만드니 회차 간 흔들림도 없을 거라고 기대했습니다. 실험은 운영 중인 파이프라인의 본문 조립 로직·선택지 목록·규칙 층(파일명이나 문서 종류만으로 답이 확정되는 건을 모델 없이 판정하는 단계)을 따로 흉내 내지 않고 그대로 불러 썼습니다. 표본은 이전 비교와 같은 20건입니다.
문서당 2회씩 돌려 회차 간 일치율을 봤습니다
기준선 하나는 이전 비교에 썼던 Gemini flash 의 결과값입니다
기준선 둘은 지금 운영 그래프에 들어 있는 값입니다
v1 — 흔들렸는데, 흔들릴 곳이 보였다
v1 은 기존 프롬프트의 요약을 그대로 지시문으로 썼습니다.
항목 | 문서 종류 | 저자 편 |
|---|---|---|
회차 일치 | 18/20 (90%) | 20/20 (100%) |
Gemini flash 와 일치 | 60% | 80% |
운영 그래프와 일치 | 70% | 65% |
회차 일치 90%. 기존 LLM 의 88%와 다를 게 없었습니다. 지연 0.28초에 40회 호출 비용은 Gemini flash 의 30분의 1 수준이었습니다. 싸고 빠른데 흔들리는 건 마찬가지였습니다.
접기 전에 확신 값을 한 줄씩 봤습니다. 회차 간에 답이 뒤집힌 건은 전부 0.19, 0.44 처럼 확신이 낮았습니다. 0.7 이상에서는 뒤집힌 건이 한 건도 없었습니다. 「안 흔들린다」가 아니라 「흔들릴 곳을 미리 안다」가 이 모델의 값이었습니다.

그러면 문턱 하나로 자동과 보류를 가를 수 있습니다. 기존 LLM 은 두 번 돌리면 88%만 같다는 것까지는 알아도 어느 12%가 흔들리는지는 알 수 없었습니다. Jev 는 「이 건은 자신 없다」를 건마다 숫자로 같이 줍니다.
지시문 한 문단이 오답을 보류 칸으로 밀었다
틀린 건은 한 패턴이었습니다. 외부 강연 자료와 벤더 교육 소개를 형식만 보고 「발표자료」로 고르고 있었습니다. 그런데 이 문서 종류 체계는 형식 축(발표자료·매뉴얼·보고서)과 출처 축(참고자료)이 한 열에 섞여 있습니다. 외부에서 온 자료는 형식이 무엇이든 「참고자료」로 가야 필터가 뜻대로 움직입니다.
지시문에 판단 순서 한 문단을 넣었습니다. 출처를 먼저 보고, 형식은 그 다음에 본다는 내용입니다. 이것이 v2 입니다.
문서 종류의 회차 일치는 18/20 에서 19/20 으로, Gemini flash 와의 일치는 60%에서 80%로 올랐습니다. 저자 편은 지시문을 안 건드려 그대로였습니다.
형식만 보고 틀리던 건들의 확신이 떨어져 스스로 보류 칸으로 갔습니다. 지시문 수정의 효과를 맞았다·틀렸다가 아니라 확률 변화로 셀 수 있었습니다.
사람이 정답을 매기자 순위가 뒤집혔다
본문을 하나씩 읽어 20건에 정답을 매겼습니다. 세 모델의 답을 이미 본 뒤라 눈가림은 아니었습니다. 문서 종류는 17건 확실·3건 애매, 저자 편은 16건 확실·4건 애매로 갈렸습니다.
확실한 라벨만으로 비교하면 문턱 없이는 Gemini flash 가 더 정확했습니다. 문서 종류 100% 대 88%, 저자 편 93% 대 81% 였습니다. 그런데 확신 문턱을 걸면 그림이 달라졌습니다.
v2 + 문턱 | 채택 | 채택분 정답 | 보류 |
|---|---|---|---|
문서 종류 ≥0.7 | 12/20 | 12/12 | 8건 |
저자 편 ≥0.7 + 규칙 | 8/20 | 7/7 | 12건 |
저자 편 ≥0.6 + 규칙 | 13/20 | 10/11 (오답 1건) | 7건 |
「+ 규칙」은 모델 없이 규칙 층이 확정한 3건을 채택에 더한 것입니다. 「채택분 정답」의 분모가 채택 수보다 작은 것은 사람이 「애매」로 매긴 건을 빼고 확실한 라벨만 셌기 때문입니다.
0.7 문턱에서는 채택된 것 안에 오답이 없었습니다. 대신 절반 안팎이 보류로 빠졌습니다. 0.6 으로 내리면 채택이 늘어나는 대신 첫 오답이 나옵니다. 정확도로는 진 모델이 관문으로는 이기는 구조입니다.

남은 오답 세 건은 한 방향이었다
저자 편 오답 3건은 전부 발주처 자료와 외부 자료를 「우리 쪽」으로 판정한 것이었습니다. 지시문에 「발주처 내부 자료는 상대 편」 한 줄을 더해 v3 를 돌렸습니다.
저자 편 v3 | 채택 | 채택분 정답 | 보류 |
|---|---|---|---|
≥0.7 + 규칙 | 11/20 | 11/11 | 9건 |
≥0.6 + 규칙 | 13/20 | 11/11 | 7건 |
「+ 규칙」과 「채택분 정답」의 기준은 앞 표와 같습니다.
문턱 없이 본 전체 정답률은 13/16 으로 v2 와 같았습니다. 고쳐진 오답은 확신이 오르며 채택 쪽으로 왔고, 여전히 틀리는 건은 확신이 낮게 나와 보류 쪽으로 밀렸습니다. 정확도가 아니라 보정이 좋아진 것입니다.
대체가 아니라 관문으로 쓴다
확신이 문턱 이상이면 그 값을 그대로 채택하고, 미만이면 지금처럼 LLM 파이프라인으로 넘깁니다. 실측대로라면 문서 종류는 호출의 60%, 저자 편은 55% 안팎이 관문을 통과합니다.
보류 건에는 확신 상위 선택지가 같이 붙어 나와 LLM 이 판정할 때 참고 신호가 됩니다.

아직 파이프라인 반영 전입니다. 남은 것은 눈가림 정답표와 표본 확대입니다. 표본이 20건뿐이고, 운영 중인 문서 종류 22개 중 절반가량은 이 표본에 등장하지 않습니다.
분류 모델은 답이 아니라 확신을 판다
확신 신호가 없는 분류기는 정확도가 90%든 95%든 집계와 필터의 재료로 못 씁니다. 어느 건이 틀렸는지 모르니 전량을 믿거나 전량을 의심하는 수밖에 없기 때문입니다. 확신이 붙는 순간 문턱 하나로 자동과 수동이 갈리고, 그때 값이 생깁니다.
선택지 체계에 형식과 출처처럼 다른 축이 섞여 있으면 어떤 모델을 붙여도 거기서 갈립니다. 모델 교체보다 판단 순서가 먼저입니다
지시문을 고쳤으면 정확도만 보지 않고 오답의 확신이 어디로 갔는지를 봅니다. 문턱 아래로 내려갔으면 정확도가 그대로여도 관문으로는 성공입니다
여러 선택지 중 하나를 고르는 자리라면 어디든 같은 모양으로 옮길 수 있습니다. 검색 도구를 고르는 라우팅, 근거 조각의 관련성 판정, 태그 부착이 그렇습니다. 반대로 요약·OCR 처럼 문장 자체를 만드는 작업에는 맞지 않습니다.
라우팅 쪽은 도구를 잘못 골랐을 때 답변까지 망가지지 않게 막아 둔 자리가 이미 있습니다. 그 판정을 확신이 붙는 선택 질문으로 바꾸면 같은 관문이 됩니다.
근거 조각의 관련성 판정도 마찬가지입니다. 검색 품질을 LLM 이 판단하게 했던 자리를 확률 질문으로 바꾸면 거기에도 문턱을 걸 수 있습니다.
분류 모델을 붙이기 전에 볼 것
그 모델이 답과 함께 확신 값을 주는가. 안 주면 문턱을 걸 수 없습니다
같은 입력을 두 번 돌린 회차 일치율을 쟀는가. 그 아래의 모델 간 차이는 비교할 가치가 없습니다
채택률과 채택분 정답률을 따로 보는가. 정확도 한 숫자로는 관문의 값이 안 보입니다
보류 건이 어디로 가는지 정해 뒀는가. 받는 쪽이 있어야 관문이 됩니다
확실한 라벨 기준 정답률 88%짜리 모델을 100%짜리 모델 앞에 세웠습니다. 답을 더 잘 맞혀서가 아니라, 자기가 언제 틀릴지를 건마다 숫자로 말해 주기 때문입니다. 채택된 12건 안에서 오답은 0건이고, 나머지 8건은 뒤의 모델이 받습니다. 분류 모델을 고를 때는 정확도 표 옆에 확신 분포를 같이 놓고 봅니다.
덧 — 같은 날 저녁, 300건으로 다시 재봤습니다
위 결과는 20건 표본입니다. 같은 지시문으로 300건을 두 번씩 돌리니 「확신이 흔들릴 곳을 가리킨다」는 그대로였습니다. 회차 간 뒤집힌 16건이 전부 확신 0.5 아래였고, 0.5 이상은 한 건도 안 뒤집혔습니다.
그런데 「0.7 이상이면 오답 0」은 20건에서만 성립했습니다. 300건에서 확신 0.7 이상 채택분이 기존 라벨과 일치한 비율은 문서 종류 80%(110/136), 저자 편 83%(118/142)였고, 문턱을 0.9 로 올리면 문서 종류 96%(64/66)였습니다. 불일치의 절반쯤은 종류 체계가 형식과 내용 중 어느 쪽을 볼지 정해 두지 않은 자리라 기존 라벨도 정답은 아닙니다. 그래서 눈가림 정답표 57건을 따로 만들어 두었고, 그걸 채우기 전에는 「0.7 이상은 오답 0」이라고 말하지 않겠습니다. 문턱의 자리는 표본이 커질수록 위로 올라갈 수 있다는 것까지가 지금 아는 것입니다.
응용 자리로 적은 「검색 도구를 고르는 라우팅」도 실측해 보니 맞지 않았습니다. 그 호출은 도구를 고르기만 하는 게 아니라 이어 묻는 턴의 「찾을 말」을 한 문장으로 만드는 일을 같이 해서, 고르기만 하는 모델로는 대체가 안 됩니다. 고르기와 문장 만들기가 한 호출에 묶여 있는 자리가 생각보다 많았습니다.